diff --git a/README.md b/README.md index df4e3b6d27..755c14e655 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@

Latest Release:
- Analysis 1.123.0 | Visualization 1.124.1 + Analysis 1.123.0 | Visualization 1.125.0 [comment]: ################################################################################## [comment]: diff --git a/gh-pages/_posts/release/2024-04-24-vis_1_125_0.md b/gh-pages/_posts/release/2024-04-24-vis_1_125_0.md new file mode 100644 index 0000000000..0e3c2e6905 --- /dev/null +++ b/gh-pages/_posts/release/2024-04-24-vis_1_125_0.md @@ -0,0 +1,30 @@ +--- +categories: + - Release +tags: + - gh-pages + - release + - visualization + +title: Visualization version 1.125.0 +--- + +{{page.title}} is live and ready for [download](https://github.com/MaibornWolff/codecharta/releases/tag/vis-1.125.0). +This version brings the following: + +### Added 🚀 + +- Add search bar for custom configs [#3529](https://github.com/MaibornWolff/codecharta/pull/3529) +- Automatically reverse the metric direction for those where higher values indicate better codequality, such as `branch_coverage` [#3518](https://github.com/MaibornWolff/codecharta/pull/3518) +- Display summary metrics for root node as default [#3525](https://github.com/MaibornWolff/codecharta/pull/3525) +- Remove whitespace on screenshots [#3527](https://github.com/MaibornWolff/codecharta/pull/3527) + +### Fixed 🐞 + +- Fix small style issues [#3544](https://github.com/MaibornWolff/codecharta/pull/3544) +- Fix key handling for selection metrics [#3546](https://github.com/MaibornWolff/codecharta/pull/3546) +- Fix applying default metric templates to ensure options reset correctly [#3560](https://github.com/MaibornWolff/codecharta/pull/3560) + +### Chore 👨‍💻 👩‍💻 + +- Update angular to v17 diff --git a/gh-pages/visualization/app/3rdpartylicenses.txt b/gh-pages/visualization/app/3rdpartylicenses.txt index 973e77ca1e..d4cf5a6a01 100644 --- a/gh-pages/visualization/app/3rdpartylicenses.txt +++ b/gh-pages/visualization/app/3rdpartylicenses.txt @@ -5,7 +5,7 @@ MIT MIT The MIT License -Copyright (c) 2023 Google LLC. +Copyright (c) 2024 Google LLC. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -39,7 +39,7 @@ MIT MIT The MIT License -Copyright (c) 2023 Google LLC. +Copyright (c) 2024 Google LLC. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/gh-pages/visualization/app/index.html b/gh-pages/visualization/app/index.html index d166a2c53b..92688b756e 100644 --- a/gh-pages/visualization/app/index.html +++ b/gh-pages/visualization/app/index.html @@ -6,9 +6,9 @@ img-src 'self' https://* data:;"> - + - + diff --git a/gh-pages/visualization/app/main.6634e5483b533172.js b/gh-pages/visualization/app/main.6634e5483b533172.js new file mode 100644 index 0000000000..e7b2cebaf4 --- /dev/null +++ b/gh-pages/visualization/app/main.6634e5483b533172.js @@ -0,0 +1 @@ +(self.webpackChunkvisualization=self.webpackChunkvisualization||[]).push([[792],{1359:(ct,At,A)=>{"use strict";var K={};function te(t,n,e,i,r,o,s){try{var a=t[o](s),c=a.value}catch(l){return void e(l)}a.done?n(c):Promise.resolve(c).then(i,r)}function m(t){return function(){var n=this,e=arguments;return new Promise(function(i,r){var o=t.apply(n,e);function s(c){te(o,i,r,s,a,"next",c)}function a(c){te(o,i,r,s,a,"throw",c)}s(void 0)})}}function de(t,n){return Object.is(t,n)}A.r(K),A.d(K,{ACESFilmicToneMapping:()=>eK,AddEquation:()=>mp,AddOperation:()=>Y7,AdditiveAnimationBlendMode:()=>ZP,AdditiveBlending:()=>RP,AlphaFormat:()=>cK,AlwaysDepth:()=>z7,AlwaysStencilFunc:()=>nX,AmbientLight:()=>ox,AmbientLightProbe:()=>DY,AnimationClip:()=>Zw,AnimationLoader:()=>_ke,AnimationMixer:()=>zY,AnimationObjectGroup:()=>QY,AnimationUtils:()=>to,ArcCurve:()=>KO,ArrayCamera:()=>ik,ArrowHelper:()=>iq,Audio:()=>mN,AudioAnalyser:()=>UY,AudioContext:()=>hN,AudioListener:()=>Rke,AudioLoader:()=>BY,AxesHelper:()=>xN,AxisHelper:()=>RTe,BackSide:()=>Uo,BasicDepthPacking:()=>JK,BasicShadowMap:()=>o1e,BinaryTextureLoader:()=>UTe,Bone:()=>Hw,BooleanKeyframeTrack:()=>Bp,BoundingBoxHelper:()=>LTe,Box2:()=>Vb,Box3:()=>ms,Box3Helper:()=>tTe,BoxBufferGeometry:()=>El,BoxGeometry:()=>El,BoxHelper:()=>yN,BufferAttribute:()=>kn,BufferGeometry:()=>En,BufferGeometryLoader:()=>SY,ByteType:()=>nK,Cache:()=>Dp,Camera:()=>Ff,CameraHelper:()=>eTe,CanvasRenderer:()=>VTe,CanvasTexture:()=>LO,CatmullRomCurve3:()=>JO,CineonToneMapping:()=>J7,CircleBufferGeometry:()=>fk,CircleGeometry:()=>fk,ClampToEdgeWrapping:()=>_a,Clock:()=>fN,Color:()=>Qt,ColorKeyframeTrack:()=>WO,CompressedTexture:()=>RO,CompressedTextureLoader:()=>jO,ConeBufferGeometry:()=>mk,ConeGeometry:()=>mk,CubeCamera:()=>ZS,CubeReflectionMapping:()=>ow,CubeRefractionMapping:()=>sw,CubeTexture:()=>Eb,CubeTextureLoader:()=>pY,CubeUVReflectionMapping:()=>ab,CubeUVRefractionMapping:()=>aw,CubicBezierCurve:()=>Uk,CubicBezierCurve3:()=>Hk,CubicInterpolant:()=>Ik,CullFaceBack:()=>BP,CullFaceFront:()=>k7,CullFaceFrontBack:()=>r1e,CullFaceNone:()=>S7,Curve:()=>Ea,CurvePath:()=>bY,CustomBlending:()=>F7,CustomToneMapping:()=>tK,CylinderBufferGeometry:()=>Pb,CylinderGeometry:()=>Pb,Cylindrical:()=>jke,DataTexture:()=>Mb,DataTexture2DArray:()=>EO,DataTexture3D:()=>MO,DataTextureLoader:()=>Pk,DataUtils:()=>rTe,DecrementStencilOp:()=>A1e,DecrementWrapStencilOp:()=>b1e,DefaultLoadingManager:()=>mY,DepthFormat:()=>gp,DepthStencilFormat:()=>ub,DepthTexture:()=>aY,DirectionalLight:()=>Lp,DirectionalLightHelper:()=>Jke,DiscreteInterpolant:()=>Dk,DodecahedronBufferGeometry:()=>pk,DodecahedronGeometry:()=>pk,DoubleSide:()=>iw,DstAlphaFactor:()=>O7,DstColorFactor:()=>U7,DynamicBufferAttribute:()=>CTe,DynamicCopyUsage:()=>I1e,DynamicDrawUsage:()=>yp,DynamicReadUsage:()=>T1e,EdgesGeometry:()=>OO,EdgesHelper:()=>PTe,EllipseCurve:()=>Jw,EqualDepth:()=>W7,EqualStencilFunc:()=>w1e,EquirectangularReflectionMapping:()=>ES,EquirectangularRefractionMapping:()=>MS,Euler:()=>Ep,EventDispatcher:()=>Nu,ExtrudeBufferGeometry:()=>$u,ExtrudeGeometry:()=>$u,FaceColors:()=>fTe,FileLoader:()=>Kc,FlatShading:()=>DP,Float16BufferAttribute:()=>Ew,Float32Attribute:()=>ITe,Float32BufferAttribute:()=>pn,Float64Attribute:()=>DTe,Float64BufferAttribute:()=>Mw,FloatType:()=>Ou,Fog:()=>Rw,FogExp2:()=>Dw,Font:()=>uN,FontLoader:()=>Bke,FrontSide:()=>ob,Frustum:()=>Tw,GLBufferAttribute:()=>bN,GLSL1:()=>R1e,GLSL3:()=>nO,GammaEncoding:()=>BS,GreaterDepth:()=>j7,GreaterEqualDepth:()=>$7,GreaterEqualStencilFunc:()=>M1e,GreaterStencilFunc:()=>C1e,GridHelper:()=>JY,Group:()=>ks,HalfFloatType:()=>uw,HemisphereLight:()=>nN,HemisphereLightHelper:()=>qke,HemisphereLightProbe:()=>IY,IcosahedronBufferGeometry:()=>wk,IcosahedronGeometry:()=>wk,ImageBitmapLoader:()=>dN,ImageLoader:()=>Lk,ImageUtils:()=>wp,ImmediateRenderObject:()=>lx,IncrementStencilOp:()=>p1e,IncrementWrapStencilOp:()=>g1e,InstancedBufferAttribute:()=>zk,InstancedBufferGeometry:()=>ax,InstancedInterleavedBuffer:()=>gN,InstancedMesh:()=>lk,Int16Attribute:()=>kTe,Int16BufferAttribute:()=>xw,Int32Attribute:()=>FTe,Int32BufferAttribute:()=>Cw,Int8Attribute:()=>ETe,Int8BufferAttribute:()=>vw,IntType:()=>rK,InterleavedBuffer:()=>Ka,InterleavedBufferAttribute:()=>Df,Interpolant:()=>wc,InterpolateDiscrete:()=>hw,InterpolateLinear:()=>fw,InterpolateSmooth:()=>TS,InvertStencilOp:()=>_1e,JSONLoader:()=>QTe,KeepStencilOp:()=>DS,KeyframeTrack:()=>Sl,LOD:()=>FO,LatheBufferGeometry:()=>xk,LatheGeometry:()=>xk,Layers:()=>dO,LensFlare:()=>GTe,LessDepth:()=>G7,LessEqualDepth:()=>xS,LessEqualStencilFunc:()=>x1e,LessStencilFunc:()=>y1e,Light:()=>Tl,LightProbe:()=>sx,Line:()=>wa,Line3:()=>jY,LineBasicMaterial:()=>es,LineCurve:()=>nx,LineCurve3:()=>gY,LineDashedMaterial:()=>GO,LineLoop:()=>IO,LinePieces:()=>uTe,LineSegments:()=>xa,LineStrip:()=>dTe,LinearEncoding:()=>ya,LinearFilter:()=>Mo,LinearInterpolant:()=>Xw,LinearMipMapLinearFilter:()=>d1e,LinearMipMapNearestFilter:()=>l1e,LinearMipmapLinearFilter:()=>cb,LinearMipmapNearestFilter:()=>VP,LinearToneMapping:()=>q7,Loader:()=>ko,LoaderUtils:()=>lN,LoadingManager:()=>$O,LogLuvEncoding:()=>ZK,LoopOnce:()=>KK,LoopPingPong:()=>YK,LoopRepeat:()=>XK,LuminanceAlphaFormat:()=>dK,LuminanceFormat:()=>lK,MOUSE:()=>n1e,Material:()=>eo,MaterialLoader:()=>MY,Math:()=>Yn,MathUtils:()=>Yn,Matrix3:()=>fs,Matrix4:()=>Tn,MaxEquation:()=>NP,Mesh:()=>Ti,MeshBasicMaterial:()=>Cd,MeshDepthMaterial:()=>tk,MeshDistanceMaterial:()=>nk,MeshFaceMaterial:()=>pTe,MeshLambertMaterial:()=>Ub,MeshMatcapMaterial:()=>zO,MeshNormalMaterial:()=>Bk,MeshPhongMaterial:()=>Fk,MeshPhysicalMaterial:()=>Pf,MeshStandardMaterial:()=>Md,MeshToonMaterial:()=>QO,MinEquation:()=>OP,MirroredRepeatWrapping:()=>cw,MixOperation:()=>X7,MultiMaterial:()=>ATe,MultiplyBlending:()=>PP,MultiplyOperation:()=>rw,NearestFilter:()=>hs,NearestMipMapLinearFilter:()=>c1e,NearestMipMapNearestFilter:()=>a1e,NearestMipmapLinearFilter:()=>kS,NearestMipmapNearestFilter:()=>SS,NeverDepth:()=>Q7,NeverStencilFunc:()=>v1e,NoBlending:()=>Pu,NoColors:()=>hTe,NoToneMapping:()=>pp,NormalAnimationBlendMode:()=>FS,NormalBlending:()=>sb,NotEqualDepth:()=>K7,NotEqualStencilFunc:()=>E1e,NumberKeyframeTrack:()=>Yw,Object3D:()=>Vn,ObjectLoader:()=>Ske,ObjectSpaceNormalMap:()=>tX,OctahedronBufferGeometry:()=>$w,OctahedronGeometry:()=>$w,OneFactor:()=>R7,OneMinusDstAlphaFactor:()=>N7,OneMinusDstColorFactor:()=>H7,OneMinusSrcAlphaFactor:()=>HP,OneMinusSrcColorFactor:()=>P7,OrthographicCamera:()=>Rp,PCFShadowMap:()=>IP,PCFSoftShadowMap:()=>T7,PMREMGenerator:()=>sTe,ParametricBufferGeometry:()=>Fp,ParametricGeometry:()=>Fp,Particle:()=>bTe,ParticleBasicMaterial:()=>yTe,ParticleSystem:()=>_Te,ParticleSystemMaterial:()=>wTe,Path:()=>ix,PerspectiveCamera:()=>So,Plane:()=>wl,PlaneBufferGeometry:()=>Bf,PlaneGeometry:()=>Bf,PlaneHelper:()=>nTe,PointCloud:()=>gTe,PointCloudMaterial:()=>vTe,PointLight:()=>sN,PointLightHelper:()=>Xke,Points:()=>Lb,PointsMaterial:()=>Tp,PolarGridHelper:()=>Zke,PolyhedronBufferGeometry:()=>Rf,PolyhedronGeometry:()=>Rf,PositionalAudio:()=>Pke,PropertyBinding:()=>ea,PropertyMixer:()=>HY,QuadraticBezierCurve:()=>Vk,QuadraticBezierCurve3:()=>eN,Quaternion:()=>Ms,QuaternionKeyframeTrack:()=>Hb,QuaternionLinearInterpolant:()=>Rk,REVISION:()=>FP,RGBADepthPacking:()=>eX,RGBAFormat:()=>va,RGBAIntegerFormat:()=>gK,RGBA_ASTC_10x10_Format:()=>FK,RGBA_ASTC_10x5_Format:()=>SK,RGBA_ASTC_10x6_Format:()=>kK,RGBA_ASTC_10x8_Format:()=>TK,RGBA_ASTC_12x10_Format:()=>BK,RGBA_ASTC_12x12_Format:()=>IK,RGBA_ASTC_4x4_Format:()=>_K,RGBA_ASTC_5x4_Format:()=>vK,RGBA_ASTC_5x5_Format:()=>yK,RGBA_ASTC_6x5_Format:()=>wK,RGBA_ASTC_6x6_Format:()=>xK,RGBA_ASTC_8x5_Format:()=>CK,RGBA_ASTC_8x6_Format:()=>EK,RGBA_ASTC_8x8_Format:()=>MK,RGBA_BPTC_Format:()=>DK,RGBA_ETC2_EAC_Format:()=>qP,RGBA_PVRTC_2BPPV1_Format:()=>XP,RGBA_PVRTC_4BPPV1_Format:()=>KP,RGBA_S3TC_DXT1_Format:()=>zP,RGBA_S3TC_DXT3_Format:()=>GP,RGBA_S3TC_DXT5_Format:()=>WP,RGBDEncoding:()=>tO,RGBEEncoding:()=>IS,RGBEFormat:()=>uK,RGBFormat:()=>wf,RGBIntegerFormat:()=>AK,RGBM16Encoding:()=>eO,RGBM7Encoding:()=>JP,RGB_ETC1_Format:()=>bK,RGB_ETC2_Format:()=>YP,RGB_PVRTC_2BPPV1_Format:()=>jP,RGB_PVRTC_4BPPV1_Format:()=>$P,RGB_S3TC_DXT1_Format:()=>QP,RGFormat:()=>mK,RGIntegerFormat:()=>pK,RawShaderMaterial:()=>Nb,Ray:()=>Vu,Raycaster:()=>cx,RectAreaLight:()=>aN,RedFormat:()=>hK,RedIntegerFormat:()=>fK,ReinhardToneMapping:()=>Z7,RepeatWrapping:()=>Ap,ReplaceStencilOp:()=>m1e,ReverseSubtractEquation:()=>I7,RingBufferGeometry:()=>Ck,RingGeometry:()=>Ck,SRGB8_ALPHA8_ASTC_10x10_Format:()=>WK,SRGB8_ALPHA8_ASTC_10x5_Format:()=>QK,SRGB8_ALPHA8_ASTC_10x6_Format:()=>zK,SRGB8_ALPHA8_ASTC_10x8_Format:()=>GK,SRGB8_ALPHA8_ASTC_12x10_Format:()=>$K,SRGB8_ALPHA8_ASTC_12x12_Format:()=>jK,SRGB8_ALPHA8_ASTC_4x4_Format:()=>RK,SRGB8_ALPHA8_ASTC_5x4_Format:()=>LK,SRGB8_ALPHA8_ASTC_5x5_Format:()=>PK,SRGB8_ALPHA8_ASTC_6x5_Format:()=>OK,SRGB8_ALPHA8_ASTC_6x6_Format:()=>NK,SRGB8_ALPHA8_ASTC_8x5_Format:()=>UK,SRGB8_ALPHA8_ASTC_8x6_Format:()=>HK,SRGB8_ALPHA8_ASTC_8x8_Format:()=>VK,Scene:()=>Tb,SceneUtils:()=>zTe,ShaderChunk:()=>Li,ShaderLib:()=>Ml,ShaderMaterial:()=>Vs,ShadowMaterial:()=>VO,Shape:()=>Of,ShapeBufferGeometry:()=>jw,ShapeGeometry:()=>jw,ShapePath:()=>FY,ShapeUtils:()=>Wu,ShortType:()=>iK,Skeleton:()=>Vw,SkeletonHelper:()=>XY,SkinnedMesh:()=>Uw,SmoothShading:()=>s1e,Sphere:()=>xd,SphereBufferGeometry:()=>Kw,SphereGeometry:()=>Kw,Spherical:()=>$ke,SphericalHarmonics3:()=>cN,SplineCurve:()=>Qk,SpotLight:()=>rN,SpotLightHelper:()=>Kke,Sprite:()=>Rb,SpriteMaterial:()=>Lw,SrcAlphaFactor:()=>UP,SrcAlphaSaturateFactor:()=>V7,SrcColorFactor:()=>L7,StaticCopyUsage:()=>B1e,StaticDrawUsage:()=>Aw,StaticReadUsage:()=>k1e,StereoCamera:()=>Ike,StreamCopyUsage:()=>D1e,StreamDrawUsage:()=>S1e,StreamReadUsage:()=>F1e,StringKeyframeTrack:()=>Ip,SubtractEquation:()=>B7,SubtractiveBlending:()=>LP,TOUCH:()=>i1e,TangentSpaceNormalMap:()=>vp,TetrahedronBufferGeometry:()=>Ek,TetrahedronGeometry:()=>Ek,TextBufferGeometry:()=>Mk,TextGeometry:()=>Mk,Texture:()=>Jo,TextureLoader:()=>Ok,TorusBufferGeometry:()=>Sk,TorusGeometry:()=>Sk,TorusKnotBufferGeometry:()=>kk,TorusKnotGeometry:()=>kk,Triangle:()=>Ho,TriangleFanDrawMode:()=>h1e,TriangleStripDrawMode:()=>u1e,TrianglesDrawMode:()=>qK,TubeBufferGeometry:()=>Tk,TubeGeometry:()=>Tk,UVMapping:()=>CS,Uint16Attribute:()=>TTe,Uint16BufferAttribute:()=>Mp,Uint32Attribute:()=>BTe,Uint32BufferAttribute:()=>Sp,Uint8Attribute:()=>MTe,Uint8BufferAttribute:()=>yw,Uint8ClampedAttribute:()=>STe,Uint8ClampedBufferAttribute:()=>ww,Uniform:()=>Wk,UniformsLib:()=>Xt,UniformsUtils:()=>qS,UnsignedByteType:()=>lb,UnsignedInt248Type:()=>db,UnsignedIntType:()=>dw,UnsignedShort4444Type:()=>oK,UnsignedShort5551Type:()=>sK,UnsignedShort565Type:()=>aK,UnsignedShortType:()=>lw,VSMShadowMap:()=>rb,Vector2:()=>ut,Vector3:()=>j,Vector4:()=>_r,VectorKeyframeTrack:()=>qw,Vertex:()=>xTe,VertexColors:()=>mTe,VideoTexture:()=>sY,WebGL1Renderer:()=>VX,WebGLCubeRenderTarget:()=>JS,WebGLMultisampleRenderTarget:()=>iX,WebGLRenderTarget:()=>vl,WebGLRenderTargetCube:()=>HTe,WebGLRenderer:()=>vr,WebGLUtils:()=>UX,WireframeGeometry:()=>HO,WireframeHelper:()=>OTe,WrapAroundEnding:()=>mw,XHRLoader:()=>NTe,ZeroCurvatureEnding:()=>bp,ZeroFactor:()=>D7,ZeroSlopeEnding:()=>_p,ZeroStencilOp:()=>f1e,sRGBEncoding:()=>pw});let H=null,U=!1,G=1;const B=Symbol("SIGNAL");function O(t){const n=H;return H=t,n}const z={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function q(t){if(U)throw new Error("");if(null===H)return;H.consumerOnSignalRead(t);const n=H.nextProducerIndex++;Ce(H),nt.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function We(t){Ce(t);for(let n=0;n0}function Ce(t){t.producerNode??=[],t.producerIndexOfThis??=[],t.producerLastReadVersion??=[]}function he(t){t.liveConsumerNode??=[],t.liveConsumerIndexOfThis??=[]}const Ye=Symbol("UNSET"),Le=Symbol("COMPUTING"),ze=Symbol("ERRORED"),et={...z,value:Ye,dirty:!0,error:null,equal:de,producerMustRecompute:t=>t.value===Ye||t.value===Le,producerRecomputeValue(t){if(t.value===Le)throw new Error("Detected cycle in computations.");const n=t.value;t.value=Le;const e=qe(t);let i;try{i=t.computation()}catch(r){i=ze,t.error=r}finally{xe(t,e)}n!==Ye&&n!==ze&&i!==ze&&t.equal(n,i)?t.value=n:(t.value=i,t.version++)}};let xt=function bt(){throw new Error};function on(){xt()}let li=null;function ei(t,n){ye()||on(),t.equal(t.value,n)||(t.value=n,function Ot(t){t.version++,function X(){G++}(),Ne(t),li?.()}(t))}const vt={...z,equal:de,value:void 0};const kt=()=>{},Vt={...z,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:t=>{null!==t.schedule&&t.schedule(t.ref)},hasRun:!1,cleanupFn:kt};function Yt(t){return"function"==typeof t}function yi(t){const e=t(i=>{Error.call(i),i.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}const Ji=yi(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e});function ir(t,n){if(t){const e=t.indexOf(n);0<=e&&t.splice(e,1)}}class zt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(const o of e)o.remove(this);else e.remove(this);const{initialTeardown:i}=this;if(Yt(i))try{i()}catch(o){n=o instanceof Ji?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{Gi(o)}catch(s){n=n??[],s instanceof Ji?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Ji(n)}}add(n){var e;if(n&&n!==this)if(this.closed)Gi(n);else{if(n instanceof zt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(n)}}_hasParent(n){const{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){const{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&ir(e,n)}remove(n){const{_finalizers:e}=this;e&&ir(e,n),n instanceof zt&&n._removeParent(this)}}zt.EMPTY=(()=>{const t=new zt;return t.closed=!0,t})();const Yr=zt.EMPTY;function Tr(t){return t instanceof zt||t&&"closed"in t&&Yt(t.remove)&&Yt(t.add)&&Yt(t.unsubscribe)}function Gi(t){Yt(t)?t():t.unsubscribe()}const je={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ui={setTimeout(t,n,...e){const{delegate:i}=ui;return i?.setTimeout?i.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){const{delegate:n}=ui;return(n?.clearTimeout||clearTimeout)(t)},delegate:void 0};function Nr(t){ui.setTimeout(()=>{const{onUnhandledError:n}=je;if(!n)throw t;n(t)})}function Ur(){}const Fs=Za("C",void 0,void 0);function Za(t,n,e){return{kind:t,value:n,error:e}}let no=null;function Gs(t){if(je.useDeprecatedSynchronousErrorHandling){const n=!no;if(n&&(no={errorThrown:!1,error:null}),t(),n){const{errorThrown:e,error:i}=no;if(no=null,e)throw i}}else t()}class kc extends zt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Tr(n)&&n.add(this)):this.destination=Jf}static create(n,e,i){return new Ja(n,e,i)}next(n){this.isStopped?Ud(function ps(t){return Za("N",t,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Ud(function zo(t){return Za("E",void 0,t)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Ud(Fs,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const __=Function.prototype.bind;function Ma(t,n){return __.call(t,n)}class Sa{constructor(n){this.partialObserver=n}next(n){const{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(i){Zc(i)}}error(n){const{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(i){Zc(i)}else Zc(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){Zc(e)}}}class Ja extends kc{constructor(n,e,i){let r;if(super(),Yt(n)||!n)r={next:n??void 0,error:e??void 0,complete:i??void 0};else{let o;this&&je.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&Ma(n.next,o),error:n.error&&Ma(n.error,o),complete:n.complete&&Ma(n.complete,o)}):r=n}this.destination=new Sa(r)}}function Zc(t){je.useDeprecatedSynchronousErrorHandling?function Ul(t){je.useDeprecatedSynchronousErrorHandling&&no&&(no.errorThrown=!0,no.error=t)}(t):Nr(t)}function Ud(t,n){const{onStoppedNotification:e}=je;e&&ui.setTimeout(()=>e(t,n))}const Jf={closed:!0,next:Ur,error:function Zf(t){throw t},complete:Ur},Jc="function"==typeof Symbol&&Symbol.observable||"@@observable";function ts(t){return t}let Wi=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){const i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,r){const o=function v_(t){return t&&t instanceof kc||function oA(t){return t&&Yt(t.next)&&Yt(t.error)&&Yt(t.complete)}(t)&&Tr(t)}(e)?e:new Ja(e,i,r);return Gs(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return new(i=Hd(i))((r,o)=>{const s=new Ja({next:a=>{try{e(a)}catch(c){o(c),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(e){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(e)}[Jc](){return this}pipe(...e){return function Hl(t){return 0===t.length?ts:1===t.length?t[0]:function(e){return t.reduce((i,r)=>r(i),e)}}(e)(this)}toPromise(e){return new(e=Hd(e))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return t.create=n=>new t(n),t})();function Hd(t){var n;return null!==(n=t??je.Promise)&&void 0!==n?n:Promise}const tm=yi(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let It=(()=>{class t extends Wi{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){const i=new Vl(this,this);return i.operator=e,i}_throwIfClosed(){if(this.closed)throw new tm}next(e){Gs(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(e)}})}error(e){Gs(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;const{observers:i}=this;for(;i.length;)i.shift().error(e)}})}complete(){Gs(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){const{hasError:i,isStopped:r,observers:o}=this;return i||r?Yr:(this.currentObservers=null,o.push(e),new zt(()=>{this.currentObservers=null,ir(o,e)}))}_checkFinalizedStatuses(e){const{hasError:i,thrownError:r,isStopped:o}=this;i?e.error(r):o&&e.complete()}asObservable(){const e=new Wi;return e.source=this,e}}return t.create=(n,e)=>new Vl(n,e),t})();class Vl extends It{constructor(n,e){super(),this.destination=n,this.source=e}next(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,n)}error(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,n)}complete(){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===e||e.call(n)}_subscribe(n){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(n))&&void 0!==i?i:Yr}}class _e extends It{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const e=super._subscribe(n);return!e.closed&&n.next(this._value),e}getValue(){const{hasError:n,thrownError:e,_value:i}=this;if(n)throw e;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function be(t){return n=>{if(function ie(t){return Yt(t?.lift)}(n))return n.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Ie(t,n,e,i,r){return new Xe(t,n,e,i,r)}class Xe extends kc{constructor(n,e,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=e?function(a){try{e(a)}catch(c){n.error(c)}}:super._next,this._error=r?function(a){try{r(a)}catch(c){n.error(c)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:e}=this;super.unsubscribe(),!e&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function mt(t,n){return be((e,i)=>{let r=0;e.subscribe(Ie(i,o=>{i.next(t.call(n,o,r++))}))})}const Ii="https://g.co/ng/security#xss";class Ve extends Error{constructor(n,e){super(function lr(t,n){return`NG0${Math.abs(t)}${n?": "+n:""}`}(n,e)),this.code=n}}function Xi(t){return{toString:t}.toString()}const Go="__parameters__";function Hr(t,n,e){return Xi(()=>{const i=function er(t){return function(...e){if(t){const i=t(...e);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(c,l,d){const u=c.hasOwnProperty(Go)?c[Go]:Object.defineProperty(c,Go,{value:[]})[Go];for(;u.length<=d;)u.push(null);return(u[d]=u[d]||[]).push(s),c}}return e&&(r.prototype=Object.create(e.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}const pi=globalThis;function Ui(t){for(let n in t)if(t[n]===Ui)return n;throw Error("Could not find renamed property on target object.")}function ch(t,n){for(const e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function Vr(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(Vr).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const n=t.toString();if(null==n)return""+n;const e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}function aa(t,n){return null==t||""===t?null===n?"":n:null==n||""===n?t:t+" "+n}const Bs=Ui({__forward_ref__:Ui});function di(t){return t.__forward_ref__=di,t.toString=function(){return Vr(this())},t}function fn(t){return ka(t)?t():t}function ka(t){return"function"==typeof t&&t.hasOwnProperty(Bs)&&t.__forward_ref__===di}function st(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function dt(t){return{providers:t.providers||[],imports:t.imports||[]}}function rm(t){return Ta(t,fh)||Ta(t,a1)}function Ta(t,n){return t.hasOwnProperty(n)?t[n]:null}function hh(t){return t&&(t.hasOwnProperty(C_)||t.hasOwnProperty(RF))?t[C_]:null}const fh=Ui({\u0275prov:Ui}),C_=Ui({\u0275inj:Ui}),a1=Ui({ngInjectableDef:Ui}),RF=Ui({ngInjectorDef:Ui});class He{constructor(n,e){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=st({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function S_(t){return t&&!!t.\u0275providers}const zl=Ui({\u0275cmp:Ui}),mh=Ui({\u0275dir:Ui}),dA=Ui({\u0275pipe:Ui}),l1=Ui({\u0275mod:Ui}),gs=Ui({\u0275fac:Ui}),Gl=Ui({__NG_ELEMENT_ID__:Ui}),uA=Ui({__NG_ENV_ID__:Ui});function oi(t){return"string"==typeof t?t:null==t?"":String(t)}function k_(t,n){throw new Ve(-201,!1)}var Hi=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}(Hi||{});let T_;function d1(){return T_}function js(t){const n=T_;return T_=t,n}function sm(t,n,e){const i=rm(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&Hi.Optional?null:void 0!==n?n:void k_()}const am={},F_="__NG_DI_FLAG__",hA="ngTempTokenPath",UF=/\n/gm,fA="__source";let zd;function Fa(t){const n=zd;return zd=t,n}function ph(t,n=Hi.Default){if(void 0===zd)throw new Ve(-203,!1);return null===zd?sm(t,void 0,n):zd.get(t,n&Hi.Optional?null:void 0,n)}function ee(t,n=Hi.Default){return(d1()||ph)(fn(t),n)}function yt(t,n=Hi.Default){return ee(t,cm(n))}function cm(t){return typeof t>"u"||"number"==typeof t?t:(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function Wl(t){const n=[];for(let e=0;e({token:t})),-1),Bo=Ks(Hr("Optional"),8),Bc=Ks(Hr("SkipSelf"),4);function tr(t,n){return t.hasOwnProperty(gs)?t[gs]:null}function Gd(t,n){t.forEach(e=>Array.isArray(e)?Gd(e,n):n(e))}function I_(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function Wd(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function or(t,n,e){let i=jd(t,n);return i>=0?t[1|i]=e:(i=~i,function el(t,n,e,i){let r=t.length;if(r==n)t.push(e,i);else if(1===r)t.push(i,t[0]),t[0]=e;else{for(r--,t.push(t[r-1],t[r]);r>n;)t[r]=t[r-2],r--;t[n]=e,t[n+1]=i}}(t,i,n,e)),i}function Ic(t,n){const e=jd(t,n);if(e>=0)return t[1|e]}function jd(t,n){return function AA(t,n,e){let i=0,r=t.length>>e;for(;r!==i;){const o=i+(r-i>>1),s=t[o<n?r=o:i=o+1}return~(r<n){s=o-1;break}}}for(;o-1){let o;for(;++ro?"":r[d+1].toLowerCase(),2&i&&l!==u){if(Da(i))return!1;s=!0}}}}else{if(!s&&!Da(i)&&!Da(c))return!1;if(s&&Da(c))continue;s=!1,i=c|1&i}}return Da(i)||s}function Da(t){return!(1&t)}function _1(t,n,e,i){if(null===n)return-1;let r=0;if(i||!e){let o=!1;for(;r-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!Da(s)&&(n+=y1(o,r),r=""),i=s,o=o||!Da(i);e++}return""!==r&&(n+=y1(o,r)),n}function Ze(t){return Xi(()=>{const n=C1(t),e={...n,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===Kd.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&t.dependencies||null,getStandaloneInjector:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||Ia.Emulated,styles:t.styles||Yi,_:null,schemas:t.schemas||null,tView:null,id:""};fm(e);const i=t.dependencies;return e.directiveDefs=vA(i,!1),e.pipeDefs=vA(i,!0),e.id=function YF(t){let n=0;const e=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const r of e)n=Math.imul(31,n)+r.charCodeAt(0)|0;return n+=2147483648,"c"+n}(e),e})}function jF(t){return wi(t)||io(t)}function KF(t){return null!==t}function pt(t){return Xi(()=>({type:t.type,bootstrap:t.bootstrap||Yi,declarations:t.declarations||Yi,imports:t.imports||Yi,exports:t.exports||Yi,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function x1(t,n){if(null==t)return nc;const e={};for(const i in t)if(t.hasOwnProperty(i)){const r=t[i];let o,s,a=Ke.None;Array.isArray(r)?(a=r[0],o=r[1],s=r[2]??o):(o=r,s=r),n?(e[o]=a!==Ke.None?[i,a]:i,n[o]=s):e[o]=i}return e}function Et(t){return Xi(()=>{const n=C1(t);return fm(n),n})}function sr(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,standalone:!0===t.standalone,onDestroy:t.type.prototype.ngOnDestroy||null}}function wi(t){return t[zl]||null}function io(t){return t[mh]||null}function ns(t){return t[dA]||null}function C1(t){const n={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:t.inputs||nc,exportAs:t.exportAs||null,standalone:!0===t.standalone,signals:!0===t.signals,selectors:t.selectors||Yi,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:x1(t.inputs,n),outputs:x1(t.outputs),debugInfo:null}}function fm(t){t.features?.forEach(n=>n(t))}function vA(t,n){if(!t)return null;const e=n?ns:jF;return()=>("function"==typeof t?t():t).map(i=>e(i)).filter(KF)}function yA(...t){return{\u0275providers:O_(0,t),\u0275fromNgModule:!0}}function O_(t,...n){const e=[],i=new Set;let r;const o=s=>{e.push(s)};return Gd(n,s=>{const a=s;wA(a,o,[],i)&&(r||=[],r.push(a))}),void 0!==r&&E1(r,o),e}function E1(t,n){for(let e=0;e{n(o,i)})}}function wA(t,n,e,i){if(!(t=fn(t)))return!1;let r=null,o=hh(t);const s=!o&&wi(t);if(o||s){if(s&&!s.standalone)return!1;r=t}else{const c=t.ngModule;if(o=hh(c),!o)return!1;r=c}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const c="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const l of c)wA(l,n,e,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let l;i.add(r);try{Gd(o.imports,d=>{wA(d,n,e,i)&&(l||=[],l.push(d))})}finally{}void 0!==l&&E1(l,n)}if(!a){const l=tr(r)||(()=>new r);n({provide:r,useFactory:l,deps:Yi},r),n({provide:D_,useValue:r,multi:!0},r),n({provide:Ba,useValue:()=>ee(r),multi:!0},r)}const c=o.providers;if(null!=c&&!a){const l=t;Ah(c,d=>{n(d,l)})}}}return r!==t&&void 0!==t.providers}function Ah(t,n){for(let e of t)S_(e)&&(e=e.\u0275providers),Array.isArray(e)?Ah(e,n):n(e)}const qF=Ui({provide:String,useValue:Ui});function N_(t){return null!==t&&"object"==typeof t&&qF in t}function Yd(t){return"function"==typeof t}const U_=new He(""),xA={},JF={};let H_;function gh(){return void 0===H_&&(H_=new gA),H_}class ic{}class bh extends ic{get destroyed(){return this._destroyed}constructor(n,e,i,r){super(),this.parent=e,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,V_(n,s=>this.processProvider(s)),this.records.set(Dc,tl(void 0,this)),r.has("environment")&&this.records.set(ic,tl(void 0,this));const o=this.records.get(U_);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(D_,Yi,Hi.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;const n=O(null);try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const e=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of e)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),O(n)}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const e=Fa(this),i=js(void 0);try{return n()}finally{Fa(e),js(i)}}get(n,e=am,i=Hi.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(uA))return n[uA](this);i=cm(i);const o=Fa(this),s=js(void 0);try{if(!(i&Hi.SkipSelf)){let c=this.records.get(n);if(void 0===c){const l=function rB(t){return"function"==typeof t||"object"==typeof t&&t instanceof He}(n)&&rm(n);c=l&&this.injectableDefInScope(l)?tl(CA(n),xA):null,this.records.set(n,c)}if(null!=c)return this.hydrate(n,c)}return(i&Hi.Self?gh():this.parent).get(n,e=i&Hi.Optional&&e===am?null:e)}catch(a){if("NullInjectorError"===a.name){if((a[hA]=a[hA]||[]).unshift(Vr(n)),o)throw a;return function $l(t,n,e,i){const r=t[hA];throw n[fA]&&r.unshift(n[fA]),t.message=function yo(t,n,e,i=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let r=Vr(n);if(Array.isArray(n))r=n.map(Vr).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):Vr(a)))}r=`{${o.join(", ")}}`}return`${e}${i?"("+i+")":""}[${r}]: ${t.replace(UF,"\n ")}`}("\n"+t.message,r,e,i),t.ngTokenPath=r,t[hA]=null,t}(a,n,"R3InjectorError",this.source)}throw a}finally{js(s),Fa(o)}}resolveInjectorInitializers(){const n=O(null),e=Fa(this),i=js(void 0);try{const o=this.get(Ba,Yi,Hi.Self);for(const s of o)s()}finally{Fa(e),js(i),O(n)}}toString(){const n=[],e=this.records;for(const i of e.keys())n.push(Vr(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Ve(205,!1)}processProvider(n){let e=Yd(n=fn(n))?n:fn(n&&n.provide);const i=function tB(t){return N_(t)?tl(void 0,t.useValue):tl(EA(t),xA)}(n);if(!Yd(n)&&!0===n.multi){let r=this.records.get(e);r||(r=tl(void 0,xA,!0),r.factory=()=>Wl(r.multi),this.records.set(e,r)),e=n,r.multi.push(n)}this.records.set(e,i)}hydrate(n,e){const i=O(null);try{return e.value===xA&&(e.value=JF,e.value=e.factory()),"object"==typeof e.value&&e.value&&function iB(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}finally{O(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;const e=fn(n.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}removeOnDestroy(n){const e=this._onDestroyHooks.indexOf(n);-1!==e&&this._onDestroyHooks.splice(e,1)}}function CA(t){const n=rm(t),e=null!==n?n.factory:tr(t);if(null!==e)return e;if(t instanceof He)throw new Ve(204,!1);if(t instanceof Function)return function eB(t){if(t.length>0)throw new Ve(204,!1);const e=function x_(t){return t&&(t[fh]||t[a1])||null}(t);return null!==e?()=>e.factory(t):()=>new t}(t);throw new Ve(204,!1)}function EA(t,n,e){let i;if(Yd(t)){const r=fn(t);return tr(r)||CA(r)}if(N_(t))i=()=>fn(t.useValue);else if(function S1(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Wl(t.deps||[]));else if(function M1(t){return!(!t||!t.useExisting)}(t))i=()=>ee(fn(t.useExisting));else{const r=fn(t&&(t.useClass||t.provide));if(!function nB(t){return!!t.deps}(t))return tr(r)||CA(r);i=()=>new r(...Wl(t.deps))}return i}function tl(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function V_(t,n){for(const e of t)Array.isArray(e)?V_(e,n):e&&S_(e)?V_(e.\u0275providers,n):n(e)}function k1(){return void 0!==d1()||null!=function u1(){return zd}()}function jl(t){if(!k1())throw new Ve(-203,!1)}const Qr=0,Dt=1,Fn=2,fo=3,Ra=4,_s=5,la=6,vh=7,Mr=8,is=9,rc=10,Kn=11,Am=12,wo=13,yh=14,qr=15,gm=16,wh=17,nl=18,xh=19,B1=20,Kl=21,SA=22,qd=23,si=25,G_=1,Gt=7,Eh=9,Zr=10;var La=function(t){return t[t.None=0]="None",t[t.HasTransplantedViews=2]="HasTransplantedViews",t}(La||{});function vs(t){return Array.isArray(t)&&"object"==typeof t[G_]}function rs(t){return Array.isArray(t)&&!0===t[G_]}function Zd(t){return!!(4&t.flags)}function Rc(t){return t.componentOffset>-1}function TA(t){return!(1&~t.flags)}function oc(t){return!!t.template}function W_(t){return!!(512&t[Fn])}class Y_{constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function q_(t,n,e,i){null!==n?n.applyValueToInputSignal(n,i):t[e]=i}function ar(){return O1}function O1(t){return t.type.prototype.ngOnChanges&&(t.setInput=Z_),N1}function N1(){const t=J_(this),n=t?.current;if(n){const e=t.previous;if(e===nc)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function Z_(t,n,e,i,r){const o=this.declaredInputs[i],s=J_(t)||function U1(t,n){return t[FA]=n}(t,{previous:nc,current:null}),a=s.current||(s.current={}),c=s.previous,l=c[o];a[o]=new Y_(l&&l.currentValue,e,c===nc),q_(t,n,r,e)}ar.ngInherit=!0;const FA="__ngSimpleChanges__";function J_(t){return t[FA]||null}const Pa=function(t,n,e){},V1="svg";let z1=!1;function mr(t){for(;Array.isArray(t);)t=t[Qr];return t}function _m(t,n){return mr(n[t])}function Rs(t,n){return mr(n[t.index])}function vm(t,n){return t.data[n]}function Mh(t,n){return t[n]}function da(t,n){const e=n[t];return vs(e)?e:e[Qr]}function IA(t){return!(128&~t[Fn])}function Na(t,n){return null==n?null:t[n]}function tv(t){t[wh]=0}function os(t){1024&t[Fn]||(t[Fn]|=1024,IA(t)&&kh(t))}function nv(t){return!!(9216&t[Fn]||t[qd]?.dirty)}function iv(t){t[rc].changeDetectionScheduler?.notify(1),nv(t)?kh(t):64&t[Fn]&&(function Oa(){return z1}()?(t[Fn]|=1024,kh(t)):t[rc].changeDetectionScheduler?.notify())}function kh(t){t[rc].changeDetectionScheduler?.notify();let n=eu(t);for(;null!==n&&!(8192&n[Fn])&&(n[Fn]|=8192,IA(n));)n=eu(n)}function Th(t,n){if(!(256&~t[Fn]))throw new Ve(911,!1);null===t[Kl]&&(t[Kl]=[]),t[Kl].push(n)}function eu(t){const n=t[fo];return rs(n)?n[fo]:n}const Xn={lFrame:pv(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function ov(){return Xn.bindingsEnabled}function tu(){return null!==Xn.skipHydrationRootTNode}function rt(){return Xn.lFrame.lView}function ki(){return Xn.lFrame.tView}function Mt(t){return Xn.lFrame.contextLView=t,t[Mr]}function St(t){return Xn.lFrame.contextLView=null,t}function dr(){let t=av();for(;null!==t&&64===t.type;)t=t.parent;return t}function av(){return Xn.lFrame.currentTNode}function sc(t,n){const e=Xn.lFrame;e.currentTNode=t,e.isParent=n}function DA(){return Xn.lFrame.isParent}function RA(){Xn.lFrame.isParent=!1}function ys(){const t=Xn.lFrame;let n=t.bindingRootIndex;return-1===n&&(n=t.bindingRootIndex=t.tView.bindingStartIndex),n}function Ua(){return Xn.lFrame.bindingIndex++}function Xs(t){const n=Xn.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function xB(t,n){const e=Xn.lFrame;e.bindingIndex=e.bindingRootIndex=t,uv(n)}function uv(t){Xn.lFrame.currentDirectiveIndex=t}function LA(){return Xn.lFrame.currentQueryIndex}function Fh(t){Xn.lFrame.currentQueryIndex=t}function X1(t){const n=t[Dt];return 2===n.type?n.declTNode:1===n.type?t[_s]:null}function fv(t,n,e){if(e&Hi.SkipSelf){let r=n,o=t;for(;!(r=r.parent,null!==r||e&Hi.Host||(r=X1(o),null===r||(o=o[yh],10&r.type))););if(null===r)return!1;n=r,t=o}const i=Xn.lFrame=mv();return i.currentTNode=n,i.lView=t,!0}function wm(t){const n=mv(),e=t[Dt];Xn.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function mv(){const t=Xn.lFrame,n=null===t?null:t.child;return null===n?pv(t):n}function pv(t){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=n),n}function Y1(){const t=Xn.lFrame;return Xn.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const xm=Y1;function Bh(){const t=Y1();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function ss(){return Xn.lFrame.selectedIndex}function iu(t){Xn.lFrame.selectedIndex=t}function wr(){const t=Xn.lFrame;return vm(t.tView,t.selectedIndex)}function ac(){Xn.lFrame.currentNamespace=V1}function PA(){!function Ih(){Xn.lFrame.currentNamespace=null}()}let ro=!0;function cc(){return ro}function Ls(t){ro=t}function lc(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[c]<0&&(t[wh]+=65536),(a>14>16&&(3&t[Fn])===n&&(t[Fn]+=16384,bv(a,o)):bv(a,o)}const Lc=-1;class Dh{constructor(n,e,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function Cm(t){return t!==Lc}function Em(t){return 32767&t}function Mm(t,n){let e=function TB(t){return t>>16}(t),i=n;for(;e>0;)i=i[yh],e--;return i}let vv=!0;function NA(t){const n=vv;return vv=t,n}const UA=255,yv=5;let FB=0;const Pc={};function HA(t,n){const e=tC(t,n);if(-1!==e)return e;const i=n[Dt];i.firstCreatePass&&(t.injectorIndex=n.length,wv(i.data,t),wv(n,null),wv(i.blueprint,null));const r=VA(t,n),o=t.injectorIndex;if(Cm(r)){const s=Em(r),a=Mm(r,n),c=a[Dt].data;for(let l=0;l<8;l++)n[o+l]=a[s+l]|c[s+l]}return n[o+8]=r,o}function wv(t,n){t.push(0,0,0,0,0,0,0,0,n)}function tC(t,n){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===n[t.injectorIndex+8]?-1:t.injectorIndex}function VA(t,n){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let e=0,i=null,r=n;for(;null!==r;){if(i=Mv(r),null===i)return Lc;if(e++,r=r[yh],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return Lc}function xv(t,n,e){!function eC(t,n,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(Gl)&&(i=e[Gl]),null==i&&(i=e[Gl]=FB++);const r=i&UA;n.data[t+(r>>yv)]|=1<=0?n&UA:IB:n}(e);if("function"==typeof o){if(!fv(n,t,i))return i&Hi.Host?nC(r,0,i):QA(n,e,i,r);try{let s;if(s=o(i),null!=s||i&Hi.Optional)return s;k_()}finally{xm()}}else if("number"==typeof o){let s=null,a=tC(t,n),c=Lc,l=i&Hi.Host?n[qr][_s]:null;for((-1===a||i&Hi.SkipSelf)&&(c=-1===a?VA(t,n):n[a+8],c!==Lc&&Br(i,!1)?(s=n[Dt],a=Em(c),n=Mm(c,n)):a=-1);-1!==a;){const d=n[Dt];if(cr(o,a,d.data)){const u=Lh(a,n,e,s,i,l);if(u!==Pc)return u}c=n[a+8],c!==Lc&&Br(i,n[Dt].data[a+8]===l)&&cr(o,a,n)?(s=d,a=Em(c),n=Mm(c,n)):a=-1}}return r}function Lh(t,n,e,i,r,o){const s=n[Dt],a=s.data[t+8],d=ru(a,s,e,null==i?Rc(a)&&vv:i!=s&&!!(3&a.type),r&Hi.Host&&o===a);return null!==d?$o(n,s,d,a):Pc}function ru(t,n,e,i,r){const o=t.providerIndexes,s=n.data,a=1048575&o,c=t.directiveStart,d=o>>20,h=r?a+d:t.directiveEnd;for(let f=i?a:a+d;f=c&&b.type===e)return f}if(r){const f=s[c];if(f&&oc(f)&&f.type===e)return c}return null}function $o(t,n,e,i){let r=t[e];const o=n.data;if(function Z1(t){return t instanceof Dh}(r)){const s=r;s.resolving&&function PF(t,n){throw n&&n.join(" > "),new Ve(-200,t)}(function rr(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():oi(t)}(o[e]));const a=NA(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?js(s.injectImpl):null;fv(t,i,Hi.Default);try{r=t[e]=s.factory(void 0,o,t,i),n.firstCreatePass&&e>=i.directiveStart&&function Xl(t,n,e){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const s=O1(n);(e.preOrderHooks??=[]).push(t,s),(e.preOrderCheckHooks??=[]).push(t,s)}r&&(e.preOrderHooks??=[]).push(0-t,r),o&&((e.preOrderHooks??=[]).push(t,o),(e.preOrderCheckHooks??=[]).push(t,o))}(e,o[e],n)}finally{null!==l&&js(l),NA(a),s.resolving=!1,xm()}}return r}function cr(t,n,e){return!!(e[n+(t>>yv)]&1<{const n=t.prototype.constructor,e=n[gs]||Ev(n),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const o=r[gs]||Ev(r);if(o&&o!==e)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function Ev(t){return ka(t)?()=>{const n=Ev(fn(t));return n&&n()}:tr(t)}function Mv(t){const n=t[Dt],e=n.type;return 2===e?n.declTNode:1===e?t[_s]:null}function Oc(t){return function Cv(t,n){if("class"===n)return t.classes;if("style"===n)return t.styles;const e=t.attrs;if(e){const i=e.length;let r=0;for(;r{class t{static{this.THROW_IF_NOT_FOUND=am}static{this.NULL=new gA}static create(e,i){if(Array.isArray(e))return km({name:""},i,e,"");{const r=e.name??"";return km({name:r},e.parent,e.providers,r)}}static{this.\u0275prov=st({token:t,providedIn:"any",factory:()=>ee(Dc)})}static{this.__NG_ELEMENT_ID__=-1}}return t})();function kv(t){return t.ngOriginalError}class ws{constructor(){this._console=console}handleError(n){const e=this._findOriginalError(n);this._console.error("ERROR",n),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(n){let e=n&&kv(n);for(;e&&kv(e);)e=kv(e);return e||null}}const hC=new He("",{providedIn:"root",factory:()=>yt(ws).handleError.bind(void 0)});let ql=(()=>{class t{static{this.__NG_ELEMENT_ID__=OB}static{this.__NG_ENV_ID__=e=>e}}return t})();class fC extends ql{constructor(n){super(),this._lView=n}onDestroy(n){return Th(this._lView,n),()=>function rv(t,n){if(null===t[Kl])return;const e=t[Kl].indexOf(n);-1!==e&&t[Kl].splice(e,1)}(this._lView,n)}}function OB(){return new fC(rt())}function NB(){return Oh(dr(),rt())}function Oh(t,n){return new Mn(Rs(t,n))}let Mn=(()=>{class t{constructor(e){this.nativeElement=e}static{this.__NG_ELEMENT_ID__=NB}}return t})();function mC(t){return t instanceof Mn?t.nativeElement:t}function Fv(t){return n=>{setTimeout(t,void 0,n)}}const vn=class UB extends It{constructor(n=!1){super(),this.destroyRef=void 0,this.__isAsync=n,k1()&&(this.destroyRef=yt(ql,{optional:!0})??void 0)}emit(n){const e=O(null);try{super.next(n)}finally{O(e)}}subscribe(n,e,i){let r=n,o=e||(()=>null),s=i;if(n&&"object"==typeof n){const c=n;r=c.next?.bind(c),o=c.error?.bind(c),s=c.complete?.bind(c)}this.__isAsync&&(o=Fv(o),r&&(r=Fv(r)),s&&(s=Fv(s)));const a=super.subscribe({next:r,error:o,complete:s});return n instanceof zt&&n.add(a),a}};function HB(){return this._results[Symbol.iterator]()}class su{get changes(){return this._changes??=new vn}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const e=su.prototype;e[Symbol.iterator]||(e[Symbol.iterator]=HB)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,e){return this._results.reduce(n,e)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,e){this.dirty=!1;const i=function Ds(t){return t.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function f1(t,n,e){if(t.length!==n.length)return!1;for(let i=0;isie}),sie="ng",aH=new He(""),Vh=new He("",{providedIn:"platform",factory:()=>"unknown"}),jo=new He(""),QB=new He("",{providedIn:"root",factory:()=>Hh().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let cH=()=>null;function YB(t,n,e=!1){return cH(t,n,e)}const fH=new He("",{providedIn:"root",factory:()=>!1});let yC,wC;function KA(t){return function eI(){if(void 0===yC&&(yC=null,pi.trustedTypes))try{yC=pi.trustedTypes.createPolicy("angular",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return yC}()?.createHTML(t)||t}function pH(t){return function tI(){if(void 0===wC&&(wC=null,pi.trustedTypes))try{wC=pi.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return wC}()?.createHTML(t)||t}class bH{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Ii})`}}function Qh(t){return t instanceof bH?t.changingThisBreaksApplicationSecurity:t}function Pv(t,n){const e=function Eie(t){return t instanceof bH&&t.getTypeName()||null}(t);if(null!=e&&e!==n){if("ResourceURL"===e&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${e} (see ${Ii})`)}return e===n}class Mie{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const e=(new window.DOMParser).parseFromString(KA(n),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(n):(e.removeChild(e.firstChild),e)}catch{return null}}}class Sie{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const e=this.inertDocument.createElement("template");return e.innerHTML=KA(n),e}}const Tie=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function nI(t){return(t=String(t)).match(Tie)?t:"unsafe:"+t}function cu(t){const n={};for(const e of t.split(","))n[e]=!0;return n}function Ov(...t){const n={};for(const e of t)for(const i in e)e.hasOwnProperty(i)&&(n[i]=!0);return n}const vH=cu("area,br,col,hr,img,wbr"),yH=cu("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),wH=cu("rp,rt"),iI=Ov(vH,Ov(yH,cu("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Ov(wH,cu("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Ov(wH,yH)),rI=cu("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),xH=Ov(rI,cu("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),cu("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),Fie=cu("script,style,template");class Bie{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let e=n.firstChild,i=!0,r=[];for(;e;)if(e.nodeType===Node.ELEMENT_NODE?i=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,i&&e.firstChild)r.push(e),e=Rie(e);else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let o=Die(e);if(o){e=o;break}e=r.pop()}return this.buf.join("")}startElement(n){const e=CH(n).toLowerCase();if(!iI.hasOwnProperty(e))return this.sanitizedSomething=!0,!Fie.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const i=n.attributes;for(let r=0;r"),!0}endElement(n){const e=CH(n).toLowerCase();iI.hasOwnProperty(e)&&!vH.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(MH(n))}}function Die(t){const n=t.nextSibling;if(n&&t!==n.previousSibling)throw EH(n);return n}function Rie(t){const n=t.firstChild;if(n&&function Iie(t,n){return(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(t,n))throw EH(n);return n}function CH(t){const n=t.nodeName;return"string"==typeof n?n:"FORM"}function EH(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}const Lie=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Pie=/([^\#-~ |!])/g;function MH(t){return t.replace(/&/g,"&").replace(Lie,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(Pie,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let xC;function oI(t){return"content"in t&&function Nie(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var XA=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}(XA||{});function sI(t){const n=Nv();return n?pH(n.sanitize(XA.HTML,t)||""):Pv(t,"HTML")?pH(Qh(t)):function Oie(t,n){let e=null;try{xC=xC||function _H(t){const n=new Sie(t);return function kie(){try{return!!(new window.DOMParser).parseFromString(KA(""),"text/html")}catch{return!1}}()?new Mie(n):n}(t);let i=n?String(n):"";e=xC.getInertBodyElement(i);let r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=e.innerHTML,e=xC.getInertBodyElement(i)}while(i!==o);return KA((new Bie).sanitizeChildren(oI(e)||e))}finally{if(e){const i=oI(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}(Hh(),oi(t))}function Tm(t){const n=Nv();return n?n.sanitize(XA.URL,t)||"":Pv(t,"URL")?Qh(t):nI(oi(t))}function Nv(){const t=rt();return t&&t[rc].sanitizer}const Wie=/^>|^->||--!>|)/g,jie="\u200b$1\u200b";function Uv(t){return t.ownerDocument.defaultView}function BH(t){return t.ownerDocument}var Gh=function(t){return t[t.Important=1]="Important",t[t.DashCase=2]="DashCase",t}(Gh||{});let dI;function uI(t,n){return dI(t,n)}function qA(t,n,e,i,r){if(null!=i){let o,s=!1;rs(i)?o=i:vs(i)&&(s=!0,i=i[Qr]);const a=mr(i);0===t&&null!==e?null==r?HH(n,e,a):Fm(n,e,a,r||null,!0):1===t&&null!==e?Fm(n,e,a,r||null,!0):2===t?function Qv(t,n,e){const i=kC(t,n);i&&function dre(t,n,e,i){t.removeChild(n,e,i)}(t,i,n,e)}(n,a,s):3===t&&n.destroyNode(a),null!=o&&function fre(t,n,e,i,r){const o=e[Gt];o!==mr(e)&&qA(n,t,i,o,r);for(let a=Zr;an.replace($ie,jie))}(n))}function MC(t,n,e){return t.createElement(n,e)}function OH(t,n){n[rc].changeDetectionScheduler?.notify(1),FC(t,n,n[Kn],2,null,null)}function NH(t,n){const e=t[Eh],i=e.indexOf(n);e.splice(i,1)}function Hv(t,n){if(t.length<=Zr)return;const e=Zr+n,i=t[e];if(i){const r=i[gm];null!==r&&r!==t&&NH(r,i),n>0&&(t[e-1][Ra]=i[Ra]);const o=Wd(t,Zr+n);!function ire(t,n){OH(t,n),n[Qr]=null,n[_s]=null}(i[Dt],i);const s=o[nl];null!==s&&s.detachView(o[Dt]),i[fo]=null,i[Ra]=null,i[Fn]&=-129}return i}function SC(t,n){if(!(256&n[Fn])){const e=n[Kn];e.destroyNode&&FC(t,n,e,3,null,null),function ore(t){let n=t[Am];if(!n)return mI(t[Dt],t);for(;n;){let e=null;if(vs(n))e=n[Am];else{const i=n[Zr];i&&(e=i)}if(!e){for(;n&&!n[Ra]&&n!==t;)vs(n)&&mI(n[Dt],n),n=n[fo];null===n&&(n=t),vs(n)&&mI(n[Dt],n),e=n&&n[Ra]}n=e}}(n)}}function mI(t,n){if(256&n[Fn])return;const e=O(null);try{n[Fn]&=-129,n[Fn]|=256,n[qd]&&it(n[qd]),function lre(t,n){let e;if(null!=t&&null!=(e=t.destroyHooks))for(let i=0;i=0?i[s]():i[-s].unsubscribe(),o+=2}else e[o].call(i[e[o+1]]);null!==i&&(n[vh]=null);const r=n[Kl];if(null!==r){n[Kl]=null;for(let o=0;o-1){const{encapsulation:o}=t.data[i.directiveStart+r];if(o===Ia.None||o===Ia.Emulated)return null}return Rs(i,e)}}(t,n.parent,e)}function Fm(t,n,e,i,r){t.insertBefore(n,e,i,r)}function HH(t,n,e){t.appendChild(n,e)}function VH(t,n,e,i,r){null!==i?Fm(t,n,e,i,r):HH(t,n,e)}function kC(t,n){return t.parentNode(n)}function QH(t,n,e){return GH(t,n,e)}let AI,GH=function zH(t,n,e){return 40&t.type?Rs(t,e):null};function TC(t,n,e,i){const r=pI(t,i,n),o=n[Kn],a=QH(i.parent||n[_s],i,n);if(null!=r)if(Array.isArray(e))for(let c=0;csi&&qH(t,n,si,!1),Pa(s?2:0,r),e(i,r)}finally{iu(o),Pa(s?3:1,r)}}function vI(t,n,e){if(Zd(n)){const i=O(null);try{const o=n.directiveEnd;for(let s=n.directiveStart;snull;function i5(t,n,e,i,r){for(let o in n){if(!n.hasOwnProperty(o))continue;const s=n[o];if(void 0===s)continue;i??={};let a,c=Ke.None;Array.isArray(s)?(a=s[0],c=s[1]):a=s;let l=o;if(null!==r){if(!r.hasOwnProperty(o))continue;l=r[o]}0===t?r5(i,e,l,a,c):r5(i,e,l,a)}return i}function r5(t,n,e,i,r){let o;t.hasOwnProperty(e)?(o=t[e]).push(n,i):o=t[e]=[n,i],void 0!==r&&o.push(r)}function Qa(t,n,e,i,r,o,s,a){const c=Rs(n,e);let d,l=n.inputs;!a&&null!=l&&(d=l[i])?(kI(t,e,d,i,r),Rc(n)&&function Mre(t,n){const e=da(n,t);16&e[Fn]||(e[Fn]|=64)}(e,n.index)):3&n.type&&(i=function Ere(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(i),r=null!=s?s(r,n.value||"",i):r,o.setProperty(c,i,r))}function CI(t,n,e,i){if(ov()){const r=null===i?null:{"":-1},o=function Ire(t,n){const e=t.directiveRegistry;let i=null,r=null;if(e)for(let o=0;o0;){const e=t[--n];if("number"==typeof e&&e<0)return e}return 0})(s)!=a&&s.push(a),s.push(e,i,o)}}(t,n,i,zv(t,e,r.hostVars,mi),r)}function ed(t,n,e,i,r,o){const s=Rs(t,n);!function MI(t,n,e,i,r,o,s){if(null==o)t.removeAttribute(n,r,e);else{const a=null==s?oi(o):s(o,i||"",r);t.setAttribute(n,r,a,e)}}(n[Kn],s,o,t.value,e,i,r)}function Nre(t,n,e,i,r,o){const s=o[n];if(null!==s)for(let a=0;a0&&(e[r-1][Ra]=n),i{kh(t.lView)},consumerOnSignalRead(){this.lView[qd]=this}},p5=100;function RC(t,n=!0,e=0){const i=t[rc],r=i.rendererFactory;r.begin?.();try{!function jre(t,n){BI(t,n);let e=0;for(;nv(t);){if(e===p5)throw new Ve(103,!1);e++,BI(t,1)}}(t,e)}catch(s){throw n&&DC(t,s),s}finally{r.end?.(),i.inlineEffectRunner?.flush()}}function Kre(t,n,e,i){const r=n[Fn];if(!(256&~r))return;n[rc].inlineEffectRunner?.flush(),wm(n);let s=null,a=null;(function Xre(t){return 2!==t.type})(t)&&(a=function zre(t){return t[qd]??function Gre(t){const n=m5.pop()??Object.create($re);return n.lView=t,n}(t)}(n),s=qe(a));try{tv(n),function K1(t){return Xn.lFrame.bindingIndex=t}(t.bindingStartIndex),null!==e&&e5(t,n,e,2,i);const c=!(3&~r);if(c){const u=t.preOrderCheckHooks;null!==u&&Yl(n,u,null)}else{const u=t.preOrderHooks;null!==u&&Ha(n,u,0,null),OA(n,0)}if(function Yre(t){for(let n=ol(t);null!==n;n=Ps(n)){if(!(n[Fn]&La.HasTransplantedViews))continue;const e=n[Eh];for(let i=0;i-1&&(Hv(n,i),Wd(e,i))}this._attachedToViewContainer=!1}SC(this._lView[Dt],this._lView)}onDestroy(n){Th(this._lView,n)}markForCheck(){jv(this._cdRefInjectingView||this._lView)}detach(){this._lView[Fn]&=-129}reattach(){iv(this._lView),this._lView[Fn]|=128}detectChanges(){this._lView[Fn]|=1024,RC(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Ve(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,OH(this._lView[Dt],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new Ve(902,!1);this._appRef=n,iv(this._lView)}}let hc=(()=>{class t{static{this.__NG_ELEMENT_ID__=eoe}}return t})();const Zre=hc,Jre=class extends Zre{constructor(n,e,i){super(),this._declarationLView=n,this._declarationTContainer=e,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,e){return this.createEmbeddedViewImpl(n,e)}createEmbeddedViewImpl(n,e,i){const r=Gv(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:e,dehydratedView:i});return new Kv(r)}};function eoe(){return LC(dr(),rt())}function LC(t,n){return 4&t.type?new Jre(n,t,Oh(t,n)):null}let C5=()=>null;function eg(t,n){return C5(t,n)}class HC{}class Coe{}class E5{}class Moe{resolveComponentFactory(n){throw function Eoe(t){const n=Error(`No component factory found for ${Vr(t)}.`);return n.ngComponent=t,n}(n)}}let tg=(()=>{class t{static{this.NULL=new Moe}}return t})();class OI{}let Bm=(()=>{class t{constructor(){this.destroyNode=null}static{this.__NG_ELEMENT_ID__=()=>function Soe(){const t=rt(),e=da(dr().index,t);return(vs(e)?e:t)[Kn]}()}}return t})(),koe=(()=>{class t{static{this.\u0275prov=st({token:t,providedIn:"root",factory:()=>null})}}return t})();const NI={},S5=new Set;function td(t){S5.has(t)||(S5.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}function k5(...t){}class mn{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new vn(!1),this.onMicrotaskEmpty=new vn(!1),this.onStable=new vn(!1),this.onError=new vn(!1),typeof Zone>"u")throw new Ve(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&e,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function Toe(){const t="function"==typeof pi.requestAnimationFrame;let n=pi[t?"requestAnimationFrame":"setTimeout"],e=pi[t?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&e){const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i);const r=e[Zone.__symbol__("OriginalDelegate")];r&&(e=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function Ioe(t){const n=()=>{!function Boe(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(pi,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,HI(t),t.isCheckStableRunning=!0,UI(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),HI(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,r,o,s,a)=>{if(function Doe(t){return!(!Array.isArray(t)||1!==t.length)&&!0===t[0].data?.__ignore_ng_zone__}(a))return e.invokeTask(r,o,s,a);try{return T5(t),e.invokeTask(r,o,s,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||t.shouldCoalesceRunChangeDetection)&&n(),F5(t)}},onInvoke:(e,i,r,o,s,a,c)=>{try{return T5(t),e.invoke(r,o,s,a,c)}finally{t.shouldCoalesceRunChangeDetection&&n(),F5(t)}},onHasTask:(e,i,r,o)=>{e.hasTask(r,o),i===r&&("microTask"==o.change?(t._hasPendingMicrotasks=o.microTask,HI(t),UI(t)):"macroTask"==o.change&&(t.hasPendingMacrotasks=o.macroTask))},onHandleError:(e,i,r,o)=>(e.handleError(r,o),t.runOutsideAngular(()=>t.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!mn.isInAngularZone())throw new Ve(909,!1)}static assertNotInAngularZone(){if(mn.isInAngularZone())throw new Ve(909,!1)}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,Foe,k5,k5);try{return o.runTask(s,e,i)}finally{o.cancelTask(s)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}}const Foe={};function UI(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function HI(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function T5(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function F5(t){t._nesting--,UI(t)}class B5{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new vn,this.onMicrotaskEmpty=new vn,this.onStable=new vn,this.onError=new vn}run(n,e,i){return n.apply(e,i)}runGuarded(n,e,i){return n.apply(e,i)}runOutsideAngular(n){return n()}runTask(n,e,i,r){return n.apply(e,i)}}let Jv=(()=>{class t{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){const e=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const i of e)i()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static{this.\u0275prov=st({token:t,providedIn:"root",factory:()=>new t})}}return t})();function QC(t,n,e){let i=e?t.styles:null,r=e?t.classes:null,o=0;if(null!==n)for(let s=0;s0&&XH(t,e,o.join(" "))}}(f,R,y,i),void 0!==e&&function $oe(t,n,e){const i=t.projection=[];for(let r=0;r{class t{static{this.__NG_ELEMENT_ID__=Koe}}return t})();function Koe(){return V5(dr(),rt())}const Xoe=ha,U5=class extends Xoe{constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return Oh(this._hostTNode,this._hostLView)}get injector(){return new oo(this._hostTNode,this._hostLView)}get parentInjector(){const n=VA(this._hostTNode,this._hostLView);if(Cm(n)){const e=Mm(n,this._hostLView),i=Em(n);return new oo(e[Dt].data[i+8],e)}return new oo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const e=H5(this._lContainer);return null!==e&&e[n]||null}get length(){return this._lContainer.length-Zr}createEmbeddedView(n,e,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const s=eg(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(e||{},o,s);return this.insertImpl(a,r,JA(this._hostTNode,s)),a}createComponent(n,e,i,r,o){const s=n&&!function pm(t){return"function"==typeof t}(n);let a;if(s)a=e;else{const b=e||{};a=b.index,i=b.injector,r=b.projectableNodes,o=b.environmentInjector||b.ngModuleRef}const c=s?n:new n0(wi(n)),l=i||this.parentInjector;if(!o&&null==c.ngModule){const y=(s?l:this.parentInjector).get(ic,null);y&&(o=y)}const d=wi(c.componentType??{}),u=eg(this._lContainer,d?.id??null),f=c.create(l,r,u?.firstChild??null,o);return this.insertImpl(f.hostView,a,JA(this._hostTNode,u)),f}insert(n,e){return this.insertImpl(n,e,!0)}insertImpl(n,e,i){const r=n._lView;if(function AB(t){return rs(t[fo])}(r)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const c=r[fo],l=new U5(c,c[_s],c[fo]);l.detach(l.indexOf(n))}}const o=this._adjustIndex(e),s=this._lContainer;return Wv(s,r,o,i),n.attachToViewContainerRef(),I_(GI(s),o,n),n}move(n,e){return this.insert(n,e)}indexOf(n){const e=H5(this._lContainer);return null!==e?e.indexOf(n):-1}remove(n){const e=this._adjustIndex(n,-1),i=Hv(this._lContainer,e);i&&(Wd(GI(this._lContainer),e),SC(i[Dt],i))}detach(n){const e=this._adjustIndex(n,-1),i=Hv(this._lContainer,e);return i&&null!=Wd(GI(this._lContainer),e)?new Kv(i):null}_adjustIndex(n,e=0){return n??this.length+e}};function H5(t){return t[8]}function GI(t){return t[8]||(t[8]=[])}function V5(t,n){let e;const i=n[t.index];return rs(i)?e=i:(e=a5(i,n,null,t),n[t.index]=e,IC(n,e)),Q5(e,n,t,i),new U5(e,t,n)}let Q5=function G5(t,n,e,i){if(t[Gt])return;let r;r=8&e.type?mr(i):function Yoe(t,n){const e=t[Kn],i=e.createComment(""),r=Rs(n,t);return Fm(e,kC(e,r),i,function ure(t,n){return t.nextSibling(n)}(e,r),!1),i}(n,e),t[Gt]=r},WI=()=>!1;class $I{constructor(n){this.queryList=n,this.matches=null}clone(){return new $I(this.queryList)}setDirty(){this.queryList.setDirty()}}class jI{constructor(n=[]){this.queries=n}createEmbeddedView(n){const e=n.queries;if(null!==e){const i=null!==n.contentQueries?n.contentQueries[0]:e.length,r=[];for(let o=0;on.trim())}(n):n}}class KI{constructor(n=[]){this.queries=n}elementStart(n,e){for(let i=0;i0)i.push(s[a/2]);else{const l=o[a+1],d=n[-c];for(let u=Zr;u(q(n),n.value);return e[B]=n,e}(t),i=e[B];return n?.equal&&(i.equal=n.equal),e.set=r=>ei(i,r),e.update=r=>function Be(t,n){ye()||on(),ei(t,n(t.value))}(i,r),e.asReadonly=Z5.bind(e),e}function Z5(){const t=this[B];if(void 0===t.readonlyFn){const n=()=>this();n[B]=t,t.readonlyFn=n}return t.readonlyFn}function J5(t){return GC(t)&&"function"==typeof t.set}function ai(t){let n=function dV(t){return Object.getPrototypeOf(t.prototype).constructor}(t.type),e=!0;const i=[t];for(;n;){let r;if(oc(t))r=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new Ve(903,!1);r=n.\u0275dir}if(r){if(e){i.push(r);const s=t;s.inputs=$C(t.inputs),s.inputTransforms=$C(t.inputTransforms),s.declaredInputs=$C(t.declaredInputs),s.outputs=$C(t.outputs);const a=r.hostBindings;a&&_se(t,a);const c=r.viewQuery,l=r.contentQueries;if(c&&gse(t,c),l&&bse(t,l),pse(t,r),ch(t.outputs,r.outputs),oc(r)&&r.data.animation){const d=t.data;d.animation=(d.animation||[]).concat(r.data.animation)}}const o=r.features;if(o)for(let s=0;s=0;i--){const r=t[i];r.hostVars=n+=r.hostVars,r.hostAttrs=um(r.hostAttrs,e=um(e,r.hostAttrs))}}(i)}function pse(t,n){for(const e in n.inputs){if(!n.inputs.hasOwnProperty(e)||t.inputs.hasOwnProperty(e))continue;const i=n.inputs[e];if(void 0!==i&&(t.inputs[e]=i,t.declaredInputs[e]=n.declaredInputs[e],null!==n.inputTransforms)){const r=Array.isArray(i)?i[0]:i;if(!n.inputTransforms.hasOwnProperty(r))continue;t.inputTransforms??={},t.inputTransforms[r]=n.inputTransforms[r]}}}function $C(t){return t===nc?{}:t===Yi?[]:t}function gse(t,n){const e=t.viewQuery;t.viewQuery=e?(i,r)=>{n(i,r),e(i,r)}:n}function bse(t,n){const e=t.contentQueries;t.contentQueries=e?(i,r,o)=>{n(i,r,o),e(i,r,o)}:n}function _se(t,n){const e=t.hostBindings;t.hostBindings=e?(i,r)=>{n(i,r),e(i,r)}:n}function Ro(t){const n=t.inputConfig,e={};for(const i in n)if(n.hasOwnProperty(i)){const r=n[i];Array.isArray(r)&&r[3]&&(e[i]=r[3])}t.inputTransforms=e}class Rm{}class Ese{}class tD extends Rm{constructor(n,e,i){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new O5(this);const r=function bs(t,n){const e=t[l1]||null;if(!e&&!0===n)throw new Error(`Type ${Vr(t)} does not have '\u0275mod' property.`);return e}(n);this._bootstrapComponents=function uc(t){return t instanceof Function?t():t}(r.bootstrap),this._r3Injector=dC(n,e,[{provide:Rm,useValue:this},{provide:tg,useValue:this.componentFactoryResolver},...i],Vr(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class nD extends Ese{constructor(n){super(),this.moduleType=n}create(n){return new tD(this.moduleType,n,[])}}class mV extends Rm{constructor(n){super(),this.componentFactoryResolver=new O5(this),this.instance=null;const e=new bh([...n.providers,{provide:Rm,useValue:this},{provide:tg,useValue:this.componentFactoryResolver}],n.parent||gh(),n.debugName,new Set(["environment"]));this.injector=e,n.runEnvironmentInitializers&&e.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}let Lm=(()=>{class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new _e(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const e=this.taskId++;return this.pendingTasks.add(e),e}remove(e){this.pendingTasks.delete(e),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function iD(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function nd(t,n,e){return t[n]=e}function Lo(t,n,e){return!Object.is(t[n],e)&&(t[n]=e,!0)}function Pm(t,n,e,i){const r=Lo(t,n,e);return Lo(t,n+1,i)||r}function $e(t,n,e,i,r,o,s,a){const c=rt(),l=ki(),d=t+si,u=l.firstCreatePass?function Dse(t,n,e,i,r,o,s,a,c){const l=n.consts,d=ZA(n,t,4,s||null,Na(l,a));CI(n,e,d,Na(l,c)),lc(n,d);const u=d.tView=xI(2,d,i,r,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,l,null);return null!==n.queries&&(n.queries.template(n,d),u.queries=n.queries.embeddedTView(d)),d}(d,l,c,n,e,i,r,o,s):l.data[d];sc(u,!1);const h=AV(l,c,u,t);cc()&&TC(l,c,h,u),$t(h,c);const f=a5(h,c,h,u);return c[d]=f,IC(c,f),function z5(t,n,e){return WI(t,n,e)}(f,u,c),TA(u)&&yI(l,c,u),null!=s&&wI(c,u,a),$e}let AV=function gV(t,n,e,i){return Ls(!0),n[Kn].createComment("")};function ni(t,n,e,i){const r=rt();return Lo(r,Ua(),n)&&(ki(),ed(wr(),r,t,n,e,i)),ni}function dg(t,n,e,i){return Lo(t,Ua(),e)?n+oi(e)+i:mi}function ug(t,n,e,i,r,o){const a=Pm(t,function il(){return Xn.lFrame.bindingIndex}(),e,r);return Xs(2),a?n+oi(e)+i+oi(r)+o:mi}function tE(t,n){return t<<17|n<<2}function jh(t){return t>>17&32767}function fD(t){return 2|t}function Nm(t){return(131068&t)>>2}function mD(t,n){return-131069&t|n<<2}function pD(t){return 1|t}function KV(t,n,e,i){const r=t[e+1],o=null===n;let s=i?jh(r):Nm(r),a=!1;for(;0!==s&&(!1===a||o);){const l=t[s+1];bae(t[s],n)&&(a=!0,t[s+1]=i?pD(l):fD(l)),s=i?jh(l):Nm(l)}a&&(t[e+1]=i?fD(r):pD(r))}function bae(t,n){return null===t||null==n||(Array.isArray(t)?t[1]:t)===n||!(!Array.isArray(t)||"string"!=typeof n)&&jd(t,n)>=0}const cs={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function XV(t){return t.substring(cs.key,cs.keyEnd)}function _ae(t){return t.substring(cs.value,cs.valueEnd)}function YV(t,n){const e=cs.textEnd;return e===n?-1:(n=cs.keyEnd=function wae(t,n,e){for(;n32;)n++;return n}(t,cs.key=n,e),bg(t,n,e))}function qV(t,n){const e=cs.textEnd;let i=cs.key=bg(t,n,e);return e===i?-1:(i=cs.keyEnd=function xae(t,n,e){let i;for(;n=65&&(-33&i)<=90||i>=48&&i<=57);)n++;return n}(t,i,e),i=JV(t,i,e),i=cs.value=bg(t,i,e),i=cs.valueEnd=function Cae(t,n,e){let i=-1,r=-1,o=-1,s=n,a=s;for(;s32&&(a=s),o=r,r=i,i=-33&c}return a}(t,i,e),JV(t,i,e))}function ZV(t){cs.key=0,cs.keyEnd=0,cs.value=0,cs.valueEnd=0,cs.textEnd=t.length}function bg(t,n,e){for(;n=0;e=qV(n,e))iQ(t,XV(n),_ae(n))}function ll(t){ul(Bae,id,t,!0)}function id(t,n){for(let e=function vae(t){return ZV(t),YV(t,bg(t,0,cs.textEnd))}(n);e>=0;e=YV(n,e))or(t,XV(n),!0)}function dl(t,n,e,i){const r=rt(),o=ki(),s=Xs(2);o.firstUpdatePass&&nQ(o,t,s,i),n!==mi&&Lo(r,s,n)&&rQ(o,o.data[ss()],r,r[Kn],t,r[s+1]=function Dae(t,n){return null==t||""===t||("string"==typeof n?t+=n:"object"==typeof t&&(t=Vr(Qh(t)))),t}(n,e),i,s)}function ul(t,n,e,i){const r=ki(),o=Xs(2);r.firstUpdatePass&&nQ(r,null,o,i);const s=rt();if(e!==mi&&Lo(s,o,e)){const a=r.data[ss()];if(sQ(a,i)&&!tQ(r,o)){let c=i?a.classesWithoutHost:a.stylesWithoutHost;null!==c&&(e=aa(c,e||"")),AD(r,a,s,e,i)}else!function Iae(t,n,e,i,r,o,s,a){r===mi&&(r=Yi);let c=0,l=0,d=0=t.expandoStartIndex}function nQ(t,n,e,i){const r=t.data;if(null===r[e+1]){const o=r[ss()],s=tQ(t,e);sQ(o,i)&&null===n&&!s&&(n=!1),n=function Mae(t,n,e,i){const r=function hv(t){const n=Xn.lFrame.currentDirectiveIndex;return-1===n?null:t[n]}(t);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(e=d0(e=gD(null,t,n,e,i),n.attrs,i),o=null);else{const s=n.directiveStylingLast;if(-1===s||t[s]!==r)if(e=gD(r,t,n,e,i),null===o){let c=function Sae(t,n,e){const i=e?n.classBindings:n.styleBindings;if(0!==Nm(i))return t[jh(i)]}(t,n,i);void 0!==c&&Array.isArray(c)&&(c=gD(null,t,n,c[1],i),c=d0(c,n.attrs,i),function kae(t,n,e,i){t[jh(e?n.classBindings:n.styleBindings)]=i}(t,n,i,c))}else o=function Tae(t,n,e){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(l=!0)):d=e,r)if(0!==c){const h=jh(t[a+1]);t[i+1]=tE(h,a),0!==h&&(t[h+1]=mD(t[h+1],i)),t[a+1]=function mae(t,n){return 131071&t|n<<17}(t[a+1],i)}else t[i+1]=tE(a,0),0!==a&&(t[a+1]=mD(t[a+1],i)),a=i;else t[i+1]=tE(c,0),0===a?a=i:t[c+1]=mD(t[c+1],i),c=i;l&&(t[i+1]=fD(t[i+1])),KV(t,d,i,!0),KV(t,d,i,!1),function gae(t,n,e,i,r){const o=r?t.residualClasses:t.residualStyles;null!=o&&"string"==typeof n&&jd(o,n)>=0&&(e[i+1]=pD(e[i+1]))}(n,d,t,i,o),s=tE(a,c),o?n.classBindings=s:n.styleBindings=s}(r,o,n,e,s,i)}}function gD(t,n,e,i,r){let o=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const c=t[r],l=Array.isArray(c),d=l?c[1]:c,u=null===d;let h=e[r+1];h===mi&&(h=u?Yi:void 0);let f=u?Ic(h,i):d===i?h:void 0;if(l&&!nE(f)&&(f=Ic(c,i)),nE(f)&&(a=f,s))return a;const b=t[r+1];r=s?jh(b):Nm(b)}if(null!==n){let c=o?n.residualClasses:n.residualStyles;null!=c&&(a=Ic(c,i))}return a}function nE(t){return void 0!==t}function sQ(t,n){return!!(t.flags&(n?8:16))}function du(t,n,e){ul(or,id,dg(rt(),t,n,e),!0)}class Vae{destroy(n){}updateValue(n,e){}swap(n,e){const i=Math.min(n,e),r=Math.max(n,e),o=this.detach(r);if(r-i>1){const s=this.detach(i);this.attach(i,o),this.attach(r,s)}else this.attach(i,o)}move(n,e){this.attach(e,this.detach(n))}}function bD(t,n,e,i,r){return t===e&&Object.is(n,i)?1:Object.is(r(t,n),r(e,i))?-1:0}function _D(t,n,e,i){return!(void 0===n||!n.has(i)||(t.attach(e,n.get(i)),n.delete(i),0))}function lQ(t,n,e,i,r){if(_D(t,n,i,e(i,r)))t.updateValue(i,r);else{const o=t.create(i,r);t.attach(i,o)}}function dQ(t,n,e,i){const r=new Set;for(let o=n;o<=e;o++)r.add(i(o,t.at(o)));return r}class uQ{constructor(){this.kvMap=new Map,this._vMap=void 0}has(n){return this.kvMap.has(n)}delete(n){if(!this.has(n))return!1;const e=this.kvMap.get(n);return void 0!==this._vMap&&this._vMap.has(e)?(this.kvMap.set(n,this._vMap.get(e)),this._vMap.delete(e)):this.kvMap.delete(n),!0}get(n){return this.kvMap.get(n)}set(n,e){if(this.kvMap.has(n)){let i=this.kvMap.get(n);void 0===this._vMap&&(this._vMap=new Map);const r=this._vMap;for(;r.has(i);)i=r.get(i);r.set(i,e)}else this.kvMap.set(n,e)}forEach(n){for(let[e,i]of this.kvMap)if(n(i,e),void 0!==this._vMap){const r=this._vMap;for(;r.has(i);)i=r.get(i),n(i,e)}}}function at(t,n,e){td("NgControlFlow");const i=rt(),r=Ua(),o=vD(i,si+t);if(Lo(i,r,n)){const a=O(null);try{if(FI(o,0),-1!==n){const c=yD(i[Dt],si+n),l=eg(o,c.tView.ssrId);Wv(o,Gv(i,c,e,{dehydratedView:l}),0,JA(c,l))}}finally{O(a)}}else{const a=h5(o,0);void 0!==a&&(a[Mr]=e)}}class zae{constructor(n,e,i){this.lContainer=n,this.$implicit=e,this.$index=i}get $count(){return this.lContainer.length-Zr}}function Sr(t,n){return n}class Wae{constructor(n,e,i){this.hasEmptyBlock=n,this.trackByFn=e,this.liveCollection=i}}function xr(t,n,e,i,r,o,s,a,c,l,d,u,h){td("NgControlFlow");const f=void 0!==c,b=rt(),y=a?s.bind(b[qr][Mr]):s,C=new Wae(f,y);b[si+t]=C,$e(t+1,n,e,i,r,o),f&&$e(t+2,c,l,d,u,h)}class $ae extends Vae{constructor(n,e,i){super(),this.lContainer=n,this.hostLView=e,this.templateTNode=i,this.needsIndexUpdate=!1}get length(){return this.lContainer.length-Zr}at(n){return this.getLView(n)[Mr].$implicit}attach(n,e){const i=e[la];this.needsIndexUpdate||=n!==this.length,Wv(this.lContainer,e,n,JA(this.templateTNode,i))}detach(n){return this.needsIndexUpdate||=n!==this.length-1,function jae(t,n){return Hv(t,n)}(this.lContainer,n)}create(n,e){const i=eg(this.lContainer,this.templateTNode.tView.ssrId);return Gv(this.hostLView,this.templateTNode,new zae(this.lContainer,e,n),{dehydratedView:i})}destroy(n){SC(n[Dt],n)}updateValue(n,e){this.getLView(n)[Mr].$implicit=e}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let n=0;n{t.destroy(a)})}(s,t,o.trackByFn),s.updateIndexes(),o.hasEmptyBlock){const a=Ua(),c=0===s.length;if(Lo(i,a,c)){const l=e+2,d=vD(i,l);if(c){const u=yD(r,l),h=eg(d,u.tView.ssrId);Wv(d,Gv(i,u,void 0,{dehydratedView:h}),0,JA(u,h))}else FI(d,0)}}}finally{O(n)}}function vD(t,n){return t[n]}function yD(t,n){return vm(t,n)}function T(t,n,e,i){const r=rt(),o=ki(),s=si+t,a=r[Kn],c=o.firstCreatePass?function Xae(t,n,e,i,r,o){const s=n.consts,c=ZA(n,t,2,i,Na(s,r));return CI(n,e,c,Na(s,o)),null!==c.attrs&&QC(c,c.attrs,!1),null!==c.mergedAttrs&&QC(c,c.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,c),c}(s,o,r,n,e,i):o.data[s],l=hQ(o,r,c,a,n,t);r[s]=l;const d=TA(c);return sc(c,!0),YH(a,l,c),!function s0(t){return!(32&~t.flags)}(c)&&cc()&&TC(o,r,l,c),0===function gB(){return Xn.lFrame.elementDepthCount}()&&$t(l,r),function bB(){Xn.lFrame.elementDepthCount++}(),d&&(yI(o,r,c),vI(o,c,r)),null!==i&&wI(r,c),T}function L(){let t=dr();DA()?RA():(t=t.parent,sc(t,!1));const n=t;(function $1(t){return Xn.skipHydrationRootTNode===t})(n)&&function yB(){Xn.skipHydrationRootTNode=null}(),function _B(){Xn.lFrame.elementDepthCount--}();const e=ki();return e.firstCreatePass&&(lc(e,t),Zd(t)&&e.queries.elementEnd(t)),null!=n.classesWithoutHost&&function SB(t){return!!(8&t.flags)}(n)&&AD(e,n,rt(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function kB(t){return!!(16&t.flags)}(n)&&AD(e,n,rt(),n.stylesWithoutHost,!1),L}function fe(t,n,e,i){return T(t,n,e,i),L(),fe}let hQ=(t,n,e,i,r,o)=>(Ls(!0),MC(i,r,function Av(){return Xn.lFrame.currentNamespace}()));function iE(t,n,e){const i=rt(),r=ki(),o=t+si,s=r.firstCreatePass?function Zae(t,n,e,i,r){const o=n.consts,s=Na(o,i),a=ZA(n,t,8,"ng-container",s);return null!==s&&QC(a,s,!0),CI(n,e,a,Na(o,r)),null!==n.queries&&n.queries.elementStart(n,a),a}(o,r,i,n,e):r.data[o];sc(s,!0);const a=fQ(r,i,s,t);return i[o]=a,cc()&&TC(r,i,a,s),$t(a,i),TA(s)&&(yI(r,i,s),vI(r,s,i)),null!=e&&wI(i,s),iE}function rE(){let t=dr();const n=ki();return DA()?RA():(t=t.parent,sc(t,!1)),n.firstCreatePass&&(lc(n,t),Zd(t)&&n.queries.elementEnd(t)),rE}function _g(t,n,e){return iE(t,n,e),rE(),_g}let fQ=(t,n,e,i)=>(Ls(!0),fI(n[Kn],""));function Cn(){return rt()}function rd(t,n,e){const i=rt();return Lo(i,Ua(),n)&&Qa(ki(),wr(),i,t,n,i[Kn],e,!0),rd}const Um=void 0;var nce=["en",[["a","p"],["AM","PM"],Um],[["AM","PM"],Um,Um],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Um,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Um,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Um,"{1} 'at' {0}",Um],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function tce(t){const e=Math.floor(Math.abs(t)),i=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===i?1:5}];let vg={};function fa(t){const n=function ice(t){return t.toLowerCase().replace(/_/g,"-")}(t);let e=AQ(n);if(e)return e;const i=n.split("-")[0];if(e=AQ(i),e)return e;if("en"===i)return nce;throw new Ve(701,!1)}function AQ(t){return t in vg||(vg[t]=pi.ng&&pi.ng.common&&pi.ng.common.locales&&pi.ng.common.locales[t]),vg[t]}var zr=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}(zr||{});const yg="en-US";let gQ=yg;function De(t,n,e,i){const r=rt(),o=ki(),s=dr();return CD(o,r,r[Kn],s,t,n,i),De}function CD(t,n,e,i,r,o,s){const a=TA(i),l=t.firstCreatePass&&d5(t),d=n[Mr],u=l5(n);let h=!0;if(3&i.type||s){const y=Rs(i,n),C=s?s(y):y,x=u.length,w=s?M=>s(mr(M[i.index])):i.index;let S=null;if(!s&&a&&(S=function Jce(t,n,e,i){const r=t.cleanup;if(null!=r)for(let o=0;oc?a[c]:null}"string"==typeof s&&(o+=2)}return null}(t,n,r,i.index)),null!==S)(S.__ngLastListenerFn__||S).__ngNextListenerFn__=o,S.__ngLastListenerFn__=o,h=!1;else{o=WQ(i,n,d,o,!1);const M=e.listen(C,r,o);u.push(o,M),l&&l.push(r,w,x,x+1)}}else o=WQ(i,n,d,o,!1);const f=i.outputs;let b;if(h&&null!==f&&(b=f[r])){const y=b.length;if(y)for(let C=0;C-1?da(t.index,n):n);let c=GQ(n,e,i,s),l=o.__ngNextListenerFn__;for(;l;)c=GQ(n,e,l,s)&&c,l=l.__ngNextListenerFn__;return r&&!1===c&&s.preventDefault(),c}}function Se(t=1){return function q1(t){return(Xn.lFrame.contextLView=function Sh(t,n){for(;t>0;)n=n[yh],t--;return n}(t,Xn.lFrame.contextLView))[Mr]}(t)}function ele(t,n){let e=null;const i=function v1(t){const n=t.attrs;if(null!=n){const e=n.indexOf(5);if(!(1&e))return n[e+1]}return null}(t);for(let r=0;r(Ls(!0),function hI(t,n){return t.createText(n)}(n[Kn],i));function gr(t){return qt("",t,""),gr}function qt(t,n,e){const i=rt(),r=dg(i,t,n,e);return r!==mi&&lu(i,ss(),r),qt}function wg(t,n,e,i,r){const o=rt(),s=ug(o,t,n,e,i,r);return s!==mi&&lu(o,ss(),s),wg}function xg(t,n,e){J5(n)&&(n=n());const i=rt();return Lo(i,Ua(),n)&&Qa(ki(),wr(),i,t,n,i[Kn],e,!1),xg}function g0(t,n){const e=J5(t);return e&&t.set(n),e}function Cg(t,n){const e=rt(),i=ki(),r=dr();return CD(i,e,e[Kn],r,t,n),Cg}function ED(t,n,e,i,r){if(t=fn(t),Array.isArray(t))for(let o=0;o>20;if(Yd(t)||!t.multi){const f=new Dh(l,r,N),b=SD(c,n,r?d:d+h,u);-1===b?(xv(HA(a,s),o,c),MD(o,t,n.length),n.push(c),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),e.push(f),s.push(f)):(e[b]=f,s[b]=f)}else{const f=SD(c,n,d+h,u),b=SD(c,n,d,d+h),C=b>=0&&e[b];if(r&&!C||!r&&!(f>=0&&e[f])){xv(HA(a,s),o,c);const x=function _le(t,n,e,i,r){const o=new Dh(t,e,N);return o.multi=[],o.index=n,o.componentProviders=0,gz(o,r,i&&!e),o}(r?ble:gle,e.length,r,i,l);!r&&C&&(e[b].providerFactory=x),MD(o,t,n.length,0),n.push(c),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),e.push(x),s.push(x)}else MD(o,t,f>-1?f:b,gz(e[r?b:f],l,!r&&i));!r&&i&&C&&e[b].componentProviders++}}}function MD(t,n,e,i){const r=Yd(n),o=function ZF(t){return!!t.useClass}(n);if(r||o){const c=(o?fn(n.useClass):n).prototype.ngOnDestroy;if(c){const l=t.destroyHooks||(t.destroyHooks=[]);if(!r&&n.multi){const d=l.indexOf(e);-1===d?l.push(e,[i,c]):l[d+1].push(i,c)}else l.push(e,c)}}}function gz(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function SD(t,n,e,i){for(let r=e;r{e.providersResolver=(i,r)=>function Ale(t,n,e){const i=ki();if(i.firstCreatePass){const r=oc(t);ED(e,i.data,i.blueprint,r,!0),ED(n,i.data,i.blueprint,r,!1)}}(i,r?r(t):t,n)}}let vle=(()=>{class t{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e)){const i=O_(0,e.type),r=i.length>0?function pV(t,n,e=null){return new mV({providers:t,parent:n,debugName:e,runEnvironmentInitializers:!0}).injector}([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e,r)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}static{this.\u0275prov=st({token:t,providedIn:"environment",factory:()=>new t(ee(ic))})}}return t})();function br(t){td("NgStandalone"),t.getStandaloneInjector=n=>n.get(vle).getOrCreateStandaloneInjector(t)}function lE(t,n,e){const i=t.\u0275cmp;i.directiveDefs=vA(n,!1),i.pipeDefs=vA(e,!0)}function Kh(t,n,e){const i=ys()+t,r=rt();return r[i]===mi?nd(r,i,e?n.call(e):n()):function o0(t,n){return t[n]}(r,i)}function hl(t,n,e,i,r){return yz(rt(),ys(),t,n,e,i,r)}function b0(t,n){const e=t[n];return e===mi?void 0:e}function vz(t,n,e,i,r,o){const s=n+e;return Lo(t,s,r)?nd(t,s+1,o?i.call(o,r):i(r)):b0(t,s+1)}function yz(t,n,e,i,r,o,s){const a=n+e;return Pm(t,a,r,o)?nd(t,a+2,s?i.call(s,r,o):i(r,o)):b0(t,a+2)}function xz(t,n,e,i,r,o,s,a,c){const l=n+e;return function Uc(t,n,e,i,r,o){const s=Pm(t,n,e,i);return Pm(t,n+2,r,o)||s}(t,l,r,o,s,a)?nd(t,l+4,c?i.call(c,r,o,s,a):i(r,o,s,a)):b0(t,l+4)}function Ee(t,n){const e=ki();let i;const r=t+si;e.firstCreatePass?(i=function Tle(t,n){if(n)for(let e=n.length-1;e>=0;e--){const i=n[e];if(t===i.name)return i}}(n,e.pipeRegistry),e.data[r]=i,i.onDestroy&&(e.destroyHooks??=[]).push(r,i.onDestroy)):i=e.data[r];const o=i.factory||(i.factory=tr(i.type)),a=js(N);try{const c=NA(!1),l=o();return NA(c),function rle(t,n,e,i){e>=t.data.length&&(t.data[e]=null,t.blueprint[e]=null),n[e]=i}(e,rt(),r,l),l}finally{js(a)}}function Re(t,n,e){const i=t+si,r=rt(),o=Mh(r,i);return _0(r,i)?vz(r,ys(),n,o.transform,e,o):o.transform(e)}function po(t,n,e,i){const r=t+si,o=rt(),s=Mh(o,r);return _0(o,r)?yz(o,ys(),n,s.transform,e,i,s):s.transform(e,i)}function _0(t,n){return t[Dt].data[n].pure}function Xh(t,n){return LC(t,n)}const Wz=new He(""),fE=new He("");let PD,RD=(()=>{class t{constructor(e,i,r){this._ngZone=e,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,PD||(function Ede(t){PD=t}(r),r.addToWindow(i)),this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{mn.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb()}});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),e()},i)),this._callbacks.push({doneCb:e,timeoutId:o,updateCb:r})}whenStable(e,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,r){return[]}static{this.\u0275fac=function(i){return new(i||t)(ee(mn),ee(LD),ee(fE))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),LD=(()=>{class t{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return PD?.findTestabilityInTree(this,e,i)??null}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})();function mE(t){return!!t&&"function"==typeof t.then}function $z(t){return!!t&&"function"==typeof t.subscribe}const jz=new He("");let OD=(()=>{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((e,i)=>{this.resolve=e,this.reject=i}),this.appInits=yt(jz,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const e=[];for(const r of this.appInits){const o=r();if(mE(o))e.push(o);else if($z(o)){const s=new Promise((a,c)=>{o.subscribe({complete:a,error:c})});e.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{i()}).catch(r=>{this.reject(r)}),0===e.length&&i(),this.initialized=!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();const Kz=new He("");function qz(t,n){return Array.isArray(n)?n.reduce(qz,t):{...t,...n}}let Yh=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=yt(hC),this.afterRenderEffectManager=yt(Jv),this.externalTestViews=new Set,this.beforeRender=new It,this.afterTick=new It,this.componentTypes=[],this.components=[],this.isStable=yt(Lm).hasPendingTasks.pipe(mt(e=>!e)),this._injector=yt(ic)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(e,i){const r=e instanceof E5;if(!this._injector.get(OD).done)throw!r&&function Xd(t){const n=wi(t)||io(t)||ns(t);return null!==n&&n.standalone}(e),new Ve(405,!1);let s;s=r?e:this._injector.get(tg).resolveComponentFactory(e),this.componentTypes.push(s.componentType);const a=function Mde(t){return t.isBoundToModule}(s)?void 0:this._injector.get(Rm),l=s.create(Do.NULL,[],i||s.selector,a),d=l.location.nativeElement,u=l.injector.get(Wz,null);return u?.registerApplication(d),l.onDestroy(()=>{this.detachView(l.hostView),pE(this.components,l),u?.unregisterApplication(d)}),this._loadComponent(l),l}tick(){this._tick(!0)}_tick(e){if(this._runningTick)throw new Ve(101,!1);const i=O(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(e)}catch(r){this.internalErrorHandler(r)}finally{this.afterTick.next(),this._runningTick=!1,O(i)}}detectChangesInAttachedViews(e){let i=0;const r=this.afterRenderEffectManager;for(;;){if(i===p5)throw new Ve(103,!1);if(e){const o=0===i;this.beforeRender.next(o);for(let{_lView:s,notifyErrorHandler:a}of this._views)kde(s,o,a)}if(i++,r.executeInternalCallbacks(),![...this.externalTestViews.keys(),...this._views].some(({_lView:o})=>ND(o))&&(r.execute(),![...this.externalTestViews.keys(),...this._views].some(({_lView:o})=>ND(o))))break}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;pE(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(Kz,[]);[...this._bootstrapListeners,...i].forEach(r=>r(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>pE(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new Ve(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function pE(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function kde(t,n,e){!n&&!ND(t)||function Tde(t,n,e){let i;e?(i=0,t[Fn]|=1024):i=64&t[Fn]?0:1,RC(t,n,i)}(t,e,n)}function ND(t){return nv(t)}let Dde=(()=>{class t{constructor(){this.zone=yt(mn),this.applicationRef=yt(Yh)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Rde(){const t=yt(mn),n=yt(ws);return e=>t.runOutsideAngular(()=>n.handleError(e))}let Pde=(()=>{class t{constructor(){this.subscription=new zt,this.initialized=!1,this.zone=yt(mn),this.pendingTasks=yt(Lm)}initialize(){if(this.initialized)return;this.initialized=!0;let e=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(e=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{mn.assertNotInAngularZone(),queueMicrotask(()=>{null!==e&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(e),e=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{mn.assertInAngularZone(),e??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();const od=new He("",{providedIn:"root",factory:()=>yt(od,Hi.Optional|Hi.SkipSelf)||function Ode(){return typeof $localize<"u"&&$localize.locale||yg}()}),UD=new He("");let t8=(()=>{class t{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const r=function Roe(t="zone.js",n){return"noop"===t?new B5:"zone.js"===t?new mn(n):t}(i?.ngZone,function e8(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{const o=function Sse(t,n,e){return new tD(t,n,e)}(e.moduleType,this.injector,function Jz(t){return[{provide:mn,useFactory:t},{provide:Ba,multi:!0,useFactory:()=>{const n=yt(Dde,{optional:!0});return()=>n.initialize()}},{provide:Ba,multi:!0,useFactory:()=>{const n=yt(Pde);return()=>{n.initialize()}}},{provide:hC,useFactory:Rde}]}(()=>r)),s=o.injector.get(ws,null);return r.runOutsideAngular(()=>{const a=r.onError.subscribe({next:c=>{s.handleError(c)}});o.onDestroy(()=>{pE(this._modules,o),a.unsubscribe()})}),function Yz(t,n,e){try{const i=e();return mE(i)?i.catch(r=>{throw n.runOutsideAngular(()=>t.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}(s,r,()=>{const a=o.injector.get(OD);return a.runInitializers(),a.donePromise.then(()=>(function bQ(t){"string"==typeof t&&(gQ=t.toLowerCase().replace(/_/g,"-"))}(o.injector.get(od,yg)||yg),this._moduleDoBootstrap(o),o))})})}bootstrapModule(e,i=[]){const r=qz({},i);return function Ide(t,n,e){const i=new nD(e);return Promise.resolve(i)}(0,0,e).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(e){const i=e.injector.get(Yh);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!e.instance.ngDoBootstrap)throw new Ve(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Ve(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get(UD,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static{this.\u0275fac=function(i){return new(i||t)(ee(Do))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),qh=null;const n8=new He("");function i8(t,n,e=[]){const i=`Platform: ${n}`,r=new He(i);return(o=[])=>{let s=HD();if(!s||s.injector.get(n8,!1)){const a=[...e,...o,{provide:r,useValue:!0}];t?t(a):function Hde(t){if(qh&&!qh.get(n8,!1))throw new Ve(400,!1);(function Xz(){!function Sn(t){xt=t}(()=>{throw new Ve(600,!1)})})(),qh=t;const n=t.get(t8);(function o8(t){t.get(aH,null)?.forEach(e=>e())})(t)}(function r8(t=[],n){return Do.create({name:n,providers:[{provide:U_,useValue:"platform"},{provide:UD,useValue:new Set([()=>qh=null])},...t]})}(a,i))}return function Vde(t){const n=HD();if(!n)throw new Ve(401,!1);return n}()}}function HD(){return qh?.get(t8)??null}let ao=(()=>{class t{static{this.__NG_ELEMENT_ID__=zde}}return t})();function zde(t){return function Gde(t,n,e){if(Rc(t)&&!e){const i=da(t.index,n);return new Kv(i,i)}return 47&t.type?new Kv(n[qr],n):null}(dr(),rt(),!(16&~t))}class f8{constructor(){}supports(n){return n instanceof Map||iD(n)}create(){return new Zde}}class Zde{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(n){let e;for(e=this._mapHead;null!==e;e=e._next)n(e)}forEachPreviousItem(n){let e;for(e=this._previousMapHead;null!==e;e=e._nextPrevious)n(e)}forEachChangedItem(n){let e;for(e=this._changesHead;null!==e;e=e._nextChanged)n(e)}forEachAddedItem(n){let e;for(e=this._additionsHead;null!==e;e=e._nextAdded)n(e)}forEachRemovedItem(n){let e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)n(e)}diff(n){if(n){if(!(n instanceof Map||iD(n)))throw new Ve(900,!1)}else n=new Map;return this.check(n)?this:null}onDestroy(){}check(n){this._reset();let e=this._mapHead;if(this._appendAfter=null,this._forEach(n,(i,r)=>{if(e&&e.key===r)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const o=this._getOrCreateRecordForKey(r,i);e=this._insertBeforeOrAppend(e,o)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,e){if(n){const i=n._prev;return e._next=n,e._prev=i,n._prev=e,i&&(i._next=e),n===this._mapHead&&(this._mapHead=e),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(n,e){if(this._records.has(n)){const r=this._records.get(n);this._maybeAddToChanges(r,e);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new Jde(n);return this._records.set(n,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,e){Object.is(e,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=e,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,e){n instanceof Map?n.forEach(e):Object.keys(n).forEach(i=>e(n[i],i))}}class Jde{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function p8(){return new _E([new f8])}let _E=(()=>{class t{static{this.\u0275prov=st({token:t,providedIn:"root",factory:p8})}constructor(e){this.factories=e}static create(e,i){if(i){const r=i.factories.slice();e=e.concat(r)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||p8()),deps:[[t,new Bc,new Bo]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(i)return i;throw new Ve(901,!1)}}return t})();const nue=i8(null,"core",[]);let iue=(()=>{class t{constructor(e){}static{this.\u0275fac=function(i){return new(i||t)(ee(Yh))}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})();function Nn(t){return"boolean"==typeof t?t:null!=t&&"false"!==t}function qs(t,n=NaN){return isNaN(parseFloat(t))||isNaN(Number(t))?n:Number(t)}function O8(t,n){td("NgSignals");const e=function Qe(t){const n=Object.create(et);n.computation=t;const e=()=>{if(pe(n),q(n),n.value===ze)throw n.error;return n.value};return e[B]=n,e}(t);return n?.equal&&(e[B].equal=n.equal),e}function N8(t){const n=O(null);try{return t()}finally{O(n)}}const Due=new He("",{providedIn:"root",factory:()=>yt(Rue)});let Rue=(()=>{class t{static{this.\u0275prov=st({token:t,providedIn:"root",factory:()=>new Lue})}}return t})();class Lue{constructor(){this.queuedEffectCount=0,this.queues=new Map,this.pendingTasks=yt(Lm),this.taskId=null}scheduleEffect(n){if(this.enqueue(n),null===this.taskId){const e=this.taskId=this.pendingTasks.add();queueMicrotask(()=>{this.flush(),this.pendingTasks.remove(e),this.taskId=null})}}enqueue(n){const e=n.creationZone;this.queues.has(e)||this.queues.set(e,new Set);const i=this.queues.get(e);i.has(n)||(this.queuedEffectCount++,i.add(n))}flush(){for(;this.queuedEffectCount>0;)for(const[n,e]of this.queues)null===n?this.flushQueue(e):n.run(()=>this.flushQueue(e))}flushQueue(n){for(const e of n)n.delete(e),this.queuedEffectCount--,e.run()}}class Pue{constructor(n,e,i,r,o,s){this.scheduler=n,this.effectFn=e,this.creationZone=i,this.injector=o,this.watcher=function wn(t,n,e){const i=Object.create(Vt);e&&(i.consumerAllowSignalWrites=!0),i.fn=t,i.schedule=n;const r=c=>{i.cleanupFn=c};return i.ref={notify:()=>Ge(i),run:()=>{if(null===i.fn)return;if(function V(){return U}())throw new Error("Schedulers cannot synchronously execute watches while scheduling.");if(i.dirty=!1,i.hasRun&&!We(i))return;i.hasRun=!0;const c=qe(i);try{i.cleanupFn(),i.cleanupFn=kt,i.fn(r)}finally{xe(i,c)}},cleanup:()=>i.cleanupFn(),destroy:()=>function s(c){(function o(c){return null===c.fn&&null===c.schedule})(c)||(it(c),c.cleanupFn(),c.fn=null,c.schedule=null,c.cleanupFn=kt)}(i),[B]:i},i.ref}(a=>this.runEffect(a),()=>this.schedule(),s),this.unregisterOnDestroy=r?.onDestroy(()=>this.destroy())}runEffect(n){try{this.effectFn(n)}catch(e){this.injector.get(ws,null,{optional:!0})?.handleError(e)}}run(){this.watcher.run()}schedule(){this.scheduler.scheduleEffect(this)}destroy(){this.watcher.destroy(),this.unregisterOnDestroy?.()}}let H8=null;function Zh(){return H8}class Nue{}const Di=new He("");let V8=(()=>{class t{historyGo(e){throw new Error("")}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:()=>yt(Uue),providedIn:"platform"})}}return t})(),Uue=(()=>{class t extends V8{constructor(){super(),this._doc=yt(Di),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Zh().getBaseHref(this._doc)}onPopState(e){const i=Zh().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",e,!1),()=>i.removeEventListener("popstate",e)}onHashChange(e){const i=Zh().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",e,!1),()=>i.removeEventListener("hashchange",e)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(e){this._location.pathname=e}pushState(e,i,r){this._history.pushState(e,i,r)}replaceState(e,i,r){this._history.replaceState(e,i,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:()=>new t,providedIn:"platform"})}}return t})();function Q8(t,n){if(0==t.length)return n;if(0==n.length)return t;let e=0;return t.endsWith("/")&&e++,n.startsWith("/")&&e++,2==e?t+n.substring(1):1==e?t+n:t+"/"+n}function z8(t){const n=t.match(/#|\?|$/),e=n&&n.index||t.length;return t.slice(0,e-("/"===t[e-1]?1:0))+t.slice(e)}function Vm(t){return t&&"?"!==t[0]?"?"+t:t}let XD=(()=>{class t{historyGo(e){throw new Error("")}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:()=>yt(Vue),providedIn:"root"})}}return t})();const Hue=new He("");let Vue=(()=>{class t extends XD{constructor(e,i){super(),this._platformLocation=e,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??yt(Di).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return Q8(this._baseHref,e)}path(e=!1){const i=this._platformLocation.pathname+Vm(this._platformLocation.search),r=this._platformLocation.hash;return r&&e?`${i}${r}`:i}pushState(e,i,r,o){const s=this.prepareExternalUrl(r+Vm(o));this._platformLocation.pushState(e,i,s)}replaceState(e,i,r,o){const s=this.prepareExternalUrl(r+Vm(o));this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static{this.\u0275fac=function(i){return new(i||t)(ee(V8),ee(Hue,8))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),YD=(()=>{class t{constructor(e){this._subject=new vn,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=e;const i=this._locationStrategy.getBaseHref();this._basePath=function Gue(t){if(new RegExp("^(https?:)?//").test(t)){const[,e]=t.split(/\/\/[^\/]+/);return e}return t}(z8(G8(i))),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,i=""){return this.path()==this.normalize(e+Vm(i))}normalize(e){return t.stripTrailingSlash(function zue(t,n){if(!t||!n.startsWith(t))return n;const e=n.substring(t.length);return""===e||["/",";","?","#"].includes(e[0])?e:n}(this._basePath,G8(e)))}prepareExternalUrl(e){return e&&"/"!==e[0]&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,i="",r=null){this._locationStrategy.pushState(r,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Vm(i)),r)}replaceState(e,i="",r=null){this._locationStrategy.replaceState(r,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Vm(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription??=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}),()=>{const i=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",i){this._urlChangeListeners.forEach(r=>r(e,i))}subscribe(e,i,r){return this._subject.subscribe({next:e,error:i,complete:r})}static{this.normalizeQueryParams=Vm}static{this.joinWithSlash=Q8}static{this.stripTrailingSlash=z8}static{this.\u0275fac=function(i){return new(i||t)(ee(XD))}}static{this.\u0275prov=st({token:t,factory:()=>function Que(){return new YD(ee(XD))}(),providedIn:"root"})}}return t})();function G8(t){return t.replace(/\/index.html$/,"")}var EE=function(t){return t[t.Decimal=0]="Decimal",t[t.Percent=1]="Percent",t[t.Currency=2]="Currency",t[t.Scientific=3]="Scientific",t}(EE||{}),Tg=function(t){return t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Few=3]="Few",t[t.Many=4]="Many",t[t.Other=5]="Other",t}(Tg||{});const Ko={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function Hc(t,n){const e=fa(t),i=e[zr.NumberSymbols][n];if(typeof i>"u"){if(n===Ko.CurrencyDecimal)return e[zr.NumberSymbols][Ko.Decimal];if(n===Ko.CurrencyGroup)return e[zr.NumberSymbols][Ko.Group]}return i}const Zue=function pQ(t){return fa(t)[zr.PluralCase]},ghe=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function o2(t){const n=parseInt(t);if(isNaN(n))throw new Error("Invalid integer literal when parsing "+t);return n}let s2=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:function(i){let r=null;return i?r=new i:(o=ee(od),r=new She(o)),r;var o},providedIn:"root"})}}return t})();let She=(()=>{class t extends s2{constructor(e){super(),this.locale=e}getPluralCategory(e,i){switch(Zue(i||this.locale)(e)){case Tg.Zero:return"zero";case Tg.One:return"one";case Tg.Two:return"two";case Tg.Few:return"few";case Tg.Many:return"many";default:return"other"}}static{this.\u0275fac=function(i){return new(i||t)(ee(od))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();function J8(t,n){n=encodeURIComponent(n);for(const e of t.split(";")){const i=e.indexOf("="),[r,o]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}const a2=/\s+/,e6=[];let Qm=(()=>{class t{constructor(e,i){this._ngEl=e,this._renderer=i,this.initialClasses=e6,this.stateMap=new Map}set klass(e){this.initialClasses=null!=e?e.trim().split(a2):e6}set ngClass(e){this.rawClass="string"==typeof e?e.trim().split(a2):e}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(const i of e)this._updateState(i,!0);else if(null!=e)for(const i of Object.keys(e))this._updateState(i,!!e[i]);this._applyStateDiff()}_updateState(e,i){const r=this.stateMap.get(e);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const e of this.stateMap){const i=e[0],r=e[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(e,i){(e=e.trim()).length>0&&e.split(a2).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(Bm))}}static{this.\u0275dir=Et({type:t,selectors:[["","ngClass",""]],inputs:{klass:[Ke.None,"class","klass"],ngClass:"ngClass"},standalone:!0})}}return t})(),E0=(()=>{class t{constructor(e,i){this._viewContainer=e,this._context=new Bhe,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){i6("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){i6("ngIfElse",e),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(e,i){return!0}static{this.\u0275fac=function(i){return new(i||t)(N(ha),N(hc))}}static{this.\u0275dir=Et({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}}return t})();class Bhe{constructor(){this.$implicit=null,this.ngIf=null}}function i6(t,n){if(n&&!n.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${Vr(n)}'.`)}class c2{constructor(n,e){this._viewContainerRef=n,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(n){n&&!this._created?this.create():!n&&this._created&&this.destroy()}}let d2=(()=>{class t{constructor(e){this._localization=e,this._caseViews={}}set ngPlural(e){this._updateView(e)}addCase(e,i){this._caseViews[e]=i}_updateView(e){this._clearViews();const r=function Z8(t,n,e,i){let r=`=${t}`;if(n.indexOf(r)>-1||(r=e.getPluralCategory(t,i),n.indexOf(r)>-1))return r;if(n.indexOf("other")>-1)return"other";throw new Error(`No plural message found for value "${t}"`)}(e,Object.keys(this._caseViews),this._localization);this._activateView(this._caseViews[r])}_clearViews(){this._activeView&&this._activeView.destroy()}_activateView(e){e&&(this._activeView=e,this._activeView.create())}static{this.\u0275fac=function(i){return new(i||t)(N(s2))}}static{this.\u0275dir=Et({type:t,selectors:[["","ngPlural",""]],inputs:{ngPlural:"ngPlural"},standalone:!0})}}return t})(),r6=(()=>{class t{constructor(e,i,r,o){this.value=e;const s=!isNaN(Number(e));o.addCase(s?`=${e}`:e,new c2(r,i))}static{this.\u0275fac=function(i){return new(i||t)(Oc("ngPluralCase"),N(hc),N(ha),N(d2,1))}}static{this.\u0275dir=Et({type:t,selectors:[["","ngPluralCase",""]],standalone:!0})}}return t})(),Fg=(()=>{class t{constructor(e,i,r){this._ngEl=e,this._differs=i,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){const e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,i){const[r,o]=e.split("."),s=-1===r.indexOf("-")?void 0:Gh.DashCase;null!=i?this._renderer.setStyle(this._ngEl.nativeElement,r,o?`${i}${o}`:i,s):this._renderer.removeStyle(this._ngEl.nativeElement,r,s)}_applyChanges(e){e.forEachRemovedItem(i=>this._setStyle(i.key,null)),e.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),e.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(_E),N(Bm))}}static{this.\u0275dir=Et({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0})}}return t})(),M0=(()=>{class t{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(this._shouldRecreateView(e)){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const r=this._createContextForwardProxy();this._viewRef=i.createEmbeddedView(this.ngTemplateOutlet,r,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,i,r)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,i,r),get:(e,i,r)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,i,r)}})}static{this.\u0275fac=function(i){return new(i||t)(N(ha))}}static{this.\u0275dir=Et({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[ar]})}}return t})();function ml(t,n){return new Ve(2100,!1)}class Lhe{createSubscription(n,e){return N8(()=>n.subscribe({next:e,error:i=>{throw i}}))}dispose(n){N8(()=>n.unsubscribe())}}class Phe{createSubscription(n,e){return n.then(e,i=>{throw i})}dispose(n){}}const Ohe=new Phe,Nhe=new Lhe;let Ln=(()=>{class t{constructor(e){this._latestValue=null,this.markForCheckOnValueUpdate=!0,this._subscription=null,this._obj=null,this._strategy=null,this._ref=e}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(e){if(!this._obj){if(e)try{this.markForCheckOnValueUpdate=!1,this._subscribe(e)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue}_subscribe(e){this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,i=>this._updateLatestValue(e,i))}_selectStrategy(e){if(mE(e))return Ohe;if($z(e))return Nhe;throw ml()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(e,i){e===this._obj&&(this._latestValue=i,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static{this.\u0275fac=function(i){return new(i||t)(N(ao,16))}}static{this.\u0275pipe=sr({name:"async",type:t,pure:!1,standalone:!0})}}return t})();const Hhe=/(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])\S*/g;let o6=(()=>{class t{transform(e){if(null==e)return null;if("string"!=typeof e)throw ml();return e.replace(Hhe,i=>i[0].toUpperCase()+i.slice(1).toLowerCase())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"titlecase",type:t,pure:!0,standalone:!0})}}return t})(),s6=(()=>{class t{transform(e){if(null==e)return null;if("string"!=typeof e)throw ml();return e.toUpperCase()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"uppercase",type:t,pure:!0,standalone:!0})}}return t})(),PE=(()=>{class t{constructor(e){this.differs=e,this.keyValues=[],this.compareFn=a6}transform(e,i=a6){if(!e||!(e instanceof Map)&&"object"!=typeof e)return null;this.differ??=this.differs.find(e).create();const r=this.differ.diff(e),o=i!==this.compareFn;return r&&(this.keyValues=[],r.forEachItem(s=>{this.keyValues.push(function Xhe(t,n){return{key:t,value:n}}(s.key,s.currentValue))})),(r||o)&&(this.keyValues.sort(i),this.compareFn=i),this.keyValues}static{this.\u0275fac=function(i){return new(i||t)(N(_E,16))}}static{this.\u0275pipe=sr({name:"keyvalue",type:t,pure:!1,standalone:!0})}}return t})();function a6(t,n){const e=t.key,i=n.key;if(e===i)return 0;if(void 0===e)return 1;if(void 0===i)return-1;if(null===e)return 1;if(null===i)return-1;if("string"==typeof e&&"string"==typeof i)return e{class t{constructor(e){this._locale=e}transform(e,i,r){if(!function u2(t){return!(null==t||""===t||t!=t)}(e))return null;r||=this._locale;try{return function xhe(t,n,e){return function n2(t,n,e,i,r,o,s=!1){let a="",c=!1;if(isFinite(t)){let l=function Ehe(t){let i,r,o,s,a,n=Math.abs(t)+"",e=0;for((r=n.indexOf("."))>-1&&(n=n.replace(".","")),(o=n.search(/e/i))>0?(r<0&&(r=o),r+=+n.slice(o+1),n=n.substring(0,o)):r<0&&(r=n.length),o=0;"0"===n.charAt(o);o++);if(o===(a=n.length))i=[0],r=1;else{for(a--;"0"===n.charAt(a);)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(n.charAt(o))}return r>22&&(i=i.splice(0,21),e=r-1,r=1),{digits:i,exponent:e,integerLen:r}}(t);s&&(l=function Che(t){if(0===t.digits[0])return t;const n=t.digits.length-t.integerLen;return t.exponent?t.exponent+=2:(0===n?t.digits.push(0,0):1===n&&t.digits.push(0),t.integerLen+=2),t}(l));let d=n.minInt,u=n.minFrac,h=n.maxFrac;if(o){const w=o.match(ghe);if(null===w)throw new Error(`${o} is not a valid digit info`);const S=w[1],M=w[3],P=w[5];null!=S&&(d=o2(S)),null!=M&&(u=o2(M)),null!=P?h=o2(P):null!=M&&u>h&&(h=u)}!function Mhe(t,n,e){if(n>e)throw new Error(`The minimum number of digits after fraction (${n}) is higher than the maximum (${e}).`);let i=t.digits,r=i.length-t.integerLen;const o=Math.min(Math.max(n,r),e);let s=o+t.integerLen,a=i[s];if(s>0){i.splice(Math.max(t.integerLen,s));for(let u=s;u=5)if(s-1<0){for(let u=0;u>s;u--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[s-1]++;for(;r=l?b.pop():c=!1),h>=10?1:0},0);d&&(i.unshift(d),t.integerLen++)}(l,u,h);let f=l.digits,b=l.integerLen;const y=l.exponent;let C=[];for(c=f.every(w=>!w);b0?C=f.splice(b,f.length):(C=f,f=[0]);const x=[];for(f.length>=n.lgSize&&x.unshift(f.splice(-n.lgSize,f.length).join(""));f.length>n.gSize;)x.unshift(f.splice(-n.gSize,f.length).join(""));f.length&&x.unshift(f.join("")),a=x.join(Hc(e,i)),C.length&&(a+=Hc(e,r)+C.join("")),y&&(a+=Hc(e,Ko.Exponential)+"+"+y)}else a=Hc(e,Ko.Infinity);return a=t<0&&!c?n.negPre+a+n.negSuf:n.posPre+a+n.posSuf,a}(t,function r2(t,n="-"){const e={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(";"),r=i[0],o=i[1],s=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=s[0],c=s[1]||"";e.posPre=a.substring(0,a.indexOf("#"));for(let d=0;d{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})();const c6="browser";function l6(t){return"server"===t}class d6{}class Ffe extends Nue{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class m2 extends Ffe{static makeCurrent(){!function Oue(t){H8??=t}(new m2)}onAndCancel(n,e,i){return n.addEventListener(e,i),()=>{n.removeEventListener(e,i)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,e){return(e=e||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return"window"===e?window:"document"===e?n:"body"===e?n.body:null}getBaseHref(n){const e=function Bfe(){return F0=F0||document.querySelector("base"),F0?F0.getAttribute("href"):null}();return null==e?null:function Ife(t){return new URL(t,document.baseURI).pathname}(e)}resetBaseElement(){F0=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return J8(document.cookie,n)}}let F0=null,Rfe=(()=>{class t{build(){return new XMLHttpRequest}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const p2=new He("");let _6=(()=>{class t{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(r=>{r.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,i,r){return this._findPluginFor(i).addEventListener(e,i,r)}getZone(){return this._zone}_findPluginFor(e){let i=this._eventNameToPlugin.get(e);if(i)return i;if(i=this._plugins.find(o=>o.supports(e)),!i)throw new Ve(5101,!1);return this._eventNameToPlugin.set(e,i),i}static{this.\u0275fac=function(i){return new(i||t)(ee(p2),ee(mn))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();class v6{constructor(n){this._doc=n}}const A2="ng-app-id";let y6=(()=>{class t{constructor(e,i,r,o={}){this.doc=e,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=l6(o),this.resetHostNodes()}addStyles(e){for(const i of e)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(e){for(const i of e)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const e=this.styleNodesInDOM;e&&(e.forEach(i=>i.remove()),e.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(e){this.hostNodes.add(e);for(const i of this.getAllStyles())this.addStyleToHost(e,i)}removeHost(e){this.hostNodes.delete(e)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(e){for(const i of this.hostNodes)this.addStyleToHost(i,e)}onStyleRemoved(e){const i=this.styleRef;i.get(e)?.elements?.forEach(r=>r.remove()),i.delete(e)}collectServerRenderedStyles(){const e=this.doc.head?.querySelectorAll(`style[${A2}="${this.appId}"]`);if(e?.length){const i=new Map;return e.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(e,i){const r=this.styleRef;if(r.has(e)){const o=r.get(e);return o.usage+=i,o.usage}return r.set(e,{usage:i,elements:[]}),i}getStyleElement(e,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===e)return r.delete(i),o.removeAttribute(A2),o;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(A2,this.appId),e.appendChild(s),s}}addStyleToHost(e,i){const r=this.getStyleElement(e,i),o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const e=this.hostNodes;e.clear(),e.add(this.doc.head)}static{this.\u0275fac=function(i){return new(i||t)(ee(Di),ee(Bv),ee(QB,8),ee(Vh))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const g2={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},b2=/%COMP%/g,Nfe=new He("",{providedIn:"root",factory:()=>!0});function x6(t,n){return n.map(e=>e.replace(b2,t))}let _2=(()=>{class t{constructor(e,i,r,o,s,a,c,l=null){this.eventManager=e,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=c,this.nonce=l,this.rendererByCompId=new Map,this.platformIsServer=l6(a),this.defaultRenderer=new v2(e,s,c,this.platformIsServer)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Ia.ShadowDom&&(i={...i,encapsulation:Ia.Emulated});const r=this.getOrCreateRenderer(e,i);return r instanceof E6?r.applyToHost(e):r instanceof y2&&r.applyStyles(),r}getOrCreateRenderer(e,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const s=this.doc,a=this.ngZone,c=this.eventManager,l=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,u=this.platformIsServer;switch(i.encapsulation){case Ia.Emulated:o=new E6(c,l,i,this.appId,d,s,a,u);break;case Ia.ShadowDom:return new Qfe(c,l,e,i,s,a,this.nonce,u);default:o=new y2(c,l,i,d,s,a,u)}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static{this.\u0275fac=function(i){return new(i||t)(ee(_6),ee(y6),ee(Bv),ee(Nfe),ee(Di),ee(Vh),ee(mn),ee(QB))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();class v2{constructor(n,e,i,r){this.eventManager=n,this.doc=e,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,e){return e?this.doc.createElementNS(g2[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(C6(n)?n.content:n).appendChild(e)}insertBefore(n,e,i){n&&(C6(n)?n.content:n).insertBefore(e,i)}removeChild(n,e){n&&n.removeChild(e)}selectRootElement(n,e){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new Ve(-5104,!1);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,r){if(r){e=r+":"+e;const o=g2[r];o?n.setAttributeNS(o,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){const r=g2[i];r?n.removeAttributeNS(r,e):n.removeAttribute(`${i}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,i,r){r&(Gh.DashCase|Gh.Important)?n.style.setProperty(e,i,r&Gh.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&Gh.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){null!=n&&(n[e]=i)}setValue(n,e){n.nodeValue=e}listen(n,e,i){if("string"==typeof n&&!(n=Zh().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${e}`);return this.eventManager.addEventListener(n,e,this.decoratePreventDefault(i))}decoratePreventDefault(n){return e=>{if("__ngUnwrap__"===e)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(e)):n(e))&&e.preventDefault()}}}function C6(t){return"TEMPLATE"===t.tagName&&void 0!==t.content}class Qfe extends v2{constructor(n,e,i,r,o,s,a,c){super(n,o,s,c),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const l=x6(r.id,r.styles);for(const d of l){const u=document.createElement("style");a&&u.setAttribute("nonce",a),u.textContent=d,this.shadowRoot.appendChild(u)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,i){return super.insertBefore(this.nodeOrShadowRoot(n),e,i)}removeChild(n,e){return super.removeChild(this.nodeOrShadowRoot(n),e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class y2 extends v2{constructor(n,e,i,r,o,s,a,c){super(n,o,s,a),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=r,this.styles=c?x6(c,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class E6 extends y2{constructor(n,e,i,r,o,s,a,c){const l=r+"-"+i.id;super(n,e,i,o,s,a,c,l),this.contentAttr=function Ufe(t){return"_ngcontent-%COMP%".replace(b2,t)}(l),this.hostAttr=function Hfe(t){return"_nghost-%COMP%".replace(b2,t)}(l)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){const i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}}let zfe=(()=>{class t extends v6{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,r){return e.addEventListener(i,r,!1),()=>this.removeEventListener(e,i,r)}removeEventListener(e,i,r){return e.removeEventListener(i,r)}static{this.\u0275fac=function(i){return new(i||t)(ee(Di))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const M6=["alt","control","meta","shift"],Gfe={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Wfe={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let $fe=(()=>{class t extends v6{constructor(e){super(e)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,r){const o=t.parseEventName(i),s=t.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Zh().onAndCancel(e,o.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=t._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),M6.forEach(l=>{const d=i.indexOf(l);d>-1&&(i.splice(d,1),s+=l+".")}),s+=o,0!=i.length||0===o.length)return null;const c={};return c.domEventName=r,c.fullKey=s,c}static matchEventFullKeyCode(e,i){let r=Gfe[e.key]||e.key,o="";return i.indexOf("code.")>-1&&(r=e.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),M6.forEach(s=>{s!==r&&(0,Wfe[s])(e)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(e,i,r){return o=>{t.matchEventFullKeyCode(o,e)&&r.runGuarded(()=>i(o))}}static _normalizeKey(e){return"esc"===e?"escape":e}static{this.\u0275fac=function(i){return new(i||t)(ee(Di))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const k6=[{provide:Vh,useValue:c6},{provide:aH,useValue:function jfe(){m2.makeCurrent()},multi:!0},{provide:Di,useFactory:function Xfe(){return function oie(t){VB=t}(document),document},deps:[]}],Yfe=i8(nue,"browser",k6),qfe=new He(""),T6=[{provide:fE,useClass:class Dfe{addToWindow(n){pi.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new Ve(5103,!1);return o},pi.getAllAngularTestabilities=()=>n.getAllTestabilities(),pi.getAllAngularRootElements=()=>n.getAllRootElements(),pi.frameworkStabilizers||(pi.frameworkStabilizers=[]),pi.frameworkStabilizers.push(i=>{const r=pi.getAllAngularTestabilities();let o=r.length;const s=function(){o--,0==o&&i()};r.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,e,i){return null==e?null:n.getTestability(e)??(i?Zh().isShadowRoot(e)?this.findTestabilityInTree(n,e.host,!0):this.findTestabilityInTree(n,e.parentElement,!0):null)}},deps:[]},{provide:Wz,useClass:RD,deps:[mn,LD,fE]},{provide:RD,useClass:RD,deps:[mn,LD,fE]}],F6=[{provide:U_,useValue:"root"},{provide:ws,useFactory:function Kfe(){return new ws},deps:[]},{provide:p2,useClass:zfe,multi:!0,deps:[Di,mn,Vh]},{provide:p2,useClass:$fe,multi:!0,deps:[Di]},_2,y6,_6,{provide:OI,useExisting:_2},{provide:d6,useClass:Rfe,deps:[]},[]];let B6=(()=>{class t{constructor(e){}static withServerTransition(e){return{ngModule:t,providers:[{provide:Bv,useValue:e.appId}]}}static{this.\u0275fac=function(i){return new(i||t)(ee(qfe,12))}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[...F6,...T6],imports:[nn,iue]})}}return t})();function L6(t){return t&&Yt(t.schedule)}function w2(t){return t[t.length-1]}function x2(t){return Yt(w2(t))?t.pop():void 0}function I0(t){return L6(w2(t))?t.pop():void 0}function Jh(t){return this instanceof Jh?(this.v=t,this):new Jh(t)}function U6(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=function S2(t){var n="function"==typeof Symbol&&Symbol.iterator,e=n&&t[n],i=0;if(e)return e.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(o){e[o]=t[o]&&function(s){return new Promise(function(a,c){!function r(o,s,a,c){Promise.resolve(c).then(function(l){o({value:l,done:a})},s)}(a,c,(s=t[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const k2=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function H6(t){return Yt(t?.then)}function V6(t){return Yt(t[Jc])}function Q6(t){return Symbol.asyncIterator&&Yt(t?.[Symbol.asyncIterator])}function z6(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const G6=function xme(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function W6(t){return Yt(t?.[G6])}function $6(t){return function N6(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=e.apply(t,n||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(h){i[h]&&(r[h]=function(f){return new Promise(function(b,y){o.push([h,f,b,y])>1||a(h,f)})})}function a(h,f){try{!function c(h){h.value instanceof Jh?Promise.resolve(h.value.v).then(l,d):u(o[0][2],h)}(i[h](f))}catch(b){u(o[0][3],b)}}function l(h){a("next",h)}function d(h){a("throw",h)}function u(h,f){h(f),o.shift(),o.length&&a(o[0][0],o[0][1])}}(this,arguments,function*(){const e=t.getReader();try{for(;;){const{value:i,done:r}=yield Jh(e.read());if(r)return yield Jh(void 0);yield yield Jh(i)}}finally{e.releaseLock()}})}function j6(t){return Yt(t?.getReader)}function No(t){if(t instanceof Wi)return t;if(null!=t){if(V6(t))return function Cme(t){return new Wi(n=>{const e=t[Jc]();if(Yt(e.subscribe))return e.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(t);if(k2(t))return function Eme(t){return new Wi(n=>{for(let e=0;e{t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,Nr)})}(t);if(Q6(t))return K6(t);if(W6(t))return function Sme(t){return new Wi(n=>{for(const e of t)if(n.next(e),n.closed)return;n.complete()})}(t);if(j6(t))return function kme(t){return K6($6(t))}(t)}throw z6(t)}function K6(t){return new Wi(n=>{(function Tme(t,n){var e,i,r,o;return function P6(t,n,e,i){return new(e||(e=Promise))(function(o,s){function a(d){try{l(i.next(d))}catch(u){s(u)}}function c(d){try{l(i.throw(d))}catch(u){s(u)}}function l(d){d.done?o(d.value):function r(o){return o instanceof e?o:new e(function(s){s(o)})}(d.value).then(a,c)}l((i=i.apply(t,n||[])).next())})}(this,void 0,void 0,function*(){try{for(e=U6(t);!(i=yield e.next()).done;)if(n.next(i.value),n.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=e.return)&&(yield o.call(e))}finally{if(r)throw r.error}}n.complete()})})(t,n).catch(e=>n.error(e))})}function mu(t,n,e,i=0,r=!1){const o=n.schedule(function(){e(),r?t.add(this.schedule(null,i)):this.unsubscribe()},i);if(t.add(o),!r)return o}function T2(t,n=0){return be((e,i)=>{e.subscribe(Ie(i,r=>mu(i,t,()=>i.next(r),n),()=>mu(i,t,()=>i.complete(),n),r=>mu(i,t,()=>i.error(r),n)))})}function X6(t,n=0){return be((e,i)=>{i.add(t.schedule(()=>e.subscribe(i),n))})}function Y6(t,n){if(!t)throw new Error("Iterable cannot be null");return new Wi(e=>{mu(e,n,()=>{const i=t[Symbol.asyncIterator]();mu(e,n,()=>{i.next().then(r=>{r.done?e.complete():e.next(r.value)})},0,!0)})})}function zm(t,n){return n?function Lme(t,n){if(null!=t){if(V6(t))return function Fme(t,n){return No(t).pipe(X6(n),T2(n))}(t,n);if(k2(t))return function Ime(t,n){return new Wi(e=>{let i=0;return n.schedule(function(){i===t.length?e.complete():(e.next(t[i++]),e.closed||this.schedule())})})}(t,n);if(H6(t))return function Bme(t,n){return No(t).pipe(X6(n),T2(n))}(t,n);if(Q6(t))return Y6(t,n);if(W6(t))return function Dme(t,n){return new Wi(e=>{let i;return mu(e,n,()=>{i=t[G6](),mu(e,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void e.error(s)}o?e.complete():e.next(r)},0,!0)}),()=>Yt(i?.return)&&i.return()})}(t,n);if(j6(t))return function Rme(t,n){return Y6($6(t),n)}(t,n)}throw z6(t)}(t,n):No(t)}function pu(...t){return zm(t,I0(t))}function ef(t,n,e=1/0){return Yt(n)?ef((i,r)=>mt((o,s)=>n(i,o,r,s))(No(t(i,r))),e):("number"==typeof n&&(e=n),be((i,r)=>function Pme(t,n,e,i,r,o,s,a){const c=[];let l=0,d=0,u=!1;const h=()=>{u&&!c.length&&!l&&n.complete()},f=y=>l{o&&n.next(y),l++;let C=!1;No(e(y,d++)).subscribe(Ie(n,x=>{r?.(x),o?f(x):n.next(x)},()=>{C=!0},void 0,()=>{if(C)try{for(l--;c.length&&lb(x)):b(x)}h()}catch(x){n.error(x)}}))};return t.subscribe(Ie(n,f,()=>{u=!0,h()})),()=>{a?.()}}(i,r,t,e)))}function Mi(t,n){return be((e,i)=>{let r=0;e.subscribe(Ie(i,o=>t.call(n,o,r++)&&i.next(o)))})}function q6(t){return be((n,e)=>{try{n.subscribe(e)}finally{e.add(t)}})}function tf(t,n){return be((e,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();e.subscribe(Ie(i,c=>{r?.unsubscribe();let l=0;const d=o++;No(t(c,d)).subscribe(r=Ie(i,u=>i.next(n?n(c,u,d,l++):u),()=>{r=null,a()}))},()=>{s=!0,a()}))})}class HE{}class VE{}class Qc{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const r=e.slice(0,i),o=r.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,i)=>{this.setHeaderEntries(i,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,i])=>{this.setHeaderEntries(e,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof Qc?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){const e=new Qc;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Qc?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){const e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,e);const r=("a"===n.op?this.headers.get(e):void 0)||[];r.push(...i),this.headers.set(e,r);break;case"d":const o=n.value;if(o){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}setHeaderEntries(n,e){const i=(Array.isArray(e)?e:[e]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}}class Nme{encodeKey(n){return Z6(n)}encodeValue(n){return Z6(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const Hme=/%(\d[a-f0-9])/gi,Vme={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Z6(t){return encodeURIComponent(t).replace(Hme,(n,e)=>Vme[e]??n)}function QE(t){return`${t}`}class nf{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new Nme,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Ume(t,n){const e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],c=e.get(s)||[];c.push(a),e.set(s,c)}),e}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{const i=n.fromObject[e],r=Array.isArray(i)?i.map(QE):[QE(i)];this.map.set(e,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){const e=[];return Object.keys(n).forEach(i=>{const r=n[i];Array.isArray(r)?r.forEach(o=>{e.push({param:i,value:o,op:"a"})}):e.push({param:i,value:r,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const e=new nf({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const e=("a"===n.op?this.map.get(n.param):void 0)||[];e.push(QE(n.value)),this.map.set(n.param,e);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const r=i.indexOf(QE(n.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class Qme{constructor(){this.map=new Map}set(n,e){return this.map.set(n,e),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function J6(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function eG(t){return typeof Blob<"u"&&t instanceof Blob}function tG(t){return typeof FormData<"u"&&t instanceof FormData}class D0{constructor(n,e,i,r){let o;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function zme(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),this.transferCache=o.transferCache),this.headers??=new Qc,this.context??=new Qme,this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":ah.set(f,n.setHeaders[f]),l)),n.setParams&&(d=Object.keys(n.setParams).reduce((h,f)=>h.set(f,n.setParams[f]),d)),new D0(e,i,s,{params:d,headers:l,context:u,reportProgress:c,responseType:r,withCredentials:a,transferCache:o})}}var rf=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}(rf||{});class F2{constructor(n,e=R0.Ok,i="OK"){this.headers=n.headers||new Qc,this.status=void 0!==n.status?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class zE extends F2{constructor(n={}){super(n),this.type=rf.ResponseHeader}clone(n={}){return new zE({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class Gm extends F2{constructor(n={}){super(n),this.type=rf.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new Gm({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class Bg extends F2{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}var R0=function(t){return t[t.Continue=100]="Continue",t[t.SwitchingProtocols=101]="SwitchingProtocols",t[t.Processing=102]="Processing",t[t.EarlyHints=103]="EarlyHints",t[t.Ok=200]="Ok",t[t.Created=201]="Created",t[t.Accepted=202]="Accepted",t[t.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",t[t.NoContent=204]="NoContent",t[t.ResetContent=205]="ResetContent",t[t.PartialContent=206]="PartialContent",t[t.MultiStatus=207]="MultiStatus",t[t.AlreadyReported=208]="AlreadyReported",t[t.ImUsed=226]="ImUsed",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.Found=302]="Found",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.Unused=306]="Unused",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.LengthRequired=411]="LengthRequired",t[t.PreconditionFailed=412]="PreconditionFailed",t[t.PayloadTooLarge=413]="PayloadTooLarge",t[t.UriTooLong=414]="UriTooLong",t[t.UnsupportedMediaType=415]="UnsupportedMediaType",t[t.RangeNotSatisfiable=416]="RangeNotSatisfiable",t[t.ExpectationFailed=417]="ExpectationFailed",t[t.ImATeapot=418]="ImATeapot",t[t.MisdirectedRequest=421]="MisdirectedRequest",t[t.UnprocessableEntity=422]="UnprocessableEntity",t[t.Locked=423]="Locked",t[t.FailedDependency=424]="FailedDependency",t[t.TooEarly=425]="TooEarly",t[t.UpgradeRequired=426]="UpgradeRequired",t[t.PreconditionRequired=428]="PreconditionRequired",t[t.TooManyRequests=429]="TooManyRequests",t[t.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",t[t.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout",t[t.HttpVersionNotSupported=505]="HttpVersionNotSupported",t[t.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",t[t.InsufficientStorage=507]="InsufficientStorage",t[t.LoopDetected=508]="LoopDetected",t[t.NotExtended=510]="NotExtended",t[t.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",t}(R0||{});function B2(t,n){return{body:n,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials,transferCache:t.transferCache}}let I2=(()=>{class t{constructor(e){this.handler=e}request(e,i,r={}){let o;if(e instanceof D0)o=e;else{let c,l;c=r.headers instanceof Qc?r.headers:new Qc(r.headers),r.params&&(l=r.params instanceof nf?r.params:new nf({fromObject:r.params})),o=new D0(e,i,void 0!==r.body?r.body:null,{headers:c,context:r.context,params:l,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials,transferCache:r.transferCache})}const s=pu(o).pipe(function Ome(t,n){return Yt(n)?ef(t,n,1):ef(t,1)}(c=>this.handler.handle(c)));if(e instanceof D0||"events"===r.observe)return s;const a=s.pipe(Mi(c=>c instanceof Gm));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(mt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return a.pipe(mt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return a.pipe(mt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return a.pipe(mt(c=>c.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new nf).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,r={}){return this.request("PATCH",e,B2(r,i))}post(e,i,r={}){return this.request("POST",e,B2(r,i))}put(e,i,r={}){return this.request("PUT",e,B2(r,i))}static{this.\u0275fac=function(i){return new(i||t)(ee(HE))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();function iG(t,n){return n(t)}function Xme(t,n){return(e,i)=>n.intercept(e,{handle:r=>t(r,i)})}const qme=new He(""),L0=new He(""),rG=new He(""),oG=new He("");function Zme(){let t=null;return(n,e)=>{null===t&&(t=(yt(qme,{optional:!0})??[]).reduceRight(Xme,iG));const i=yt(Lm),r=i.add();return t(n,e).pipe(q6(()=>i.remove(r)))}}let sG=(()=>{class t extends HE{constructor(e,i){super(),this.backend=e,this.injector=i,this.chain=null,this.pendingTasks=yt(Lm);const r=yt(oG,{optional:!0});this.backend=r??e}handle(e){if(null===this.chain){const r=Array.from(new Set([...this.injector.get(L0),...this.injector.get(rG,[])]));this.chain=r.reduceRight((o,s)=>function Yme(t,n,e){return(i,r)=>function Q_(t,n){t instanceof bh&&t.assertNotDestroyed();const i=Fa(t),r=js(void 0);try{return n()}finally{Fa(i),js(r)}}(e,()=>n(i,o=>t(o,r)))}(o,s,this.injector),iG)}const i=this.pendingTasks.add();return this.chain(e,r=>this.backend.handle(r)).pipe(q6(()=>this.pendingTasks.remove(i)))}static{this.\u0275fac=function(i){return new(i||t)(ee(VE),ee(ic))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const ipe=/^\)\]\}',?\n/;let cG=(()=>{class t{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new Ve(-2800,!1);const i=this.xhrFactory;return(i.\u0275loadImpl?zm(i.\u0275loadImpl()):pu(null)).pipe(tf(()=>new Wi(o=>{const s=i.build();if(s.open(e.method,e.urlWithParams),e.withCredentials&&(s.withCredentials=!0),e.headers.forEach((y,C)=>s.setRequestHeader(y,C.join(","))),e.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const y=e.detectContentTypeHeader();null!==y&&s.setRequestHeader("Content-Type",y)}if(e.responseType){const y=e.responseType.toLowerCase();s.responseType="json"!==y?y:"text"}const a=e.serializeBody();let c=null;const l=()=>{if(null!==c)return c;const y=s.statusText||"OK",C=new Qc(s.getAllResponseHeaders()),x=function rpe(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(s)||e.url;return c=new zE({headers:C,status:s.status,statusText:y,url:x}),c},d=()=>{let{headers:y,status:C,statusText:x,url:w}=l(),S=null;C!==R0.NoContent&&(S=typeof s.response>"u"?s.responseText:s.response),0===C&&(C=S?R0.Ok:0);let M=C>=200&&C<300;if("json"===e.responseType&&"string"==typeof S){const P=S;S=S.replace(ipe,"");try{S=""!==S?JSON.parse(S):null}catch(R){S=P,M&&(M=!1,S={error:R,text:S})}}M?(o.next(new Gm({body:S,headers:y,status:C,statusText:x,url:w||void 0})),o.complete()):o.error(new Bg({error:S,headers:y,status:C,statusText:x,url:w||void 0}))},u=y=>{const{url:C}=l(),x=new Bg({error:y,status:s.status||0,statusText:s.statusText||"Unknown Error",url:C||void 0});o.error(x)};let h=!1;const f=y=>{h||(o.next(l()),h=!0);let C={type:rf.DownloadProgress,loaded:y.loaded};y.lengthComputable&&(C.total=y.total),"text"===e.responseType&&s.responseText&&(C.partialText=s.responseText),o.next(C)},b=y=>{let C={type:rf.UploadProgress,loaded:y.loaded};y.lengthComputable&&(C.total=y.total),o.next(C)};return s.addEventListener("load",d),s.addEventListener("error",u),s.addEventListener("timeout",u),s.addEventListener("abort",u),e.reportProgress&&(s.addEventListener("progress",f),null!==a&&s.upload&&s.upload.addEventListener("progress",b)),s.send(a),o.next({type:rf.Sent}),()=>{s.removeEventListener("error",u),s.removeEventListener("abort",u),s.removeEventListener("load",d),s.removeEventListener("timeout",u),e.reportProgress&&(s.removeEventListener("progress",f),null!==a&&s.upload&&s.upload.removeEventListener("progress",b)),s.readyState!==s.DONE&&s.abort()}})))}static{this.\u0275fac=function(i){return new(i||t)(ee(d6))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const L2=new He(""),lG=new He("",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),dG=new He("",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class uG{}let ape=(()=>{class t{constructor(e,i,r){this.doc=e,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=J8(e,this.cookieName),this.lastCookieString=e),this.lastToken}static{this.\u0275fac=function(i){return new(i||t)(ee(Di),ee(Vh),ee(lG))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();function cpe(t,n){const e=t.url.toLowerCase();if(!yt(L2)||"GET"===t.method||"HEAD"===t.method||e.startsWith("http://")||e.startsWith("https://"))return n(t);const i=yt(uG).getToken(),r=yt(dG);return null!=i&&!t.headers.has(r)&&(t=t.clone({headers:t.headers.set(r,i)})),n(t)}var sf=function(t){return t[t.Interceptors=0]="Interceptors",t[t.LegacyInterceptors=1]="LegacyInterceptors",t[t.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",t[t.NoXsrfProtection=3]="NoXsrfProtection",t[t.JsonpSupport=4]="JsonpSupport",t[t.RequestsMadeViaParent=5]="RequestsMadeViaParent",t[t.Fetch=6]="Fetch",t}(sf||{});function Wm(t,n){return{\u0275kind:t,\u0275providers:n}}function lpe(...t){const n=[I2,cG,sG,{provide:HE,useExisting:sG},{provide:VE,useExisting:cG},{provide:L0,useValue:cpe,multi:!0},{provide:L2,useValue:!0},{provide:uG,useClass:ape}];for(const e of t)n.push(...e.\u0275providers);return function mm(t){return{\u0275providers:t}}(n)}const hG=new He("");let upe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[lpe(Wm(sf.LegacyInterceptors,[{provide:hG,useFactory:Zme},{provide:L0,useExisting:hG,multi:!0}]))]})}}return t})();const{isArray:gpe}=Array,{getPrototypeOf:bpe,prototype:_pe,keys:vpe}=Object;function vG(t){if(1===t.length){const n=t[0];if(gpe(n))return{args:n,keys:null};if(function ype(t){return t&&"object"==typeof t&&bpe(t)===_pe}(n)){const e=vpe(n);return{args:e.map(i=>n[i]),keys:e}}}return{args:t,keys:null}}const{isArray:wpe}=Array;function P2(t){return mt(n=>function xpe(t,n){return wpe(n)?t(...n):t(n)}(t,n))}function yG(t,n){return t.reduce((e,i,r)=>(e[i]=n[r],e),{})}let wG=(()=>{class t{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static{this.\u0275fac=function(i){return new(i||t)(N(Bm),N(Mn))}}static{this.\u0275dir=Et({type:t})}}return t})(),$m=(()=>{class t extends wG{static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=pr(t)))(r||t)}})()}static{this.\u0275dir=Et({type:t,features:[ai]})}}return t})();const xs=new He(""),Mpe={provide:xs,useExisting:di(()=>jm),multi:!0},kpe=new He("");let jm=(()=>{class t extends wG{constructor(e,i,r){super(e,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function Spe(){const t=Zh()?Zh().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static{this.\u0275fac=function(i){return new(i||t)(N(Bm),N(Mn),N(kpe,8))}}static{this.\u0275dir=Et({type:t,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){1&i&&De("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},features:[Zn([Mpe]),ai]})}}return t})();function af(t){return null==t||("string"==typeof t||Array.isArray(t))&&0===t.length}function CG(t){return null!=t&&"number"==typeof t.length}const Yo=new He(""),cf=new He(""),Tpe=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class O2{static min(n){return function EG(t){return n=>{if(af(n.value)||af(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e{if(af(n.value)||af(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e>t?{max:{max:t,actual:n.value}}:null}}(n)}static required(n){return SG(n)}static requiredTrue(n){return function kG(t){return!0===t.value?null:{required:!0}}(n)}static email(n){return function TG(t){return af(t.value)||Tpe.test(t.value)?null:{email:!0}}(n)}static minLength(n){return function FG(t){return n=>af(n.value)||!CG(n.value)?null:n.value.lengthCG(n.value)&&n.value.length>t?{maxlength:{requiredLength:t,actualLength:n.value.length}}:null}(n)}static pattern(n){return function IG(t){if(!t)return WE;let n,e;return"string"==typeof t?(e="","^"!==t.charAt(0)&&(e+="^"),e+=t,"$"!==t.charAt(t.length-1)&&(e+="$"),n=new RegExp(e)):(e=t.toString(),n=t),i=>{if(af(i.value))return null;const r=i.value;return n.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}(n)}static nullValidator(n){return null}static compose(n){return NG(n)}static composeAsync(n){return UG(n)}}function SG(t){return af(t.value)?{required:!0}:null}function WE(t){return null}function DG(t){return null!=t}function RG(t){return mE(t)?zm(t):t}function LG(t){let n={};return t.forEach(e=>{n=null!=e?{...n,...e}:n}),0===Object.keys(n).length?null:n}function PG(t,n){return n.map(e=>e(t))}function OG(t){return t.map(n=>function Fpe(t){return!t.validate}(n)?n:e=>n.validate(e))}function NG(t){if(!t)return null;const n=t.filter(DG);return 0==n.length?null:function(e){return LG(PG(e,n))}}function N2(t){return null!=t?NG(OG(t)):null}function UG(t){if(!t)return null;const n=t.filter(DG);return 0==n.length?null:function(e){return function Cpe(...t){const n=x2(t),{args:e,keys:i}=vG(t),r=new Wi(o=>{const{length:s}=e;if(!s)return void o.complete();const a=new Array(s);let c=s,l=s;for(let d=0;d{u||(u=!0,l--),a[d]=h},()=>c--,void 0,()=>{(!c||!u)&&(l||o.next(i?yG(i,a):a),o.complete())}))}});return n?r.pipe(P2(n)):r}(PG(e,n).map(RG)).pipe(mt(LG))}}function U2(t){return null!=t?UG(OG(t)):null}function HG(t,n){return null===t?[n]:Array.isArray(t)?[...t,n]:[t,n]}function VG(t){return t._rawValidators}function QG(t){return t._rawAsyncValidators}function H2(t){return t?Array.isArray(t)?t:[t]:[]}function $E(t,n){return Array.isArray(t)?t.includes(n):t===n}function zG(t,n){const e=H2(n);return H2(t).forEach(r=>{$E(e,r)||e.push(r)}),e}function GG(t,n){return H2(n).filter(e=>!$E(t,e))}class WG{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=N2(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=U2(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,e){return!!this.control&&this.control.hasError(n,e)}getError(n,e){return this.control?this.control.getError(n,e):null}}class Aa extends WG{get formDirective(){return null}get path(){return null}}class sd extends WG{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class $G{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let P0=(()=>{class t extends $G{constructor(e){super(e)}static{this.\u0275fac=function(i){return new(i||t)(N(sd,2))}}static{this.\u0275dir=Et({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){2&i&&sn("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[ai]})}}return t})();const O0="VALID",KE="INVALID",Ig="PENDING",N0="DISABLED";function z2(t){return(XE(t)?t.validators:t)||null}function G2(t,n){return(XE(n)?n.asyncValidators:t)||null}function XE(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}class W2{constructor(n,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===O0}get invalid(){return this.status===KE}get pending(){return this.status==Ig}get disabled(){return this.status===N0}get enabled(){return this.status!==N0}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(zG(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(zG(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(GG(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(GG(n,this._rawAsyncValidators))}hasValidator(n){return $E(this._rawValidators,n)}hasAsyncValidator(n){return $E(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(e=>{e.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=Ig,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=N0,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=O0,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===O0||this.status===Ig)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?N0:O0}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=Ig,this._hasOwnPendingAsyncValidator=!0;const e=RG(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(!1!==e.emitEvent)}get(n){let e=n;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(n,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[n]:null}hasError(n,e){return!!this.getError(n,e)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new vn,this.statusChanges=new vn}_calculateStatus(){return this._allControlsDisabled()?N0:this.errors?KE:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Ig)?Ig:this._anyControlsHaveStatus(KE)?KE:O0}_anyControlsHaveStatus(n){return this._anyControls(e=>e.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){XE(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function Lpe(t){return Array.isArray(t)?N2(t):t||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function Ppe(t){return Array.isArray(t)?U2(t):t||null}(this._rawAsyncValidators)}}class $2 extends W2{constructor(n,e,i){super(z2(e),G2(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,e){return this.controls[n]?this.controls[n]:(this.controls[n]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(n,e,i={}){this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],e&&this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,e={}){(function XG(t,n,e){t._forEachChild((i,r)=>{if(void 0===e[r])throw new Ve(1002,"")})})(this,0,n),Object.keys(n).forEach(i=>{(function KG(t,n,e){const i=t.controls;if(!(n?Object.keys(i):i).length)throw new Ve(1e3,"");if(!i[e])throw new Ve(1001,"")})(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(n,e,i)=>(n[i]=e.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&n(i,e)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(n,e){let i=n;return this._forEachChild((r,o)=>{i=e(i,r,o)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const Km=new He("CallSetDisabledState",{providedIn:"root",factory:()=>U0}),U0="always";function H0(t,n,e=U0){j2(t,n),n.valueAccessor.writeValue(t.value),(t.disabled||"always"===e)&&n.valueAccessor.setDisabledState?.(t.disabled),function Upe(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&YG(t,n)})}(t,n),function Vpe(t,n){const e=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}(t,n),function Hpe(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&YG(t,n),"submit"!==t.updateOn&&t.markAsTouched()})}(t,n),function Npe(t,n){if(n.valueAccessor.setDisabledState){const e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}(t,n)}function qE(t,n,e=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),JE(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function ZE(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function j2(t,n){const e=VG(t);null!==n.validator?t.setValidators(HG(e,n.validator)):"function"==typeof e&&t.setValidators([e]);const i=QG(t);null!==n.asyncValidator?t.setAsyncValidators(HG(i,n.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();ZE(n._rawValidators,r),ZE(n._rawAsyncValidators,r)}function JE(t,n){let e=!1;if(null!==t){if(null!==n.validator){const r=VG(t);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==n.validator);o.length!==r.length&&(e=!0,t.setValidators(o))}}if(null!==n.asyncValidator){const r=QG(t);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==n.asyncValidator);o.length!==r.length&&(e=!0,t.setAsyncValidators(o))}}}const i=()=>{};return ZE(n._rawValidators,i),ZE(n._rawAsyncValidators,i),e}function YG(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function qG(t,n){j2(t,n)}function X2(t,n){if(!t.hasOwnProperty("model"))return!1;const e=t.model;return!!e.isFirstChange()||!Object.is(n,e.currentValue)}function ZG(t,n){t._syncPendingControls(),n.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function Y2(t,n){if(!n)return null;let e,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===jm?e=o:function Gpe(t){return Object.getPrototypeOf(t.constructor)===$m}(o)?i=o:r=o}),r||i||e||null}const $pe={provide:Aa,useExisting:di(()=>Q0)},V0=Promise.resolve();let Q0=(()=>{class t extends Aa{constructor(e,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._directives=new Set,this.ngSubmit=new vn,this.form=new $2({},N2(e),U2(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){V0.then(()=>{const i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),H0(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){V0.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){V0.then(()=>{const i=this._findContainer(e.path),r=new $2({});qG(r,e),i.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){V0.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){V0.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submitted=!0,ZG(this.form,this._directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}static{this.\u0275fac=function(i){return new(i||t)(N(Yo,10),N(cf,10),N(Km,8))}}static{this.\u0275dir=Et({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){1&i&&De("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{options:[Ke.None,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Zn([$pe]),ai]})}}return t})();function JG(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function e9(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}const q2=class extends W2{constructor(n=null,e,i){super(z2(e),G2(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),XE(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=e9(n)?n.value:n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(n,e={}){this.setValue(n,e)}reset(n=this.defaultValue,e={}){this._applyFormState(n),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){JG(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){JG(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){e9(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},t9=q2,Xpe={provide:sd,useExisting:di(()=>z0)},r9=Promise.resolve();let z0=(()=>{class t extends sd{constructor(e,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new q2,this._registered=!1,this.name="",this.update=new vn,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Y2(0,o)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){const i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),X2(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){H0(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(e){r9.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){const i=e.isDisabled.currentValue,r=0!==i&&Nn(i);r9.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?function YE(t,n){return[...n.path,t]}(e,this._parent):[e]}static{this.\u0275fac=function(i){return new(i||t)(N(Aa,9),N(Yo,10),N(cf,10),N(xs,10),N(ao,8),N(Km,8))}}static{this.\u0275dir=Et({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[Ke.None,"disabled","isDisabled"],model:[Ke.None,"ngModel","model"],options:[Ke.None,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Zn([Xpe]),ai,ar]})}}return t})();const Z2=new He(""),tAe={provide:sd,useExisting:di(()=>eM)};let eM=(()=>{class t extends sd{set isDisabled(e){}static{this._ngModelWarningSentOnce=!1}constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=o,this.callSetDisabledState=s,this.update=new vn,this._ngModelWarningSent=!1,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=Y2(0,r)}ngOnChanges(e){if(this._isControlChanged(e)){const i=e.form.previousValue;i&&qE(i,this,!1),H0(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}X2(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&qE(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}static{this.\u0275fac=function(i){return new(i||t)(N(Yo,10),N(cf,10),N(xs,10),N(Z2,8),N(Km,8))}}static{this.\u0275dir=Et({type:t,selectors:[["","formControl",""]],inputs:{form:[Ke.None,"formControl","form"],isDisabled:[Ke.None,"disabled","isDisabled"],model:[Ke.None,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[Zn([tAe]),ai,ar]})}}return t})();const nAe={provide:Aa,useExisting:di(()=>G0)};let G0=(()=>{class t extends Aa{constructor(e,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new vn,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(JE(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return H0(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){qE(e.control||null,e,!1),function Wpe(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,ZG(this.form,this.directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,r=this.form.get(e.path);i!==r&&(qE(i||null,e),(t=>t instanceof q2)(r)&&(H0(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);qG(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function Qpe(t,n){return JE(t,n)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){j2(this.form,this),this._oldForm&&JE(this._oldForm,this)}_checkFormPresent(){}static{this.\u0275fac=function(i){return new(i||t)(N(Yo,10),N(cf,10),N(Km,8))}}static{this.\u0275dir=Et({type:t,selectors:[["","formGroup",""]],hostBindings:function(i,r){1&i&&De("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{form:[Ke.None,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Zn([nAe]),ai,ar]})}}return t})(),Xm=(()=>{class t{constructor(){this._validator=WE}ngOnChanges(e){if(this.inputName in e){const i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):WE,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return null!=e}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t,features:[ar]})}}return t})();const mAe={provide:Yo,useExisting:di(()=>tM),multi:!0};let tM=(()=>{class t extends Xm{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=Nn,this.createValidator=e=>SG}enabled(e){return e}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=pr(t)))(r||t)}})()}static{this.\u0275dir=Et({type:t,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(i,r){2&i&&ni("required",r._enabled?"":null)},inputs:{required:"required"},features:[Zn([mAe]),ai]})}}return t})(),v9=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})(),ad=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:Km,useValue:e.callSetDisabledState??U0}]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[v9]})}}return t})(),W0=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:Z2,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:Km,useValue:e.callSetDisabledState??U0}]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[v9]})}}return t})();function y9(t=1/0){return ef(ts,t)}const Dg=new Wi(t=>t.complete());function pc(...t){const n=I0(t),e=function tme(t,n){return"number"==typeof w2(t)?t.pop():n}(t,1/0),i=t;return i.length?1===i.length?No(i[0]):y9(e)(zm(i,n)):Dg}function w9(){return be((t,n)=>{t.subscribe(Ie(n,Ur))})}class Au{constructor(n,e,i){this.kind=n,this.value=e,this.error=i,this.hasValue="N"===n}observe(n){return x9(this,n)}do(n,e,i){const{kind:r,value:o,error:s}=this;return"N"===r?n?.(o):"E"===r?e?.(s):i?.()}accept(n,e,i){var r;return Yt(null===(r=n)||void 0===r?void 0:r.next)?this.observe(n):this.do(n,e,i)}toObservable(){const{kind:n,value:e,error:i}=this,r="N"===n?pu(e):"E"===n?function wAe(t,n){const e=Yt(t)?t:()=>t,i=r=>r.error(e());return new Wi(n?r=>n.schedule(i,0,r):i)}(()=>i):"C"===n?Dg:0;if(!r)throw new TypeError(`Unexpected notification kind ${n}`);return r}static createNext(n){return new Au("N",n)}static createError(n){return new Au("E",void 0,n)}static createComplete(){return Au.completeNotification}}function x9(t,n){var e,i,r;const{kind:o,value:s,error:a}=t;if("string"!=typeof o)throw new TypeError('Invalid notification, missing "kind"');"N"===o?null===(e=n.next)||void 0===e||e.call(n,s):"E"===o?null===(i=n.error)||void 0===i||i.call(n,a):null===(r=n.complete)||void 0===r||r.call(n)}function C9(t){return be((n,e)=>{let o,i=null,r=!1;i=n.subscribe(Ie(e,void 0,void 0,s=>{o=No(t(s,C9(t)(n))),i?(i.unsubscribe(),i=null,o.subscribe(e)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(e))})}function E9(t,n,e,i){return be((r,o)=>{let s;n&&"function"!=typeof n?({duration:e,element:s,connector:i}=n):s=n;const a=new Map,c=b=>{a.forEach(b),b(o)},l=b=>c(y=>y.error(b));let d=0,u=!1;const h=new Xe(o,b=>{try{const y=t(b);let C=a.get(y);if(!C){a.set(y,C=i?i():new It);const x=function f(b,y){const C=new Wi(x=>{d++;const w=y.subscribe(x);return()=>{w.unsubscribe(),0==--d&&u&&h.unsubscribe()}});return C.key=b,C}(y,C);if(o.next(x),e){const w=Ie(C,()=>{C.complete(),w?.unsubscribe()},void 0,void 0,()=>a.delete(y));h.add(No(e(x)).subscribe(w))}}C.next(s?s(b):b)}catch(y){l(y)}},()=>c(b=>b.complete()),l,()=>a.clear(),()=>(u=!0,0===d));r.subscribe(h)})}function M9(t,n){return n?e=>e.pipe(M9((i,r)=>No(t(i,r)).pipe(mt((o,s)=>n(i,o,r,s))))):be((e,i)=>{let r=0,o=null,s=!1;e.subscribe(Ie(i,a=>{o||(o=Ie(i,void 0,()=>{o=null,s&&i.complete()}),No(t(a,r++)).subscribe(o))},()=>{s=!0,!o&&i.complete()}))})}function qo(t){return t<=0?()=>Dg:be((n,e)=>{let i=0;n.subscribe(Ie(e,r=>{++i<=t&&(e.next(r),t<=i&&e.complete())}))})}Au.completeNotification=new Au("C");class MAe extends zt{constructor(n,e){super()}schedule(n,e=0){return this}}const iM={setInterval(t,n,...e){const{delegate:i}=iM;return i?.setInterval?i.setInterval(t,n,...e):setInterval(t,n,...e)},clearInterval(t){const{delegate:n}=iM;return(n?.clearInterval||clearInterval)(t)},delegate:void 0};class rM extends MAe{constructor(n,e){super(n,e),this.scheduler=n,this.work=e,this.pending=!1}schedule(n,e=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,e)),this.pending=!0,this.delay=e,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,e),this}requestAsyncId(n,e,i=0){return iM.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,e,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return e;null!=e&&iM.clearInterval(e)}execute(n,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,e){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:e}=this,{actions:i}=e;this.work=this.state=this.scheduler=null,this.pending=!1,ir(i,this),null!=n&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null,super.unsubscribe()}}}const iR={now:()=>(iR.delegate||Date).now(),delegate:void 0};class $0{constructor(n,e=$0.now){this.schedulerActionCtor=n,this.now=e}schedule(n,e=0,i){return new this.schedulerActionCtor(this,n).schedule(i,e)}}$0.now=iR.now;class oM extends $0{constructor(n,e=$0.now){super(n,e),this.actions=[],this._active=!1}flush(n){const{actions:e}=this;if(this._active)return void e.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=e.shift());if(this._active=!1,i){for(;n=e.shift();)n.unsubscribe();throw i}}}const TAe=new class kAe extends oM{}(class SAe extends rM{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}schedule(n,e=0){return e>0?super.schedule(n,e):(this.delay=e,this.state=n,this.scheduler.flush(this),this)}execute(n,e){return e>0||this.closed?super.execute(n,e):this._execute(n,e)}requestAsyncId(n,e,i=0){return null!=i&&i>0||null==i&&this.delay>0?super.requestAsyncId(n,e,i):(n.flush(this),0)}});function gu(...t){const n=x2(t);return be((e,i)=>{const r=t.length,o=new Array(r);let s=t.map(()=>!1),a=!1;for(let c=0;c{o[c]=l,!a&&!s[c]&&(s[c]=!0,(a=s.every(ts))&&(s=null))},Ur));e.subscribe(Ie(i,c=>{if(a){const l=[c,...o];i.next(n?n(...l):l)}}))})}function j0(t,n=ts){return t=t??DAe,be((e,i)=>{let r,o=!0;e.subscribe(Ie(i,s=>{const a=n(s);(o||!t(r,a))&&(o=!1,r=a,i.next(s))}))})}function DAe(t,n){return t===n}const K0={};function jt(t,n){if(K0[t]=(K0[t]||0)+1,"function"==typeof n)return rR(t,(...i)=>({...n(...i),type:t}));switch(n?n._as:"empty"){case"empty":return rR(t,()=>({type:t}));case"props":return rR(t,i=>({...i,type:t}));default:throw new Error("Unexpected config.")}}function rR(t,n){return Object.defineProperty(n,"type",{value:t,writable:!1})}const T9="@ngrx/store/init";let Ym=(()=>{class t extends _e{constructor(){super({type:T9})}next(e){if("function"==typeof e)throw new TypeError("\n Dispatch expected an object, instead it received a function.\n If you're using the createAction function, make sure to invoke the function\n before dispatching the action. For example, someAction should be someAction().");if(typeof e>"u")throw new TypeError("Actions must be objects");if(typeof e.type>"u")throw new TypeError("Actions must have a type property");super.next(e)}complete(){}ngOnDestroy(){super.complete()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const UAe=[Ym],sR=new He("@ngrx/store Internal Root Guard"),F9=new He("@ngrx/store Internal Initial State"),aR=new He("@ngrx/store Initial State"),B9=new He("@ngrx/store Reducer Factory"),I9=new He("@ngrx/store Internal Reducer Factory Provider"),D9=new He("@ngrx/store Initial Reducers"),cR=new He("@ngrx/store Internal Initial Reducers"),R9=new He("@ngrx/store Store Features"),L9=new He("@ngrx/store Internal Store Reducers"),lR=new He("@ngrx/store Internal Feature Reducers"),P9=new He("@ngrx/store Internal Feature Configs"),dR=new He("@ngrx/store Internal Store Features"),O9=new He("@ngrx/store Internal Feature Reducers Token"),uR=new He("@ngrx/store Feature Reducers"),N9=new He("@ngrx/store User Provided Meta Reducers"),sM=new He("@ngrx/store Meta Reducers"),U9=new He("@ngrx/store Internal Resolved Meta Reducers"),H9=new He("@ngrx/store User Runtime Checks Config"),V9=new He("@ngrx/store Internal User Runtime Checks Config"),X0=new He("@ngrx/store Internal Runtime Checks"),Y0=new He("@ngrx/store Check if Action types are unique");function qm(t,n={}){const e=Object.keys(t),i={};for(let o=0;oo(r),e(n))}}function G9(t,n){return Array.isArray(n)&&n.length>0&&(t=z9.apply(null,[...n,t])),(e,i)=>{const r=t(e);return(o,s)=>r(o=void 0===o?i:o,s)}}new He("@ngrx/store Root Store Provider"),new He("@ngrx/store Feature State Provider");class aM extends Wi{}class W9 extends Ym{}let q0=(()=>{class t extends _e{get currentReducers(){return this.reducers}constructor(e,i,r,o){super(o(r,i)),this.dispatcher=e,this.initialState=i,this.reducers=r,this.reducerFactory=o}addFeature(e){this.addFeatures([e])}addFeatures(e){const i=e.reduce((r,{reducers:o,reducerFactory:s,metaReducers:a,initialState:c,key:l})=>{const d="function"==typeof o?function VAe(t){const n=Array.isArray(t)&&t.length>0?z9(...t):e=>e;return(e,i)=>(e=n(e),(r,o)=>e(r=void 0===r?i:r,o))}(a)(o,c):G9(s,a)(o,c);return r[l]=d,r},{});this.addReducers(i)}removeFeature(e){this.removeFeatures([e])}removeFeatures(e){this.removeReducers(e.map(i=>i.key))}addReducer(e,i){this.addReducers({[e]:i})}addReducers(e){this.reducers={...this.reducers,...e},this.updateReducers(Object.keys(e))}removeReducer(e){this.removeReducers([e])}removeReducers(e){e.forEach(i=>{this.reducers=function HAe(t,n){return Object.keys(t).filter(e=>e!==n).reduce((e,i)=>Object.assign(e,{[i]:t[i]}),{})}(this.reducers,i)}),this.updateReducers(e)}updateReducers(e){this.next(this.reducerFactory(this.reducers,this.initialState)),this.dispatcher.next({type:"@ngrx/store/update-reducers",features:e})}ngOnDestroy(){this.complete()}static{this.\u0275fac=function(i){return new(i||t)(ee(W9),ee(aR),ee(D9),ee(B9))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const zAe=[q0,{provide:aM,useExisting:q0},{provide:W9,useExisting:Ym}];let Z0=(()=>{class t extends It{ngOnDestroy(){this.complete()}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=pr(t)))(r||t)}})()}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const GAe=[Z0];class $9 extends Wi{}let Dr=(()=>{class t extends _e{static{this.INIT=T9}constructor(e,i,r,o){super(o);const l=e.pipe(T2(TAe)).pipe(gu(i)).pipe(function BAe(t,n){return be(function FAe(t,n,e,i,r){return(o,s)=>{let a=e,c=n,l=0;o.subscribe(Ie(s,d=>{const u=l++;c=a?t(c,d,u):(a=!0,d),i&&s.next(c)},r&&(()=>{a&&s.next(c),s.complete()})))}}(t,n,arguments.length>=2,!0))}(WAe,{state:o}));this.stateSubscription=l.subscribe(({state:d,action:u})=>{this.next(d),r.next(u)}),this.state=function k9(t,n){const e=!n?.manualCleanup;e&&!n?.injector&&jl();const i=e?n?.injector?.get(ql)??yt(ql):null;let r;r=JI(n?.requireSync?{kind:0}:{kind:1,value:n?.initialValue});const o=t.subscribe({next:s=>r.set({kind:1,value:s}),error:s=>{if(n?.rejectErrors)throw s;r.set({kind:2,error:s})}});return i?.onDestroy(o.unsubscribe.bind(o)),O8(()=>{const s=r();switch(s.kind){case 1:return s.value;case 2:throw s.error;case 0:throw new Ve(601,"`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.")}})}(this,{manualCleanup:!0,requireSync:!0})}ngOnDestroy(){this.stateSubscription.unsubscribe(),this.complete()}static{this.\u0275fac=function(i){return new(i||t)(ee(Ym),ee(aM),ee(Z0),ee(aR))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();function WAe(t={state:void 0},[n,e]){const{state:i}=t;return{state:e(i,n),action:n}}const $Ae=[Dr,{provide:$9,useExisting:Dr}];let Tt=(()=>{class t extends Wi{constructor(e,i,r){super(),this.actionsObserver=i,this.reducerManager=r,this.source=e,this.state=e.state}select(e,...i){return KAe.call(null,e,...i)(this)}selectSignal(e,i){return O8(()=>e(this.state()),i)}lift(e){const i=new t(this,this.actionsObserver,this.reducerManager);return i.operator=e,i}dispatch(e){this.actionsObserver.next(e)}next(e){this.actionsObserver.next(e)}error(e){this.actionsObserver.error(e)}complete(){this.actionsObserver.complete()}addReducer(e,i){this.reducerManager.addReducer(e,i)}removeReducer(e){this.reducerManager.removeReducer(e)}static{this.\u0275fac=function(i){return new(i||t)(ee($9),ee(Ym),ee(q0))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const jAe=[Tt];function KAe(t,n,...e){return function(r){let o;if("string"==typeof t){const s=[n,...e].filter(Boolean);o=r.pipe(function IAe(...t){const n=t.length;if(0===n)throw new Error("list of properties cannot be empty.");return mt(e=>{let i=e;for(let r=0;rt(s,n)))}return o.pipe(j0())}}const fR="https://ngrx.io/guide/store/configuration/runtime-checks";function j9(t){return void 0===t}function K9(t){return null===t}function X9(t){return Array.isArray(t)}function Y9(t){return"object"==typeof t&&null!==t}function mR(t){return"function"==typeof t}function pR(t,n){return t===n}function AR(t,n=pR,e=pR){let o,i=null,r=null;return{memoized:function l(){if(void 0!==o)return o.result;if(!i)return r=t.apply(null,arguments),i=arguments,r;if(!function nge(t,n,e){for(let i=0;i"function"==typeof n)}(i[0])&&(i=function age(t){const n=Object.values(t),e=Object.keys(t);return[...n,(...r)=>e.reduce((o,s,a)=>({...o,[s]:r[a]}),{})]}(i[0]));const r=i.slice(0,i.length-1),o=i[i.length-1],s=r.filter(d=>d.release&&"function"==typeof d.release),a=t(function(...d){return o.apply(null,d)}),c=AR(function(d,u){return n.stateFn.apply(null,[d,r,u,a])});return Object.assign(c.memoized,{release:function l(){c.reset(),a.reset(),s.forEach(d=>d.release())},projector:a.memoized,setResult:c.setResult,clearResult:c.clearResult})}}(AR)(...t)}function ige(t,n,e,i){if(void 0===e){const o=n.map(s=>s(t));return i.memoized.apply(null,o)}const r=n.map(o=>o(t,e));return i.memoized.apply(null,[...r,e])}function dge(t){return t instanceof He?yt(t):t}function uge(t,n){return n.map((e,i)=>{if(t[i]instanceof He){const r=yt(t[i]);return{key:e.key,reducerFactory:r.reducerFactory?r.reducerFactory:qm,metaReducers:r.metaReducers?r.metaReducers:[],initialState:r.initialState}}return e})}function hge(t){return t.map(n=>n instanceof He?yt(n):n)}function gR(t){return"function"==typeof t?t():t}function fge(t,n){return t.concat(n)}function mge(){if(yt(Tt,{optional:!0,skipSelf:!0}))throw new TypeError("The root Store has been provided more than once. Feature modules should provide feature states instead.");return"guarded"}function bR(t){Object.freeze(t);const n=mR(t);return Object.getOwnPropertyNames(t).forEach(e=>{if(!e.startsWith("\u0275")&&function ege(t,n){return Object.prototype.hasOwnProperty.call(t,n)}(t,e)&&(!n||"caller"!==e&&"callee"!==e&&"arguments"!==e)){const i=t[e];(Y9(i)||mR(i))&&!Object.isFrozen(i)&&bR(i)}}),t}function _R(t,n=[]){return(j9(t)||K9(t))&&0===n.length?{path:["root"],value:t}:Object.keys(t).reduce((i,r)=>{if(i)return i;const o=t[r];return function JAe(t){return mR(t)&&t.hasOwnProperty("\u0275cmp")}(o)?i:!(j9(o)||K9(o)||function qAe(t){return"number"==typeof t}(o)||function YAe(t){return"boolean"==typeof t}(o)||function XAe(t){return"string"==typeof t}(o)||X9(o))&&(function q9(t){if(!function ZAe(t){return Y9(t)&&!X9(t)}(t))return!1;const n=Object.getPrototypeOf(t);return n===Object.prototype||null===n}(o)?_R(o,[...n,r]):{path:[...n,r],value:o})},!1)}function J9(t,n){if(!1===t)return;const e=t.path.join("."),i=new Error(`Detected unserializable ${n} at "${e}". ${fR}#strict${n}serializability`);throw i.value=t.value,i.unserializablePath=e,i}function bge(t){return{strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!1,strictActionImmutability:!1,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1}}function _ge({strictActionSerializability:t,strictStateSerializability:n}){return e=>t||n?function Age(t,n){return function(e,i){n.action(i)&&J9(_R(i),"action");const r=t(e,i);return n.state()&&J9(_R(r),"state"),r}}(e,{action:i=>t&&!vR(i),state:()=>n}):e}function vge({strictActionImmutability:t,strictStateImmutability:n}){return e=>t||n?function pge(t,n){return function(e,i){const r=n.action(i)?bR(i):i,o=t(e,r);return n.state()?bR(o):o}}(e,{action:i=>t&&!vR(i),state:()=>n}):e}function vR(t){return t.type.startsWith("@ngrx")}function yge({strictActionWithinNgZone:t}){return n=>t?function gge(t,n){return function(e,i){if(n.action(i)&&!mn.isInAngularZone())throw new Error(`Action '${i.type}' running outside NgZone. ${fR}#strictactionwithinngzone`);return t(e,i)}}(n,{action:e=>t&&!vR(e)}):n}function wge(t){return[{provide:V9,useValue:t},{provide:H9,useFactory:xge,deps:[V9]},{provide:X0,deps:[H9],useFactory:bge},{provide:sM,multi:!0,deps:[X0],useFactory:vge},{provide:sM,multi:!0,deps:[X0],useFactory:_ge},{provide:sM,multi:!0,deps:[X0],useFactory:yge}]}function eW(){return[{provide:Y0,multi:!0,deps:[X0],useFactory:Cge}]}function xge(t){return t}function Cge(t){if(!t.strictActionTypeUniqueness)return;const n=Object.entries(K0).filter(([,e])=>e>1).map(([e])=>e);if(n.length)throw new Error(`Action types are registered more than once, ${n.map(e=>`"${e}"`).join(", ")}. ${fR}#strictactiontypeuniqueness`)}function tW(t={},n={}){return[{provide:sR,useFactory:mge},{provide:F9,useValue:n.initialState},{provide:aR,useFactory:gR,deps:[F9]},{provide:cR,useValue:t},{provide:L9,useExisting:t instanceof He?t:cR},{provide:D9,deps:[cR,[new mA(L9)]],useFactory:dge},{provide:N9,useValue:n.metaReducers?n.metaReducers:[]},{provide:U9,deps:[sM,N9],useFactory:fge},{provide:I9,useValue:n.reducerFactory?n.reducerFactory:qm},{provide:B9,deps:[I9,U9],useFactory:G9},UAe,zAe,GAe,$Ae,jAe,wge(n.runtimeChecks),eW()]}function nW(t,n,e={}){return[{provide:P9,multi:!0,useValue:t instanceof Object?{}:e},{provide:R9,multi:!0,useValue:{key:t instanceof Object?t.name:t,reducerFactory:e instanceof He||!e.reducerFactory?qm:e.reducerFactory,metaReducers:e instanceof He||!e.metaReducers?[]:e.metaReducers,initialState:e instanceof He||!e.initialState?void 0:e.initialState}},{provide:dR,deps:[P9,R9],useFactory:uge},{provide:lR,multi:!0,useValue:t instanceof Object?t.reducer:n},{provide:O9,multi:!0,useExisting:n instanceof He?n:lR},{provide:uR,multi:!0,deps:[lR,[new mA(O9)]],useFactory:hge},eW()]}let cM=(()=>{class t{constructor(e,i,r,o,s,a){}static{this.\u0275fac=function(i){return new(i||t)(ee(Ym),ee(aM),ee(Z0),ee(Tt),ee(sR,8),ee(Y0,8))}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})(),yR=(()=>{class t{constructor(e,i,r,o,s){this.features=e,this.featureReducers=i,this.reducerManager=r;const a=e.map((c,l)=>{const u=i.shift()[l];return{...c,reducers:u,initialState:gR(c.initialState)}});r.addFeatures(a)}ngOnDestroy(){this.reducerManager.removeFeatures(this.features)}static{this.\u0275fac=function(i){return new(i||t)(ee(dR),ee(uR),ee(q0),ee(cM),ee(Y0,8))}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})(),Tge=(()=>{class t{static forRoot(e,i){return{ngModule:cM,providers:[...tW(e,i)]}}static forFeature(e,i,r={}){return{ngModule:yR,providers:[...nW(e,i,r)]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})();function Jt(...t){return{reducer:t.pop(),types:t.map(i=>i.type)}}function ci(t,...n){const e=new Map;for(const i of n)for(const r of i.types){const o=e.get(r);e.set(r,o?(a,c)=>i.reducer(o(a,c),c):i.reducer)}return function(i=t,r){const o=e.get(r.type);return o?o(i,r):i}}const Fge={dispatch:!0,functional:!1,useEffectsErrorHandler:!0},lM="__@ngrx/effects_create__";function Co(t,n={}){const e=n.functional?t:t(),i={...Fge,...n};return Object.defineProperty(e,lM,{value:i}),e}function rW(t){return Object.getPrototypeOf(t)}function wR(t){return"function"==typeof t}function xR(t){return t.filter(wR)}function Rge(t,n,e){const i=rW(t),o=i&&"Object"!==i.constructor.name?i.constructor.name:null,s=function iW(t){return function Bge(t){return Object.getOwnPropertyNames(t).filter(i=>!(!t[i]||!t[i].hasOwnProperty(lM))&&t[i][lM].hasOwnProperty("dispatch")).map(i=>({propertyName:i,...t[i][lM]}))}(t)}(t).map(({propertyName:a,dispatch:c,useEffectsErrorHandler:l})=>{const d="function"==typeof t[a]?t[a]():t[a],u=l?e(d,n):d;return!1===c?u.pipe(w9()):u.pipe(function CAe(){return be((t,n)=>{t.subscribe(Ie(n,e=>{n.next(Au.createNext(e))},()=>{n.next(Au.createComplete()),n.complete()},e=>{n.next(Au.createError(e)),n.complete()}))})}()).pipe(mt(f=>({effect:t[a],notification:f,propertyName:a,sourceName:o,sourceInstance:t})))});return pc(...s)}function oW(t,n,e=10){return t.pipe(C9(i=>(n&&n.handleError(i),e<=1?t:oW(t,n,e-1))))}let bu=(()=>{class t extends Wi{constructor(e){super(),e&&(this.source=e)}lift(e){const i=new t;return i.source=this,i.operator=e,i}static{this.\u0275fac=function(i){return new(i||t)(ee(Z0))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function pl(...t){return Mi(n=>t.some(e=>"string"==typeof e?e===n.type:e.type===n.type))}const sW=new He("@ngrx/effects Internal Root Guard"),dM=new He("@ngrx/effects User Provided Effects"),CR=new He("@ngrx/effects Internal Root Effects"),aW=new He("@ngrx/effects Internal Root Effects Instances"),cW=new He("@ngrx/effects Internal Feature Effects"),lW=new He("@ngrx/effects Internal Feature Effects Instance Groups"),Pge=new He("@ngrx/effects Effects Error Handler",{providedIn:"root",factory:()=>oW}),dW="@ngrx/effects/init";jt(dW);function jge(t){return ER(t,"ngrxOnInitEffects")}function ER(t,n){return t&&n in t&&"function"==typeof t[n]}let MR=(()=>{class t extends It{constructor(e,i){super(),this.errorHandler=e,this.effectsErrorHandler=i}addEffects(e){this.next(e)}toActions(){return this.pipe(E9(e=>function Ige(t){return!!t.constructor&&"Object"!==t.constructor.name&&"Function"!==t.constructor.name}(e)?rW(e):e),ef(e=>e.pipe(E9(Kge))),ef(e=>{const i=e.pipe(M9(o=>function Xge(t,n){return e=>{const i=Rge(e,t,n);return function Wge(t){return ER(t,"ngrxOnRunEffects")}(e)?e.ngrxOnRunEffects(i):i}}(this.errorHandler,this.effectsErrorHandler)(o)),mt(o=>(function Nge(t,n){if("N"===t.notification.kind){const e=t.notification.value;!function Uge(t){return"function"!=typeof t&&t&&t.type&&"string"==typeof t.type}(e)&&n.handleError(new Error(`Effect ${function Hge({propertyName:t,sourceInstance:n,sourceName:e}){const i="function"==typeof n[t];return e?`"${e}.${String(t)}${i?"()":""}"`:`"${String(t)}()"`}(t)} dispatched an invalid action: ${function Vge(t){try{return JSON.stringify(t)}catch{return t}}(e)}`))}}(o,this.errorHandler),o.notification)),Mi(o=>"N"===o.kind&&null!=o.value),function EAe(){return be((t,n)=>{t.subscribe(Ie(n,e=>x9(e,n)))})}());return pc(i,e.pipe(qo(1),Mi(jge),mt(o=>o.ngrxOnInitEffects())))}))}static{this.\u0275fac=function(i){return new(i||t)(ee(ws),ee(Pge))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Kge(t){return function zge(t){return ER(t,"ngrxOnIdentifyEffects")}(t)?t.ngrxOnIdentifyEffects():""}let SR=(()=>{class t{get isStarted(){return!!this.effectsSubscription}constructor(e,i){this.effectSources=e,this.store=i,this.effectsSubscription=null}start(){this.effectsSubscription||(this.effectsSubscription=this.effectSources.toActions().subscribe(this.store))}ngOnDestroy(){this.effectsSubscription&&(this.effectsSubscription.unsubscribe(),this.effectsSubscription=null)}static{this.\u0275fac=function(i){return new(i||t)(ee(MR),ee(Tt))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),uW=(()=>{class t{constructor(e,i,r,o,s,a,c){this.sources=e,i.start();for(const l of o)e.addEffects(l);r.dispatch({type:dW})}addEffects(e){this.sources.addEffects(e)}static{this.\u0275fac=function(i){return new(i||t)(ee(MR),ee(SR),ee(Tt),ee(aW),ee(cM,8),ee(yR,8),ee(sW,8))}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})(),Yge=(()=>{class t{constructor(e,i,r,o){const s=i.flat();for(const a of s)e.addEffects(a)}static{this.\u0275fac=function(i){return new(i||t)(ee(uW),ee(lW),ee(cM,8),ee(yR,8))}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})(),qge=(()=>{class t{static forFeature(...e){const i=e.flat(),r=xR(i);return{ngModule:Yge,providers:[r,{provide:cW,multi:!0,useValue:i},{provide:dM,multi:!0,useValue:[]},{provide:lW,multi:!0,useFactory:hW,deps:[cW,dM]}]}}static forRoot(...e){const i=e.flat(),r=xR(i);return{ngModule:uW,providers:[r,{provide:CR,useValue:[i]},{provide:sW,useFactory:Zge},{provide:dM,multi:!0,useValue:[]},{provide:aW,useFactory:hW,deps:[CR,dM]}]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})();function hW(t,n){const e=[];for(const i of t)e.push(...i);for(const i of n)e.push(...i);return e.map(i=>function Dge(t){return t instanceof He||wR(t)}(i)?yt(i):i)}function Zge(){const t=yt(SR,{optional:!0,skipSelf:!0}),n=yt(CR,{self:!0});if((1!==n.length||0!==n[0].length)&&t)throw new TypeError("EffectsModule.forRoot() called twice. Feature modules should use EffectsModule.forFeature() instead.");return"guarded"}const Zm=jt("SET_IS_LOADING_FILE",{_as:"props",_p:void 0});const Al=A(4999),lf=jt("SET_AMOUNT_OF_TOP_LABELS",{_as:"props",_p:void 0}),J0=jt("SET_COLOR_LABELS",{_as:"props",_p:void 0}),Rg=jt("SET_EDGE_HEIGHT",{_as:"props",_p:void 0}),uM=jt("SET_SCREENSHOT_TO_CLIPBOARD_ENABLED",{_as:"props",_p:void 0}),hM=jt("SET_EXPERIMENTAL_FEATURES_ENABLED",{_as:"props",_p:void 0}),ey=jt("SET_ENABLE_FLOOR_LABELS",{_as:"props",_p:void 0}),ty=jt("SET_HIDE_FLAT_BUILDINGS",{_as:"props",_p:void 0}),ny=jt("SET_INVERT_AREA",{_as:"props",_p:void 0}),iy=jt("SET_INVERT_HEIGHT",{_as:"props",_p:void 0}),kR=jt("SET_IS_EDGE_METRIC_VISIBLE",{_as:"props",_p:void 0}),fM=jt("TOGGLE_IS_EDGE_METRIC_VISIBLE"),TR=jt("SET_IS_COLOR_METRIC_LINKED_TO_HEIGHT_METRIC",{_as:"props",_p:void 0}),FR=jt("TOGGLE_IS_COLOR_METRIC_LINKED_TO_HEIGHT_METRIC"),mM=jt("SET_PRESENTATION_MODE",{_as:"props",_p:void 0}),ry=jt("SET_IS_WHITE_BACKGROUND",{_as:"props",_p:void 0}),oy=jt("SET_LAYOUT_ALGORITHM",{_as:"props",_p:void 0}),_u=jt("SET_MAP_COLORS",{_as:"props",_p:void 0}),pM=jt("INVERT_COLOR_RANGE"),AM=jt("INVERT_DELTA_COLORS"),sy=jt("SET_MAX_TREE_MAP_FILES",{_as:"props",_p:void 0}),gM=jt("SET_RESET_CAMERA_IF_NEW_FILE_IS_LOADED",{_as:"props",_p:void 0}),Lg=jt("SET_SCALING",{_as:"props",_p:void 0}),ay=jt("SET_SHARPNESS_MODE",{_as:"props",_p:void 0}),cy=jt("SET_SHOW_METRIC_LABEL_NAME_VALUE",{_as:"props",_p:void 0}),ly=jt("SET_SHOW_METRIC_LABEL_NODE_NAME",{_as:"props",_p:void 0}),dy=jt("SET_SHOW_ONLY_BUILDINGS_WITH_EDGES",{_as:"props",_p:void 0}),vu=jt("SET_AREA_METRIC",{_as:"props",_p:void 0}),gl=jt("SET_COLOR_METRIC",{_as:"props",_p:void 0}),uy=jt("SET_COLOR_MODE",{_as:"props",_p:void 0}),cd=jt("SET_COLOR_RANGE",{_as:"props",_p:void 0}),hy=jt("SET_DISTRIBUTION_METRIC",{_as:"props",_p:void 0}),yu=jt("SET_EDGE_METRIC",{_as:"props",_p:void 0}),bM=jt("SET_ALL_FOCUSED_NODES",{_as:"props",_p:void 0}),_M=jt("FOCUS_NODE",{_as:"props",_p:void 0}),fy=jt("UNFOCUS_ALL_NODES"),vM=jt("UNFOCUS_NODE"),wu=jt("SET_HEIGHT_METRIC",{_as:"props",_p:void 0}),Pg=jt("SET_MARGIN",{_as:"props",_p:void 0}),df=jt("SET_SEARCH_PATTERN",{_as:"props",_p:void 0}),yM=jt("SET_SORTING_OPTION",{_as:"props",_p:void 0}),BR=jt("SET_ATTRIBUTE_DESCRIPTORS",{_as:"props",_p:void 0}),IR=jt("SET_ATTRIBUTE_TYPES",{_as:"props",_p:void 0}),DR=jt("UPDATE_ATTRIBUTE_TYPE",{_as:"props",_p:void 0}),RR=jt("SET_BLACKLIST",{_as:"props",_p:void 0}),LR=jt("ADD_BLACKLIST_ITEM",{_as:"props",_p:void 0}),wM=jt("ADD_BLACKLIST_ITEMS",{_as:"props",_p:void 0}),xM=jt("REMOVE_BLACKLIST_ITEM",{_as:"props",_p:void 0}),PR=jt("ADD_BLACKLIST_ITEMS_IF_NOT_RESULTS_IN_EMPTY_MAP",{_as:"props",_p:void 0}),OR=jt("SET_EDGES",{_as:"props",_p:void 0}),mW=jt("ADD_EDGE",{_as:"props",_p:void 0}),pW=jt("REMOVE_EDGE",{_as:"props",_p:void 0}),CM=jt("SET_MARKED_PACKAGES",{_as:"props",_p:void 0}),my=jt("MARK_PACKAGES",{_as:"props",_p:void 0}),EM=jt("UNMARK_PACKAGE",{_as:"props",_p:void 0});function AW(t,n){this.v=t,this.k=n}function gW(t){return new AW(t,0)}function py(t){var n,e;function i(o,s){try{var a=t[o](s),c=a.value,l=c instanceof AW;Promise.resolve(l?c.v:c).then(function(d){if(l){var u="return"===o?"return":"next";if(!c.k||d.done)return i(u,d);d=t[u](d).value}r(a.done?"return":"normal",d)},function(d){i("throw",d)})}catch(d){r("throw",d)}}function r(o,s){switch(o){case"return":n.resolve({value:s,done:!0});break;case"throw":n.reject(s);break;default:n.resolve({value:s,done:!1})}(n=n.next)?i(n.key,n.arg):e=null}this._invoke=function(o,s){return new Promise(function(a,c){var l={key:o,arg:s,resolve:a,reject:c,next:null};e?e=e.next=l:(n=e=l,i(o,s))})},"function"!=typeof t.return&&(this.return=void 0)}py.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},py.prototype.next=function(t){return this._invoke("next",t)},py.prototype.throw=function(t){return this._invoke("throw",t)},py.prototype.return=function(t){return this._invoke("return",t)};const NR=(t,n)=>n.some(e=>t instanceof e);let bW,_W;const UR=new WeakMap,HR=new WeakMap,MM=new WeakMap;let VR={get(t,n,e){if(t instanceof IDBTransaction){if("done"===n)return UR.get(t);if("store"===n)return e.objectStoreNames[1]?void 0:e.objectStore(e.objectStoreNames[0])}return uf(t[n])},set:(t,n,e)=>(t[n]=e,!0),has:(t,n)=>t instanceof IDBTransaction&&("done"===n||"store"===n)||n in t};function vW(t){VR=t(VR)}function obe(t){return"function"==typeof t?function rbe(t){return function tbe(){return _W||(_W=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}().includes(t)?function(...n){return t.apply(QR(this),n),uf(this.request)}:function(...n){return uf(t.apply(QR(this),n))}}(t):(t instanceof IDBTransaction&&function ibe(t){if(UR.has(t))return;const n=new Promise((e,i)=>{const r=()=>{t.removeEventListener("complete",o),t.removeEventListener("error",s),t.removeEventListener("abort",s)},o=()=>{e(),r()},s=()=>{i(t.error||new DOMException("AbortError","AbortError")),r()};t.addEventListener("complete",o),t.addEventListener("error",s),t.addEventListener("abort",s)});UR.set(t,n)}(t),NR(t,function ebe(){return bW||(bW=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}())?new Proxy(t,VR):t)}function uf(t){if(t instanceof IDBRequest)return function nbe(t){const n=new Promise((e,i)=>{const r=()=>{t.removeEventListener("success",o),t.removeEventListener("error",s)},o=()=>{e(uf(t.result)),r()},s=()=>{i(t.error),r()};t.addEventListener("success",o),t.addEventListener("error",s)});return MM.set(n,t),n}(t);if(HR.has(t))return HR.get(t);const n=obe(t);return n!==t&&(HR.set(t,n),MM.set(n,t)),n}const QR=t=>MM.get(t),abe=["get","getKey","getAll","getAllKeys","count"],cbe=["put","add","delete","clear"],zR=new Map;function yW(t,n){if(!(t instanceof IDBDatabase)||n in t||"string"!=typeof n)return;if(zR.get(n))return zR.get(n);const e=n.replace(/FromIndex$/,""),i=n!==e,r=cbe.includes(e);if(!(e in(i?IDBIndex:IDBObjectStore).prototype)||!r&&!abe.includes(e))return;const o=function(){var s=m(function*(a,...c){const l=this.transaction(a,r?"readwrite":"readonly");let d=l.store;return i&&(d=d.index(c.shift())),(yield Promise.all([d[e](...c),r&&l.done]))[0]});return function(c){return s.apply(this,arguments)}}();return zR.set(n,o),o}vW(t=>({...t,get:(n,e,i)=>yW(n,e)||t.get(n,e,i),has:(n,e)=>!!yW(n,e)||t.has(n,e)}));const lbe=["continue","continuePrimaryKey","advance"],wW={},GR=new WeakMap,xW=new WeakMap,dbe={get(t,n){if(!lbe.includes(n))return t[n];let e=wW[n];return e||(e=wW[n]=function(...i){GR.set(this,xW.get(this)[n](...i))}),e}};function ube(){return WR.apply(this,arguments)}function WR(){return WR=function Jge(t){return function(){return new py(t.apply(this,arguments))}}(function*(...t){let n=this;if(n instanceof IDBCursor||(n=yield gW(n.openCursor(...t))),!n)return;const e=new Proxy(n,dbe);for(xW.set(e,n),MM.set(e,QR(n));n;)yield e,n=yield gW(GR.get(e)||n.continue()),GR.delete(e)}),WR.apply(this,arguments)}function CW(t,n){return n===Symbol.asyncIterator&&NR(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===n&&NR(t,[IDBIndex,IDBObjectStore])}vW(t=>({...t,get:(n,e,i)=>CW(n,e)?ube:t.get(n,e,i),has:(n,e)=>CW(n,e)||t.has(n,e)}));const hbe="CodeCharta",fbe=1,Ay="ccstate",EW="id",$R=1001;function jR(){return(jR=m(function*(t){const e=(yield qR()).transaction(Ay,"readwrite");yield e.store.put({[EW]:$R,state:t}),yield e.done})).apply(this,arguments)}function KR(){return XR.apply(this,arguments)}function XR(){return(XR=m(function*(){return(yield(yield qR()).get(Ay,$R))?.state||null})).apply(this,arguments)}function YR(){return(YR=m(function*(){const n=(yield qR()).transaction(Ay,"readwrite");yield n.store.delete($R),yield n.done})).apply(this,arguments)}function qR(){return ZR.apply(this,arguments)}function ZR(){return(ZR=m(function*(){return function sbe(t,n,{blocked:e,upgrade:i,blocking:r,terminated:o}={}){const s=indexedDB.open(t,n),a=uf(s);return i&&s.addEventListener("upgradeneeded",c=>{i(uf(s.result),c.oldVersion,c.newVersion,uf(s.transaction),c)}),e&&s.addEventListener("blocked",c=>e(c.oldVersion,c.newVersion,c)),a.then(c=>{o&&c.addEventListener("close",()=>o()),r&&c.addEventListener("versionchange",l=>r(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}(hbe,fbe,{upgrade(t){t.objectStoreNames.contains(Ay)||t.createObjectStore(Ay,{keyPath:EW})}})})).apply(this,arguments)}const Abe=JSON.parse('{"projectName":"Sample Project with Edges","apiVersion":"1.2","fileChecksum":"valid-md5-sample1","nodes":[{"name":"root","type":"Folder","attributes":{},"children":[{"name":"sample1OnlyLeaf.scss","type":"File","attributes":{"rloc":400,"functions":10,"mcc":100,"pairingRate":32,"avgCommits":17},"link":"http://www.google.de"},{"name":"bigLeaf.ts","type":"File","attributes":{"rloc":100,"functions":10,"mcc":1,"pairingRate":77,"avgCommits":56},"link":"http://www.google.de"},{"name":"ParentLeaf","type":"Folder","attributes":{},"children":[{"name":"smallLeaf.html","type":"File","attributes":{"rloc":30,"functions":100,"mcc":100,"pairingRate":60,"avgCommits":51}},{"name":"otherSmallLeaf.ts","type":"File","attributes":{"rloc":70,"functions":1000,"mcc":10,"pairingRate":65,"avgCommits":22}}]}]}],"edges":[{"fromNodeName":"/root/bigLeaf.ts","toNodeName":"/root/ParentLeaf/smallLeaf.html","attributes":{"pairingRate":89,"avgCommits":34}},{"fromNodeName":"/root/sample1OnlyLeaf.scss","toNodeName":"/root/ParentLeaf/smallLeaf.html","attributes":{"pairingRate":32,"avgCommits":17}},{"fromNodeName":"/root/ParentLeaf/otherSmallLeaf.ts","toNodeName":"/root/bigLeaf.ts","attributes":{"pairingRate":65,"avgCommits":22}}],"attributeTypes":{"nodes":{"rloc":"absolute","functions":"absolute","mcc":"absolute","pairingRate":"relative"},"edges":{"pairingRate":"relative","avgCommits":"absolute"}}}'),gbe=JSON.parse('{"projectName":"Sample Project","apiVersion":"1.2","fileChecksum":"valid-md5-sample2","nodes":[{"name":"root","type":"Folder","attributes":{},"children":[{"name":"bigLeaf.ts","type":"File","attributes":{"rloc":120,"functions":10,"mcc":1},"link":"http://www.google.de"},{"name":"ParentLeaf","type":"Folder","attributes":{},"children":[{"name":"smallLeaf.html","type":"File","attributes":{"rloc":30,"functions":101,"mcc":80}},{"name":"otherSmallLeaf.ts","type":"File","attributes":{"rloc":70,"functions":10,"mcc":100}},{"name":"sample2LeafMergedIn.kt","type":"File","attributes":{"rloc":600,"functions":10,"mcc":1},"link":"http://www.google.de"}]}]}],"attributeTypes":{"nodes":{"rloc":"absolute","functions":"absolute","mcc":"absolute"}}}');var Ri=function(t){return t.Reference="Reference",t.Comparison="Comparison",t.Partial="Partial",t.None="None",t}(Ri||{});const JR=".png",MW="~",SM="_";function SW(t){return t.some(n=>n.selectedAs!==Ri.None)}function eL(t){return t.filter(n=>n.selectedAs!==Ri.None)}function ld(t){return t.some(n=>n.selectedAs===Ri.Reference)}function kW(t){return t.some(n=>n.selectedAs===Ri.Partial)}function kM(t,n){return t.fileMeta.fileChecksum===n.fileMeta.fileChecksum}const Og=new oM(rM),Ebe=Og;function Ng(t,n=Og){return be((e,i)=>{let r=null,o=null,s=null;const a=()=>{if(r){r.unsubscribe(),r=null;const l=o;o=null,i.next(l)}};function c(){const l=s+t,d=n.now();if(d{o=l,s=n.now(),r||(r=n.schedule(c,t),i.add(r))},()=>{a(),i.complete()},void 0,()=>{o=r=null}))})}function co(t,n,e){const i=Yt(t)||n||e?{next:t,error:n,complete:e}:t;return i?be((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(Ie(o,c=>{var l;null===(l=i.next)||void 0===l||l.call(i,c),o.next(c)},()=>{var c;a=!1,null===(c=i.complete)||void 0===c||c.call(i),o.complete()},c=>{var l;a=!1,null===(l=i.error)||void 0===l||l.call(i,c),o.error(c)},()=>{var c,l;a&&(null===(c=i.unsubscribe)||void 0===c||c.call(i)),null===(l=i.finalize)||void 0===l||l.call(i)}))}):ts}const gy=t=>t.fileSettings,dd=Bt(gy,t=>t.blacklist),xu=t=>t.files,ud=Bt(xu,eL);function Mbe(t){var n=0,e=t.children,i=e&&e.length;if(i)for(;--i>=0;)n+=e[i].value;else n=1;t.value=n}function Jr(t,n){t instanceof Map?(t=[void 0,t],void 0===n&&(n=zbe)):void 0===n&&(n=Qbe);for(var i,o,s,a,c,e=new TM(t),r=[e];i=r.pop();)if((s=n(i.data))&&(c=(s=Array.from(s)).length))for(i.children=s,a=c-1;a>=0;--a)r.push(o=s[a]=new TM(s[a])),o.parent=i,o.depth=i.depth+1;return e.eachBefore(Wbe)}function Qbe(t){return t.children}function zbe(t){return Array.isArray(t)?t[1]:null}function Gbe(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function Wbe(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function TM(t){this.data=t,this.depth=this.height=0,this.parent=null}TM.prototype=Jr.prototype={constructor:TM,count:function Sbe(){return this.eachAfter(Mbe)},each:function kbe(t,n){let e=-1;for(const i of this)t.call(n,i,++e,this);return this},eachAfter:function Fbe(t,n){for(var o,s,a,e=this,i=[e],r=[],c=-1;e=i.pop();)if(r.push(e),o=e.children)for(s=0,a=o.length;s=0;--o)i.push(r[o]);return this},find:function Bbe(t,n){let e=-1;for(const i of this)if(t.call(n,i,++e,this))return i},sum:function Ibe(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,i=n.children,r=i&&i.length;--r>=0;)e+=i[r].value;n.value=e})},sort:function Dbe(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})},path:function Rbe(t){for(var n=this,e=function Lbe(t,n){if(t===n)return t;var e=t.ancestors(),i=n.ancestors(),r=null;for(t=e.pop(),n=i.pop();t===n;)r=t,t=e.pop(),n=i.pop();return r}(n,t),i=[n];n!==e;)i.push(n=n.parent);for(var r=i.length;t!==e;)i.splice(r,0,t),t=t.parent;return i},ancestors:function Pbe(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function Obe(){return Array.from(this)},leaves:function Nbe(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t},links:function Ube(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n},copy:function Vbe(){return Jr(this).eachBefore(Gbe)},[Symbol.iterator]:function*Hbe(){var n,i,r,o,t=this,e=[t];do{for(n=e.reverse(),e=[];t=n.pop();)if(yield t,i=t.children)for(r=0,o=i.length;r=7340032:return DM.BIG_MAP;case e>=2097152:return DM.MEDIUM_MAP;default:return DM.SMALL_MAP}}const DW=t=>{t.sort((n,e)=>{const i=n.name.toLowerCase(),r=e.name.toLowerCase();return i>r?1:r>i?-1:0})};function n_e(t,n){const e=new Map,i=new Set;for(const{file:o}of t)for(const{data:s}of Jr(o.map))i.add(s.path);for(const o of t)for(const s of o.file.settings.fileSettings.edges)if(i_e(s,i,n))for(const a of Object.keys(s.attributes))o_e(r_e(e,a),s.fromNodeName,s.toNodeName);const r=function s_e(t){const n=[];for(const[e,i]of t){const r=[];let o=0,s=Number.MAX_SAFE_INTEGER;for(const a of i.values()){const c=a.incoming+a.outgoing;r.push(c),c>o&&(o=c),c<=s&&(s=c)}n.push({name:e,values:r,maxValue:o,minValue:s})}return n}(e);return DW(r),{edgeMetricData:r,nodeEdgeMetricsMap:e}}function i_e(t,n,e){return!(!n.has(t.fromNodeName)||!n.has(t.toNodeName)||Cu(t.fromNodeName,e,"exclude")||Cu(t.toNodeName,e,"exclude"))}function r_e(t,n){let e=t.get(n);return e||(e=new Map,t.set(n,e)),e}function o_e(t,n,e){const i=t.get(n);void 0===i?t.set(n,{incoming:0,outgoing:1}):i.outgoing+=1;const r=t.get(e);void 0===r?t.set(e,{incoming:1,outgoing:0}):r.incoming+=1}const LM="unary",a_e=(t,n)=>{if(0===t.length)return[];const e=new Map,i=new Map,r=new Map;for(const{file:s}of t)for(const a of Jr(s.map))if(Ao(a)&&a.data.path&&!Cu(a.data.path,n,"exclude"))for(const c of Object.keys(a.data.attributes)){const l=i.get(c),d=r.get(c);e.get(c)||e.set(c,[]),e.get(c).push(a.data.attributes[c]),(void 0===d||d>=a.data.attributes[c])&&r.set(c,a.data.attributes[c]),(void 0===l||l<=a.data.attributes[c])&&i.set(c,a.data.attributes[c])}const o=[];i.set(LM,1),r.set(LM,1);for(const[s,a]of i)o.push({name:s,values:e.get(s),maxValue:a,minValue:r.get(s)});return DW(o),o},Cs=Bt(ud,dd,(t,n)=>({nodeMetricData:a_e(t,n),...n_e(t,n)})),c_e=[yu,wu,gl,vu];var fd=function(t){return t.areaMetric="area",t.heightMetric="height",t.colorMetric="color",t.edgeMetric="edge",t}(fd||{});let l_e=(()=>{class t{constructor(e,i,r,o){this.loadInitialFileService=e,this.actions$=i,this.state=r,this.store=o,this.saveMetricsInQueryParameters$=Co(()=>this.actions$.pipe(pl(...c_e),gu(this.store.select(Cs)),mt(s=>s[1].edgeMetricData&&s[1].edgeMetricData.length>0),Ng(100),co(s=>{this.updateMetricQueryParameters(s)})),{dispatch:!1})}updateMetricQueryParameters(e){const i=this.state.getValue(),{edgeMetric:r,heightMetric:o,colorMetric:s,areaMetric:a}=i.dynamicSettings;this.loadInitialFileService.checkFileQueryParameterPresent()&&(this.addOrUpdateQueryParameter(fd.areaMetric,a),this.addOrUpdateQueryParameter(fd.heightMetric,o),this.addOrUpdateQueryParameter(fd.colorMetric,s),e?this.addOrUpdateQueryParameter(fd.edgeMetric,r):this.deleteQueryParameterIfExists(fd.edgeMetric))}addOrUpdateQueryParameter(e,i){const r=new URL(window.location.href),o=r.search.slice(1),s=o.length>0?o.split("&"):[],a=[];let c=!1;for(const l of s)l.split("=")[0]===e?(a.push(`${e}=${encodeURIComponent(i)}`),c=!0):a.push(l);c||a.push(`${e}=${encodeURIComponent(i)}`),r.search=a.join("&"),window.history.replaceState(null,"",r.toString())}deleteQueryParameterIfExists(e){const i=new URL(window.location.href),r=i.search.slice(1),o=r.length>0?r.split("&"):[],s=[];for(const a of o){const[c,l]=a.split("=");c!==e&&s.push(`${c}=${l}`)}i.search=s.join("&"),window.history.replaceState(null,"",i.toString())}static{this.\u0275fac=function(i){return new(i||t)(ee(kP),ee(bu),ee(Dr),ee(Tt))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const Hg=jt("SET_IS_LOADING_MAP",{_as:"props",_p:void 0}),by=jt("SET_FILES",{_as:"props",_p:void 0}),RW=jt("ADD_FILE",{_as:"props",_p:void 0}),nL=jt("REMOVE_FILE",{_as:"props",_p:void 0}),_y=jt("SET_STANDARD",{_as:"props",_p:void 0}),iL=jt("SET_STANDARD_BY_NAMES",{_as:"props",_p:void 0}),rL=jt("SET_ALL"),oL=jt("INVERT_STANDARD"),sL=jt("SWITCH_REFERENCE_AND_COMPARISON"),aL=jt("SET_DELTA_COMPARISON",{_as:"props",_p:void 0}),cL=jt("SET_DELTA_REFERENCE",{_as:"props",_p:void 0}),PM=jt("SET_DELTA",{_as:"props",_p:void 0}),OM=[by,RW,nL,_y,iL,rL,oL,sL,aL,cL,PM];function Ns(t){return null!=t&&"false"!=`${t}`}function hf(t,n=0){return function d_e(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):n}function NM(t){return Array.isArray(t)?t:[t]}function Zo(t){return null==t?"":"string"==typeof t?t:`${t}px`}function Eu(t){return t instanceof Mn?t.nativeElement:t}const u_e=["addListener","removeListener"],h_e=["addEventListener","removeEventListener"],f_e=["on","off"];function Vg(t,n,e,i){if(Yt(e)&&(i=e,e=void 0),i)return Vg(t,n,e).pipe(P2(i));const[r,o]=function A_e(t){return Yt(t.addEventListener)&&Yt(t.removeEventListener)}(t)?h_e.map(s=>a=>t[s](n,a,e)):function m_e(t){return Yt(t.addListener)&&Yt(t.removeListener)}(t)?u_e.map(LW(t,n)):function p_e(t){return Yt(t.on)&&Yt(t.off)}(t)?f_e.map(LW(t,n)):[];if(!r&&k2(t))return ef(s=>Vg(s,n,e))(No(t));if(!r)throw new TypeError("Invalid event target");return new Wi(s=>{const a=(...c)=>s.next(1o(a)})}function LW(t,n){return e=>i=>t[e](n,i)}const vy={schedule(t){let n=requestAnimationFrame,e=cancelAnimationFrame;const{delegate:i}=vy;i&&(n=i.requestAnimationFrame,e=i.cancelAnimationFrame);const r=n(o=>{e=void 0,t(o)});return new zt(()=>e?.(r))},requestAnimationFrame(...t){const{delegate:n}=vy;return(n?.requestAnimationFrame||requestAnimationFrame)(...t)},cancelAnimationFrame(...t){const{delegate:n}=vy;return(n?.cancelAnimationFrame||cancelAnimationFrame)(...t)},delegate:void 0};new class b_e extends oM{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let r;n=n||i.shift();do{if(r=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,r){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw r}}}(class g_e extends rM{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=vy.requestAnimationFrame(()=>n.flush(void 0))))}recycleAsyncId(n,e,i=0){var r;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:o}=n;null!=e&&(null===(r=o[o.length-1])||void 0===r?void 0:r.id)!==e&&(vy.cancelAnimationFrame(e),n._scheduled=void 0)}});let lL,v_e=1;const UM={};function PW(t){return t in UM&&(delete UM[t],!0)}const y_e={setImmediate(t){const n=v_e++;return UM[n]=!0,lL||(lL=Promise.resolve()),lL.then(()=>PW(n)&&t()),n},clearImmediate(t){PW(t)}},{setImmediate:w_e,clearImmediate:x_e}=y_e,HM={setImmediate(...t){const{delegate:n}=HM;return(n?.setImmediate||w_e)(...t)},clearImmediate(t){const{delegate:n}=HM;return(n?.clearImmediate||x_e)(t)},delegate:void 0},dL=new class E_e extends oM{flush(n){this._active=!0;const e=this._scheduled;this._scheduled=void 0;const{actions:i}=this;let r;n=n||i.shift();do{if(r=n.execute(n.state,n.delay))break}while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,r){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw r}}}(class C_e extends rM{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return null!==i&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=HM.setImmediate(n.flush.bind(n,void 0))))}recycleAsyncId(n,e,i=0){var r;if(null!=i?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);const{actions:o}=n;null!=e&&(null===(r=o[o.length-1])||void 0===r?void 0:r.id)!==e&&(HM.clearImmediate(e),n._scheduled===e&&(n._scheduled=void 0))}});function uL(t=0,n,e=Ebe){let i=-1;return null!=n&&(L6(n)?e=n:i=n),new Wi(r=>{let o=function S_e(t){return t instanceof Date&&!isNaN(t)}(t)?+t-e.now():t;o<0&&(o=0);let s=0;return e.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}function hL(t,n=Og){return function M_e(t){return be((n,e)=>{let i=!1,r=null,o=null,s=!1;const a=()=>{if(o?.unsubscribe(),o=null,i){i=!1;const l=r;r=null,e.next(l)}s&&e.complete()},c=()=>{o=null,s&&e.complete()};n.subscribe(Ie(e,l=>{i=!0,r=l,o||No(t(l)).subscribe(o=Ie(e,a,c))},()=>{s=!0,(!i||!o||o.closed)&&e.complete()}))})}(()=>uL(t,n))}let fL;try{fL=typeof Intl<"u"&&Intl.v8BreakIterator}catch{fL=!1}let Qg,Rr=(()=>{class t{constructor(e){this._platformId=e,this.isBrowser=this._platformId?function tfe(t){return t===c6}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!fL)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}static{this.\u0275fac=function(i){return new(i||t)(ee(Vh))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();const OW=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function NW(){if(Qg)return Qg;if("object"!=typeof document||!document)return Qg=new Set(OW),Qg;let t=document.createElement("input");return Qg=new Set(OW.filter(n=>(t.setAttribute("type",n),t.type===n))),Qg}let yy,ep,mL;function Jm(t){return function k_e(){if(null==yy&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>yy=!0}))}finally{yy=yy||!1}return yy}()?t:!!t.capture}function T_e(){if(null==ep){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return ep=!1,ep;if("scrollBehavior"in document.documentElement.style)ep=!0;else{const t=Element.prototype.scrollTo;ep=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return ep}function QM(){let t=typeof document<"u"&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const n=t.shadowRoot.activeElement;if(n===t)break;t=n}return t}function ff(t){return t.composedPath?t.composedPath()[0]:t.target}function pL(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}const I_e=new He("cdk-dir-doc",{providedIn:"root",factory:function D_e(){return yt(Di)}}),R_e=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let Mu=(()=>{class t{constructor(e){this.value="ltr",this.change=new vn,e&&(this.value=function L_e(t){const n=t?.toLowerCase()||"";return"auto"===n&&typeof navigator<"u"&&navigator?.language?R_e.test(navigator.language)?"rtl":"ltr":"rtl"===n?"rtl":"ltr"}((e.body?e.body.dir:null)||(e.documentElement?e.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}static{this.\u0275fac=function(i){return new(i||t)(ee(I_e,8))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),xy=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})(),UW=(()=>{class t{constructor(e,i,r){this._ngZone=e,this._platform=i,this._scrolled=new It,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){const i=this.scrollContainers.get(e);i&&(i.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=20){return this._platform.isBrowser?new Wi(i=>{this._globalSubscription||this._addGlobalListener();const r=e>0?this._scrolled.pipe(hL(e)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):pu()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((e,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(e,i){const r=this.getAncestorScrollContainers(e);return this.scrolled(i).pipe(Mi(o=>!o||r.indexOf(o)>-1))}getAncestorScrollContainers(e){const i=[];return this.scrollContainers.forEach((r,o)=>{this._scrollableContainsElement(o,e)&&i.push(o)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(e,i){let r=Eu(i),o=e.getElementRef().nativeElement;do{if(r==o)return!0}while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>Vg(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}static{this.\u0275fac=function(i){return new(i||t)(ee(mn),ee(Rr),ee(Di,8))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),AL=(()=>{class t{constructor(e,i,r){this._platform=e,this._change=new It,this._changeListener=o=>{this._change.next(o)},this._document=r,i.runOutsideAngular(()=>{if(e.isBrowser){const o=this._getWindow();o.addEventListener("resize",this._changeListener),o.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){const e=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+r,right:e.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const e=this._document,i=this._getWindow(),r=e.documentElement,o=r.getBoundingClientRect();return{top:-o.top||e.body.scrollTop||i.scrollY||r.scrollTop||0,left:-o.left||e.body.scrollLeft||i.scrollX||r.scrollLeft||0}}change(e=20){return e>0?this._change.pipe(hL(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}static{this.\u0275fac=function(i){return new(i||t)(ee(Rr),ee(mn),ee(Di,8))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Cy=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})(),HW=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[xy,Cy,xy,Cy]})}}return t})();function Lr(t){return be((n,e)=>{No(t).subscribe(Ie(e,()=>e.complete(),Ur)),!e.closed&&n.subscribe(e)})}class gL{attach(n){return this._attachedHost=n,n.attach(this)}detach(){let n=this._attachedHost;null!=n&&(this._attachedHost=null,n.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(n){this._attachedHost=n}}class Ey extends gL{constructor(n,e,i,r,o){super(),this.component=n,this.viewContainerRef=e,this.injector=i,this.componentFactoryResolver=r,this.projectableNodes=o}}class My extends gL{constructor(n,e,i,r){super(),this.templateRef=n,this.viewContainerRef=e,this.context=i,this.injector=r}get origin(){return this.templateRef.elementRef}attach(n,e=this.context){return this.context=e,super.attach(n)}detach(){return this.context=void 0,super.detach()}}class U_e extends gL{constructor(n){super(),this.element=n instanceof Mn?n.nativeElement:n}}class bL{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(n){return n instanceof Ey?(this._attachedPortal=n,this.attachComponentPortal(n)):n instanceof My?(this._attachedPortal=n,this.attachTemplatePortal(n)):this.attachDomPortal&&n instanceof U_e?(this._attachedPortal=n,this.attachDomPortal(n)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(n){this._disposeFn=n}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class H_e extends bL{constructor(n,e,i,r,o){super(),this.outletElement=n,this._componentFactoryResolver=e,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=s=>{const a=s.element,c=this._document.createComment("dom-portal");a.parentNode.insertBefore(c,a),this.outletElement.appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{c.parentNode&&c.parentNode.replaceChild(a,c)})},this._document=o}attachComponentPortal(n){const i=(n.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(n.component);let r;return n.viewContainerRef?(r=n.viewContainerRef.createComponent(i,n.viewContainerRef.length,n.injector||n.viewContainerRef.injector,n.projectableNodes||void 0),this.setDisposeFn(()=>r.destroy())):(r=i.create(n.injector||this._defaultInjector||Do.NULL),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=n,r}attachTemplatePortal(n){let e=n.viewContainerRef,i=e.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=e.indexOf(i);-1!==r&&e.remove(r)}),this._attachedPortal=n,i}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}}let zM=(()=>{class t extends bL{constructor(e,i,r){super(),this._componentFactoryResolver=e,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new vn,this.attachDomPortal=o=>{const s=o.element,a=this._document.createComment("dom-portal");o.setAttachedHost(this),s.parentNode.insertBefore(a,s),this._getRootNode().appendChild(s),this._attachedPortal=o,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(s,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(e){e.setAttachedHost(this);const i=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,o=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component),s=i.createComponent(o,i.length,e.injector||i.injector,e.projectableNodes||void 0);return i!==this._viewContainerRef&&this._getRootNode().appendChild(s.hostView.rootNodes[0]),super.setDisposeFn(()=>s.destroy()),this._attachedPortal=e,this._attachedRef=s,this.attached.emit(s),s}attachTemplatePortal(e){e.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=e,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}static{this.\u0275fac=function(i){return new(i||t)(N(tg),N(ha),N(Di))}}static{this.\u0275dir=Et({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[Ke.None,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],standalone:!0,features:[ai]})}}return t})(),Sy=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})();function bl(t,...n){return n.length?n.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const VW=T_e();class eve{constructor(n,e){this._viewportRuler=n,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const n=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=n.style.left||"",this._previousHTMLStyles.top=n.style.top||"",n.style.left=Zo(-this._previousScrollPosition.left),n.style.top=Zo(-this._previousScrollPosition.top),n.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const n=this._document.documentElement,i=n.style,r=this._document.body.style,o=i.scrollBehavior||"",s=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,n.classList.remove("cdk-global-scrollblock"),VW&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),VW&&(i.scrollBehavior=o,r.scrollBehavior=s)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const e=this._document.body,i=this._viewportRuler.getViewportSize();return e.scrollHeight>i.height||e.scrollWidth>i.width}}class tve{constructor(n,e,i,r){this._scrollDispatcher=n,this._ngZone=e,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(n){this._overlayRef=n}enable(){if(this._scrollSubscription)return;const n=this._scrollDispatcher.scrolled(0).pipe(Mi(e=>!e||!this._overlayRef.overlayElement.contains(e.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=n.subscribe(()=>{const e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=n.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class QW{enable(){}disable(){}attach(){}}function vL(t,n){return n.some(e=>t.bottome.bottom||t.righte.right)}function zW(t,n){return n.some(e=>t.tope.bottom||t.lefte.right)}class nve{constructor(n,e,i,r){this._scrollDispatcher=n,this._viewportRuler=e,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(n){this._overlayRef=n}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();vL(e,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let ive=(()=>{class t{constructor(e,i,r,o){this._scrollDispatcher=e,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new QW,this.close=s=>new tve(this._scrollDispatcher,this._ngZone,this._viewportRuler,s),this.block=()=>new eve(this._viewportRuler,this._document),this.reposition=s=>new nve(this._scrollDispatcher,this._viewportRuler,this._ngZone,s),this._document=o}static{this.\u0275fac=function(i){return new(i||t)(ee(UW),ee(AL),ee(mn),ee(Di))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();class KM{constructor(n){if(this.scrollStrategy=new QW,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,n){const e=Object.keys(n);for(const i of e)void 0!==n[i]&&(this[i]=n[i])}}}class rve{constructor(n,e){this.connectionPair=n,this.scrollableViewProperties=e}}let GW=(()=>{class t{constructor(e){this._attachedOverlays=[],this._document=e}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){const i=this._attachedOverlays.indexOf(e);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}static{this.\u0275fac=function(i){return new(i||t)(ee(Di))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),ove=(()=>{class t extends GW{constructor(e,i){super(e),this._ngZone=i,this._keydownListener=r=>{const o=this._attachedOverlays;for(let s=o.length-1;s>-1;s--)if(o[s]._keydownEvents.observers.length>0){const a=o[s]._keydownEvents;this._ngZone?this._ngZone.run(()=>a.next(r)):a.next(r);break}}}add(e){super.add(e),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}static{this.\u0275fac=function(i){return new(i||t)(ee(Di),ee(mn,8))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),sve=(()=>{class t extends GW{constructor(e,i,r){super(e),this._platform=i,this._ngZone=r,this._cursorStyleIsSet=!1,this._pointerDownListener=o=>{this._pointerDownEventTarget=ff(o)},this._clickListener=o=>{const s=ff(o),a="click"===o.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:s;this._pointerDownEventTarget=null;const c=this._attachedOverlays.slice();for(let l=c.length-1;l>-1;l--){const d=c[l];if(d._outsidePointerEvents.observers.length<1||!d.hasAttached())continue;if(d.overlayElement.contains(s)||d.overlayElement.contains(a))break;const u=d._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>u.next(o)):u.next(o)}}}add(e){if(super.add(e),!this._isAttached){const i=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(i)):this._addEventListeners(i),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const e=this._document.body;e.removeEventListener("pointerdown",this._pointerDownListener,!0),e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(e){e.addEventListener("pointerdown",this._pointerDownListener,!0),e.addEventListener("click",this._clickListener,!0),e.addEventListener("auxclick",this._clickListener,!0),e.addEventListener("contextmenu",this._clickListener,!0)}static{this.\u0275fac=function(i){return new(i||t)(ee(Di),ee(Rr),ee(mn,8))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),XM=(()=>{class t{constructor(e,i){this._platform=i,this._document=e}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const e="cdk-overlay-container";if(this._platform.isBrowser||pL()){const r=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let o=0;othis._backdropClick.next(u),this._backdropTransitionendHandler=u=>{this._disposeBackdrop(u.target)},this._keydownEvents=new It,this._outsidePointerEvents=new It,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(n){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const e=this._portalOutlet.attach(n);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(qo(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof e?.onDestroy&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const n=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){const n=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,n&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(n){n!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=n,this.hasAttached()&&(n.attach(this),this.updatePosition()))}updateSize(n){this._config={...this._config,...n},this._updateElementSize()}setDirection(n){this._config={...this._config,direction:n},this._updateElementDirection()}addPanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!0)}removePanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!1)}getDirection(){const n=this._config.direction;return n?"string"==typeof n?n:n.value:"ltr"}updateScrollStrategy(n){n!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=n,this.hasAttached()&&(n.attach(this),n.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const n=this._pane.style;n.width=Zo(this._config.width),n.height=Zo(this._config.height),n.minWidth=Zo(this._config.minWidth),n.minHeight=Zo(this._config.minHeight),n.maxWidth=Zo(this._config.maxWidth),n.maxHeight=Zo(this._config.maxHeight)}_togglePointerEvents(n){this._pane.style.pointerEvents=n?"":"none"}_attachBackdrop(){const n="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(n)})}):this._backdropElement.classList.add(n)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const n=this._backdropElement;if(n){if(this._animationsDisabled)return void this._disposeBackdrop(n);n.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{n.addEventListener("transitionend",this._backdropTransitionendHandler)}),n.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(n)},500))}}_toggleClasses(n,e,i){const r=NM(e||[]).filter(o=>!!o);r.length&&(i?n.classList.add(...r):n.classList.remove(...r))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const n=this._ngZone.onStable.pipe(Lr(pc(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),n.unsubscribe())})})}_disposeScrollStrategy(){const n=this._scrollStrategy;n&&(n.disable(),n.detach&&n.detach())}_disposeBackdrop(n){n&&(n.removeEventListener("click",this._backdropClickHandler),n.removeEventListener("transitionend",this._backdropTransitionendHandler),n.remove(),this._backdropElement===n&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const WW="cdk-overlay-connected-position-bounding-box",ave=/([A-Za-z%]+)$/;class cve{get positions(){return this._preferredPositions}constructor(n,e,i,r,o){this._viewportRuler=e,this._document=i,this._platform=r,this._overlayContainer=o,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new It,this._resizeSubscription=zt.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(n)}attach(n){this._validatePositions(),n.hostElement.classList.add(WW),this._overlayRef=n,this._boundingBox=n.hostElement,this._pane=n.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const n=this._originRect,e=this._overlayRect,i=this._viewportRect,r=this._containerRect,o=[];let s;for(let a of this._preferredPositions){let c=this._getOriginPoint(n,r,a),l=this._getOverlayPoint(c,e,a),d=this._getOverlayFit(l,e,i,a);if(d.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(a,c);this._canFitWithFlexibleDimensions(d,l,i)?o.push({position:a,origin:c,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(c,a)}):(!s||s.overlayFit.visibleAreac&&(c=d,a=l)}return this._isPushed=!1,void this._applyPosition(a.position,a.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(s.position,s.originPoint);this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&tp(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(WW),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const n=this._lastPosition;if(n){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const e=this._getOriginPoint(this._originRect,this._containerRect,n);this._applyPosition(n,e)}else this.apply()}withScrollableContainers(n){return this._scrollables=n,this}withPositions(n){return this._preferredPositions=n,-1===n.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(n){return this._viewportMargin=n,this}withFlexibleDimensions(n=!0){return this._hasFlexibleDimensions=n,this}withGrowAfterOpen(n=!0){return this._growAfterOpen=n,this}withPush(n=!0){return this._canPush=n,this}withLockedPosition(n=!0){return this._positionLocked=n,this}setOrigin(n){return this._origin=n,this}withDefaultOffsetX(n){return this._offsetX=n,this}withDefaultOffsetY(n){return this._offsetY=n,this}withTransformOriginOn(n){return this._transformOriginSelector=n,this}_getOriginPoint(n,e,i){let r,o;if("center"==i.originX)r=n.left+n.width/2;else{const s=this._isRtl()?n.right:n.left,a=this._isRtl()?n.left:n.right;r="start"==i.originX?s:a}return e.left<0&&(r-=e.left),o="center"==i.originY?n.top+n.height/2:"top"==i.originY?n.top:n.bottom,e.top<0&&(o-=e.top),{x:r,y:o}}_getOverlayPoint(n,e,i){let r,o;return r="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,o="center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height,{x:n.x+r,y:n.y+o}}_getOverlayFit(n,e,i,r){const o=jW(e);let{x:s,y:a}=n,c=this._getOffset(r,"x"),l=this._getOffset(r,"y");c&&(s+=c),l&&(a+=l);let h=0-a,f=a+o.height-i.height,b=this._subtractOverflows(o.width,0-s,s+o.width-i.width),y=this._subtractOverflows(o.height,h,f),C=b*y;return{visibleArea:C,isCompletelyWithinViewport:o.width*o.height===C,fitsInViewportVertically:y===o.height,fitsInViewportHorizontally:b==o.width}}_canFitWithFlexibleDimensions(n,e,i){if(this._hasFlexibleDimensions){const r=i.bottom-e.y,o=i.right-e.x,s=$W(this._overlayRef.getConfig().minHeight),a=$W(this._overlayRef.getConfig().minWidth);return(n.fitsInViewportVertically||null!=s&&s<=r)&&(n.fitsInViewportHorizontally||null!=a&&a<=o)}return!1}_pushOverlayOnScreen(n,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:n.x+this._previousPushAmount.x,y:n.y+this._previousPushAmount.y};const r=jW(e),o=this._viewportRect,s=Math.max(n.x+r.width-o.width,0),a=Math.max(n.y+r.height-o.height,0),c=Math.max(o.top-i.top-n.y,0),l=Math.max(o.left-i.left-n.x,0);let d=0,u=0;return d=r.width<=o.width?l||-s:n.xb&&!this._isInitialRender&&!this._growAfterOpen&&(s=n.y-b/2)}if("end"===e.overlayX&&!r||"start"===e.overlayX&&r)h=i.width-n.x+2*this._viewportMargin,d=n.x-this._viewportMargin;else if("start"===e.overlayX&&!r||"end"===e.overlayX&&r)u=n.x,d=i.right-n.x;else{const f=Math.min(i.right-n.x+i.left,n.x),b=this._lastBoundingBoxSize.width;d=2*f,u=n.x-f,d>b&&!this._isInitialRender&&!this._growAfterOpen&&(u=n.x-b/2)}return{top:s,left:u,bottom:a,right:h,width:d,height:o}}_setBoundingBoxStyles(n,e){const i=this._calculateBoundingBoxRect(n,e);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{const o=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;r.height=Zo(i.height),r.top=Zo(i.top),r.bottom=Zo(i.bottom),r.width=Zo(i.width),r.left=Zo(i.left),r.right=Zo(i.right),r.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",r.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",o&&(r.maxHeight=Zo(o)),s&&(r.maxWidth=Zo(s))}this._lastBoundingBoxSize=i,tp(this._boundingBox.style,r)}_resetBoundingBoxStyles(){tp(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){tp(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(n,e){const i={},r=this._hasExactPosition(),o=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(r){const d=this._viewportRuler.getViewportScrollPosition();tp(i,this._getExactOverlayY(e,n,d)),tp(i,this._getExactOverlayX(e,n,d))}else i.position="static";let a="",c=this._getOffset(e,"x"),l=this._getOffset(e,"y");c&&(a+=`translateX(${c}px) `),l&&(a+=`translateY(${l}px)`),i.transform=a.trim(),s.maxHeight&&(r?i.maxHeight=Zo(s.maxHeight):o&&(i.maxHeight="")),s.maxWidth&&(r?i.maxWidth=Zo(s.maxWidth):o&&(i.maxWidth="")),tp(this._pane.style,i)}_getExactOverlayY(n,e,i){let r={top:"",bottom:""},o=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i)),"bottom"===n.overlayY?r.bottom=this._document.documentElement.clientHeight-(o.y+this._overlayRect.height)+"px":r.top=Zo(o.y),r}_getExactOverlayX(n,e,i){let s,r={left:"",right:""},o=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i)),s=this._isRtl()?"end"===n.overlayX?"left":"right":"end"===n.overlayX?"right":"left","right"===s?r.right=this._document.documentElement.clientWidth-(o.x+this._overlayRect.width)+"px":r.left=Zo(o.x),r}_getScrollVisibility(){const n=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:zW(n,i),isOriginOutsideView:vL(n,i),isOverlayClipped:zW(e,i),isOverlayOutsideView:vL(e,i)}}_subtractOverflows(n,...e){return e.reduce((i,r)=>i-Math.max(r,0),n)}_getNarrowedViewportRect(){const n=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+n-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:n-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(n,e){return"x"===e?null==n.offsetX?this._offsetX:n.offsetX:null==n.offsetY?this._offsetY:n.offsetY}_validatePositions(){}_addPanelClasses(n){this._pane&&NM(n).forEach(e=>{""!==e&&-1===this._appliedPanelClasses.indexOf(e)&&(this._appliedPanelClasses.push(e),this._pane.classList.add(e))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(n=>{this._pane.classList.remove(n)}),this._appliedPanelClasses=[])}_getOriginRect(){const n=this._origin;if(n instanceof Mn)return n.nativeElement.getBoundingClientRect();if(n instanceof Element)return n.getBoundingClientRect();const e=n.width||0,i=n.height||0;return{top:n.y,bottom:n.y+i,left:n.x,right:n.x+e,height:i,width:e}}}function tp(t,n){for(let e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t}function $W(t){if("number"!=typeof t&&null!=t){const[n,e]=t.split(ave);return e&&"px"!==e?null:parseFloat(n)}return t||null}function jW(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}const KW="cdk-global-overlay-wrapper";class dve{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(n){const e=n.getConfig();this._overlayRef=n,this._width&&!e.width&&n.updateSize({width:this._width}),this._height&&!e.height&&n.updateSize({height:this._height}),n.hostElement.classList.add(KW),this._isDisposed=!1}top(n=""){return this._bottomOffset="",this._topOffset=n,this._alignItems="flex-start",this}left(n=""){return this._xOffset=n,this._xPosition="left",this}bottom(n=""){return this._topOffset="",this._bottomOffset=n,this._alignItems="flex-end",this}right(n=""){return this._xOffset=n,this._xPosition="right",this}start(n=""){return this._xOffset=n,this._xPosition="start",this}end(n=""){return this._xOffset=n,this._xPosition="end",this}width(n=""){return this._overlayRef?this._overlayRef.updateSize({width:n}):this._width=n,this}height(n=""){return this._overlayRef?this._overlayRef.updateSize({height:n}):this._height=n,this}centerHorizontally(n=""){return this.left(n),this._xPosition="center",this}centerVertically(n=""){return this.top(n),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:o,maxWidth:s,maxHeight:a}=i,c=!("100%"!==r&&"100vw"!==r||s&&"100%"!==s&&"100vw"!==s),l=!("100%"!==o&&"100vh"!==o||a&&"100%"!==a&&"100vh"!==a),d=this._xPosition,u=this._xOffset,h="rtl"===this._overlayRef.getConfig().direction;let f="",b="",y="";c?y="flex-start":"center"===d?(y="center",h?b=u:f=u):h?"left"===d||"end"===d?(y="flex-end",f=u):("right"===d||"start"===d)&&(y="flex-start",b=u):"left"===d||"start"===d?(y="flex-start",f=u):("right"===d||"end"===d)&&(y="flex-end",b=u),n.position=this._cssPosition,n.marginLeft=c?"0":f,n.marginTop=l?"0":this._topOffset,n.marginBottom=this._bottomOffset,n.marginRight=c?"0":b,e.justifyContent=y,e.alignItems=l?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(KW),i.justifyContent=i.alignItems=n.marginTop=n.marginBottom=n.marginLeft=n.marginRight=n.position="",this._overlayRef=null,this._isDisposed=!0}}let uve=(()=>{class t{constructor(e,i,r,o){this._viewportRuler=e,this._document=i,this._platform=r,this._overlayContainer=o}global(){return new dve}flexibleConnectedTo(e){return new cve(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}static{this.\u0275fac=function(i){return new(i||t)(ee(AL),ee(Di),ee(Rr),ee(XM))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),hve=0,us=(()=>{class t{constructor(e,i,r,o,s,a,c,l,d,u,h,f){this.scrollStrategies=e,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=o,this._keyboardDispatcher=s,this._injector=a,this._ngZone=c,this._document=l,this._directionality=d,this._location=u,this._outsideClickDispatcher=h,this._animationsModuleType=f}create(e){const i=this._createHostElement(),r=this._createPaneElement(i),o=this._createPortalOutlet(r),s=new KM(e);return s.direction=s.direction||this._directionality.value,new YM(o,i,r,s,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(e){const i=this._document.createElement("div");return i.id="cdk-overlay-"+hve++,i.classList.add("cdk-overlay-pane"),e.appendChild(i),i}_createHostElement(){const e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}_createPortalOutlet(e){return this._appRef||(this._appRef=this._injector.get(Yh)),new H_e(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}static{this.\u0275fac=function(i){return new(i||t)(ee(ive),ee(XM),ee(tg),ee(uve),ee(ove),ee(Do),ee(mn),ee(Di),ee(Mu),ee(YD),ee(sve),ee(jo,8))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();const fve=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],XW=new He("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{const t=yt(us);return()=>t.scrollStrategies.reposition()}});let yL=(()=>{class t{constructor(e){this.elementRef=e}static{this.\u0275fac=function(i){return new(i||t)(N(Mn))}}static{this.\u0275dir=Et({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"],standalone:!0})}}return t})(),YW=(()=>{class t{get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}get disposeOnNavigation(){return this._disposeOnNavigation}set disposeOnNavigation(e){this._disposeOnNavigation=e}constructor(e,i,r,o,s){this._overlay=e,this._dir=s,this._backdropSubscription=zt.EMPTY,this._attachSubscription=zt.EMPTY,this._detachSubscription=zt.EMPTY,this._positionSubscription=zt.EMPTY,this._disposeOnNavigation=!1,this._ngZone=yt(mn),this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.hasBackdrop=!1,this.lockPosition=!1,this.flexibleDimensions=!1,this.growAfterOpen=!1,this.push=!1,this.backdropClick=new vn,this.positionChange=new vn,this.attach=new vn,this.detach=new vn,this.overlayKeydown=new vn,this.overlayOutsideClick=new vn,this._templatePortal=new My(i,r),this._scrollStrategyFactory=o,this.scrollStrategy=this._scrollStrategyFactory()}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=fve);const e=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=e.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=e.detachments().subscribe(()=>this.detach.emit()),e.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!bl(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{this.overlayOutsideClick.next(i)})}_buildConfig(){const e=this._position=this.positionStrategy||this._createPositionStrategy(),i=new KM({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop,disposeOnNavigation:this.disposeOnNavigation});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(e){const i=this.positions.map(r=>({originX:r.originX,originY:r.originY,overlayX:r.overlayX,overlayY:r.overlayY,offsetX:r.offsetX||this.offsetX,offsetY:r.offsetY||this.offsetY,panelClass:r.panelClass||void 0}));return e.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const e=this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());return this._updatePositionStrategy(e),e}_getFlexibleConnectedPositionStrategyOrigin(){return this.origin instanceof yL?this.origin.elementRef:this.origin}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(e=>{this.backdropClick.emit(e)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(function N_e(t,n=!1){return be((e,i)=>{let r=0;e.subscribe(Ie(i,o=>{const s=t(o,r++);(s||n)&&i.next(o),!s&&i.complete()}))})}(()=>this.positionChange.observers.length>0)).subscribe(e=>{this._ngZone.run(()=>this.positionChange.emit(e)),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(N(us),N(hc),N(ha),N(XW),N(Mu,8))}}static{this.\u0275dir=Et({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:[Ke.None,"cdkConnectedOverlayOrigin","origin"],positions:[Ke.None,"cdkConnectedOverlayPositions","positions"],positionStrategy:[Ke.None,"cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:[Ke.None,"cdkConnectedOverlayOffsetX","offsetX"],offsetY:[Ke.None,"cdkConnectedOverlayOffsetY","offsetY"],width:[Ke.None,"cdkConnectedOverlayWidth","width"],height:[Ke.None,"cdkConnectedOverlayHeight","height"],minWidth:[Ke.None,"cdkConnectedOverlayMinWidth","minWidth"],minHeight:[Ke.None,"cdkConnectedOverlayMinHeight","minHeight"],backdropClass:[Ke.None,"cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:[Ke.None,"cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:[Ke.None,"cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:[Ke.None,"cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:[Ke.None,"cdkConnectedOverlayOpen","open"],disableClose:[Ke.None,"cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:[Ke.None,"cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:[Ke.HasDecoratorInputTransform,"cdkConnectedOverlayHasBackdrop","hasBackdrop",Nn],lockPosition:[Ke.HasDecoratorInputTransform,"cdkConnectedOverlayLockPosition","lockPosition",Nn],flexibleDimensions:[Ke.HasDecoratorInputTransform,"cdkConnectedOverlayFlexibleDimensions","flexibleDimensions",Nn],growAfterOpen:[Ke.HasDecoratorInputTransform,"cdkConnectedOverlayGrowAfterOpen","growAfterOpen",Nn],push:[Ke.HasDecoratorInputTransform,"cdkConnectedOverlayPush","push",Nn],disposeOnNavigation:[Ke.HasDecoratorInputTransform,"cdkConnectedOverlayDisposeOnNavigation","disposeOnNavigation",Nn]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],standalone:!0,features:[Ro,ar]})}}return t})();const pve={provide:XW,deps:[us],useFactory:function mve(t){return()=>t.scrollStrategies.reposition()}};let Ty=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[us,pve],imports:[xy,Sy,HW,HW]})}}return t})();function Fy(t){return Mi((n,e)=>t<=e)}let qW=(()=>{class t{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Ave=(()=>{class t{constructor(e){this._mutationObserverFactory=e,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((e,i)=>this._cleanupObserver(i))}observe(e){const i=Eu(e);return new Wi(r=>{const s=this._observeElement(i).subscribe(r);return()=>{s.unsubscribe(),this._unobserveElement(i)}})}_observeElement(e){if(this._observedElements.has(e))this._observedElements.get(e).count++;else{const i=new It,r=this._mutationObserverFactory.create(o=>i.next(o));r&&r.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:r,stream:i,count:1})}return this._observedElements.get(e).stream}_unobserveElement(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}_cleanupObserver(e){if(this._observedElements.has(e)){const{observer:i,stream:r}=this._observedElements.get(e);i&&i.disconnect(),r.complete(),this._observedElements.delete(e)}}static{this.\u0275fac=function(i){return new(i||t)(ee(qW))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),ZW=(()=>{class t{get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(e){this._debounce=hf(e),this._subscribe()}constructor(e,i,r){this._contentObserver=e,this._elementRef=i,this._ngZone=r,this.event=new vn,this._disabled=!1,this._currentSubscription=null}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const e=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?e.pipe(Ng(this.debounce)):e).subscribe(this.event)})}_unsubscribe(){this._currentSubscription?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(N(Ave),N(Mn),N(mn))}}static{this.\u0275dir=Et({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:[Ke.HasDecoratorInputTransform,"cdkObserveContentDisabled","disabled",Nn],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"],standalone:!0,features:[Ro]})}}return t})(),wL=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[qW]})}}return t})();function Su(...t){const n=I0(t),e=x2(t),{args:i,keys:r}=vG(t);if(0===i.length)return zm([],n);const o=new Wi(function gve(t,n,e=ts){return i=>{JW(n,()=>{const{length:r}=t,o=new Array(r);let s=r,a=r;for(let c=0;c{const l=zm(t[c],n);let d=!1;l.subscribe(Ie(i,u=>{o[c]=u,d||(d=!0,a--),a||i.next(e(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}(i,n,r?s=>yG(r,s):ts));return e?o.pipe(P2(e)):o}function JW(t,n,e){t?mu(e,t,n):n()}function qM(...t){return function bve(){return y9(1)}()(zm(t,I0(t)))}function md(...t){const n=I0(t);return be((e,i)=>{(n?qM(t,e,n):qM(t,e)).subscribe(i)})}const e$=new Set;let np,_ve=(()=>{class t{constructor(e,i){this._platform=e,this._nonce=i,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):yve}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&function vve(t,n){if(!e$.has(t))try{np||(np=document.createElement("style"),n&&np.setAttribute("nonce",n),np.setAttribute("type","text/css"),document.head.appendChild(np)),np.sheet&&(np.sheet.insertRule(`@media ${t} {body{ }}`,0),e$.add(t))}catch(e){console.error(e)}}(e,this._nonce),this._matchMedia(e)}static{this.\u0275fac=function(i){return new(i||t)(ee(Rr),ee(QB,8))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function yve(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let wve=(()=>{class t{constructor(e,i){this._mediaMatcher=e,this._zone=i,this._queries=new Map,this._destroySubject=new It}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return t$(NM(e)).some(r=>this._registerQuery(r).mql.matches)}observe(e){let o=Su(t$(NM(e)).map(s=>this._registerQuery(s).observable));return o=qM(o.pipe(qo(1)),o.pipe(Fy(1),Ng(0))),o.pipe(mt(s=>{const a={matches:!1,breakpoints:{}};return s.forEach(({matches:c,query:l})=>{a.matches=a.matches||c,a.breakpoints[l]=c}),a}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);const i=this._mediaMatcher.matchMedia(e),o={observable:new Wi(s=>{const a=c=>this._zone.run(()=>s.next(c));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(md(i),mt(({matches:s})=>({query:e,matches:s})),Lr(this._destroySubject)),mql:i};return this._queries.set(e,o),o}static{this.\u0275fac=function(i){return new(i||t)(ee(_ve),ee(mn))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function t$(t){return t.map(n=>n.split(",")).reduce((n,e)=>n.concat(e)).map(n=>n.trim())}function i$(t,n,e){const i=ZM(t,n);e=e.trim(),!i.some(r=>r.trim()===e)&&(i.push(e),t.setAttribute(n,i.join(" ")))}function xL(t,n,e){const i=ZM(t,n);e=e.trim();const r=i.filter(o=>o!==e);r.length?t.setAttribute(n,r.join(" ")):t.removeAttribute(n)}function ZM(t,n){return t.getAttribute(n)?.match(/\S+/g)??[]}const r$="cdk-describedby-message",JM="cdk-describedby-host";let CL=0,xve=(()=>{class t{constructor(e,i){this._platform=i,this._messageRegistry=new Map,this._messagesContainer=null,this._id=""+CL++,this._document=e,this._id=yt(Bv)+"-"+CL++}describe(e,i,r){if(!this._canBeDescribed(e,i))return;const o=EL(i,r);"string"!=typeof i?(o$(i,this._id),this._messageRegistry.set(o,{messageElement:i,referenceCount:0})):this._messageRegistry.has(o)||this._createMessageElement(i,r),this._isElementDescribedByMessage(e,o)||this._addMessageReference(e,o)}removeDescription(e,i,r){if(!i||!this._isElementNode(e))return;const o=EL(i,r);if(this._isElementDescribedByMessage(e,o)&&this._removeMessageReference(e,o),"string"==typeof i){const s=this._messageRegistry.get(o);s&&0===s.referenceCount&&this._deleteMessageElement(o)}0===this._messagesContainer?.childNodes.length&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){const e=this._document.querySelectorAll(`[${JM}="${this._id}"]`);for(let i=0;i0!=r.indexOf(r$));e.setAttribute("aria-describedby",i.join(" "))}_addMessageReference(e,i){const r=this._messageRegistry.get(i);i$(e,"aria-describedby",r.messageElement.id),e.setAttribute(JM,this._id),r.referenceCount++}_removeMessageReference(e,i){const r=this._messageRegistry.get(i);r.referenceCount--,xL(e,"aria-describedby",r.messageElement.id),e.removeAttribute(JM)}_isElementDescribedByMessage(e,i){const r=ZM(e,"aria-describedby"),o=this._messageRegistry.get(i),s=o&&o.messageElement.id;return!!s&&-1!=r.indexOf(s)}_canBeDescribed(e,i){if(!this._isElementNode(e))return!1;if(i&&"object"==typeof i)return!0;const r=null==i?"":`${i}`.trim(),o=e.getAttribute("aria-label");return!(!r||o&&o.trim()===r)}_isElementNode(e){return e.nodeType===this._document.ELEMENT_NODE}static{this.\u0275fac=function(i){return new(i||t)(ee(Di),ee(Rr))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function EL(t,n){return"string"==typeof t?`${n||""}/${t}`:t}function o$(t,n){t.id||(t.id=`${r$}-${n}-${CL++}`)}class s${constructor(n,e){this._items=n,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new It,this._typeaheadSubscription=zt.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=i=>i.disabled,this._pressedLetters=[],this.tabOut=new It,this.change=new It,n instanceof su?this._itemChangesSubscription=n.changes.subscribe(i=>this._itemsChanged(i.toArray())):GC(n)&&(this._effectRef=function U8(t,n){td("NgSignals"),!n?.injector&&jl();const e=n?.injector??yt(Do),i=!0!==n?.manualCleanup?e.get(ql):null,r=new Pue(e.get(Due),t,typeof Zone>"u"?null:Zone.current,i,e,n?.allowSignalWrites??!1),o=e.get(ao,null,{optional:!0});return o&&8&o._lView[Fn]?(o._lView[SA]??=[]).push(r.watcher.notify):r.watcher.notify(),r}(()=>this._itemsChanged(n()),{injector:e}))}skipPredicate(n){return this._skipPredicateFn=n,this}withWrap(n=!0){return this._wrap=n,this}withVerticalOrientation(n=!0){return this._vertical=n,this}withHorizontalOrientation(n){return this._horizontal=n,this}withAllowedModifierKeys(n){return this._allowedModifierKeys=n,this}withTypeAhead(n=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(co(e=>this._pressedLetters.push(e)),Ng(n),Mi(()=>this._pressedLetters.length>0),mt(()=>this._pressedLetters.join(""))).subscribe(e=>{const i=this._getItemsArray();for(let r=1;r!n[o]||this._allowedModifierKeys.indexOf(o)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&r){this.setNextItemActive();break}return;case 38:if(this._vertical&&r){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&r){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&r){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&r){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&r){this.setLastItemActive();break}return;case 33:if(this._pageUpAndDown.enabled&&r){const o=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(o>0?o:0,1);break}return;case 34:if(this._pageUpAndDown.enabled&&r){const o=this._activeItemIndex+this._pageUpAndDown.delta,s=this._getItemsArray().length;this._setActiveItemByIndex(o=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],n.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(n){const e=this._getItemsArray(),i="number"==typeof n?n:e.indexOf(n);this._activeItem=e[i]??null,this._activeItemIndex=i}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._effectRef?.destroy(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(n){this._wrap?this._setActiveInWrapMode(n):this._setActiveInDefaultMode(n)}_setActiveInWrapMode(n){const e=this._getItemsArray();for(let i=1;i<=e.length;i++){const r=(this._activeItemIndex+n*i+e.length)%e.length;if(!this._skipPredicateFn(e[r]))return void this.setActiveItem(r)}}_setActiveInDefaultMode(n){this._setActiveItemByIndex(this._activeItemIndex+n,n)}_setActiveItemByIndex(n,e){const i=this._getItemsArray();if(i[n]){for(;this._skipPredicateFn(i[n]);)if(!i[n+=e])return;this.setActiveItem(n)}}_getItemsArray(){return GC(this._items)?this._items():this._items instanceof su?this._items.toArray():this._items}_itemsChanged(n){if(this._activeItem){const e=n.indexOf(this._activeItem);e>-1&&e!==this._activeItemIndex&&(this._activeItemIndex=e)}}}class Cve extends s${setActiveItem(n){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(n),this.activeItem&&this.activeItem.setActiveStyles()}}class ML extends s${constructor(){super(...arguments),this._origin="program"}setFocusOrigin(n){return this._origin=n,this}setActiveItem(n){super.setActiveItem(n),this.activeItem&&this.activeItem.focus(this._origin)}}let SL=(()=>{class t{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return function Mve(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}isTabbable(e){if(!this._platform.isBrowser)return!1;const i=function Eve(t){try{return t.frameElement}catch{return null}}(function Rve(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(e));if(i&&(-1===c$(i)||!this.isVisible(i)))return!1;let r=e.nodeName.toLowerCase(),o=c$(e);return e.hasAttribute("contenteditable")?-1!==o:!("iframe"===r||"object"===r||this._platform.WEBKIT&&this._platform.IOS&&!function Ive(t){let n=t.nodeName.toLowerCase(),e="input"===n&&t.type;return"text"===e||"password"===e||"select"===n||"textarea"===n}(e))&&("audio"===r?!!e.hasAttribute("controls")&&-1!==o:"video"===r?-1!==o&&(null!==o||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}isFocusable(e,i){return function Dve(t){return!function kve(t){return function Fve(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function Sve(t){let n=t.nodeName.toLowerCase();return"input"===n||"select"===n||"button"===n||"textarea"===n}(t)||function Tve(t){return function Bve(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||a$(t))}(e)&&!this.isDisabled(e)&&(i?.ignoreVisibility||this.isVisible(e))}static{this.\u0275fac=function(i){return new(i||t)(ee(Rr))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function a$(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let n=t.getAttribute("tabindex");return!(!n||isNaN(parseInt(n,10)))}function c$(t){if(!a$(t))return null;const n=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}class l${get enabled(){return this._enabled}set enabled(n){this._enabled=n,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}constructor(n,e,i,r,o=!1){this._element=n,this._checker=e,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,o||this.attachAnchors()}destroy(){const n=this._startAnchor,e=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(n)))})}focusFirstTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(n)))})}focusLastTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(n)))})}_getRegionBoundary(n){const e=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);return"start"==n?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(n){const e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){const i=this._getFirstTabbableElement(e);return i?.focus(n),!!i}return e.focus(n),!0}return this.focusFirstTabbableElement(n)}focusFirstTabbableElement(n){const e=this._getRegionBoundary("start");return e&&e.focus(n),!!e}focusLastTabbableElement(n){const e=this._getRegionBoundary("end");return e&&e.focus(n),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(n){if(this._checker.isFocusable(n)&&this._checker.isTabbable(n))return n;const e=n.children;for(let i=0;i=0;i--){const r=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(r)return r}return null}_createAnchor(){const n=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,n),n.classList.add("cdk-visually-hidden"),n.classList.add("cdk-focus-trap-anchor"),n.setAttribute("aria-hidden","true"),n}_toggleAnchorTabIndex(n,e){n?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(n){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}_executeOnStable(n){this._ngZone.isStable?n():this._ngZone.onStable.pipe(qo(1)).subscribe(n)}}let d$=(()=>{class t{constructor(e,i,r){this._checker=e,this._ngZone=i,this._document=r}create(e,i=!1){return new l$(e,this._checker,this._ngZone,this._document,i)}static{this.\u0275fac=function(i){return new(i||t)(ee(SL),ee(mn),ee(Di))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function kL(t){return 0===t.buttons||0===t.detail}function TL(t){const n=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!n||-1!==n.identifier||null!=n.radiusX&&1!==n.radiusX||null!=n.radiusY&&1!==n.radiusY)}const Lve=new He("cdk-input-modality-detector-options"),Pve={ignoreKeys:[18,17,224,91,16]},Wg=Jm({passive:!0,capture:!0});let Ove=(()=>{class t{get mostRecentModality(){return this._modality.value}constructor(e,i,r,o){this._platform=e,this._mostRecentTarget=null,this._modality=new _e(null),this._lastTouchMs=0,this._onKeydown=s=>{this._options?.ignoreKeys?.some(a=>a===s.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=ff(s))},this._onMousedown=s=>{Date.now()-this._lastTouchMs<650||(this._modality.next(kL(s)?"keyboard":"mouse"),this._mostRecentTarget=ff(s))},this._onTouchstart=s=>{TL(s)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=ff(s))},this._options={...Pve,...o},this.modalityDetected=this._modality.pipe(Fy(1)),this.modalityChanged=this.modalityDetected.pipe(j0()),e.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,Wg),r.addEventListener("mousedown",this._onMousedown,Wg),r.addEventListener("touchstart",this._onTouchstart,Wg)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,Wg),document.removeEventListener("mousedown",this._onMousedown,Wg),document.removeEventListener("touchstart",this._onTouchstart,Wg))}static{this.\u0275fac=function(i){return new(i||t)(ee(Rr),ee(mn),ee(Di),ee(Lve,8))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();const Nve=new He("liveAnnouncerElement",{providedIn:"root",factory:function Uve(){return null}}),Hve=new He("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Vve=0,Qve=(()=>{class t{constructor(e,i,r,o){this._ngZone=i,this._defaultOptions=o,this._document=r,this._liveElement=e||this._createLiveElement()}announce(e,...i){const r=this._defaultOptions;let o,s;return 1===i.length&&"number"==typeof i[0]?s=i[0]:[o,s]=i,this.clear(),clearTimeout(this._previousTimeout),o||(o=r&&r.politeness?r.politeness:"polite"),null==s&&r&&(s=r.duration),this._liveElement.setAttribute("aria-live",o),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(a=>this._currentResolve=a)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=e,"number"==typeof s&&(this._previousTimeout=setTimeout(()=>this.clear(),s)),this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){const e="cdk-live-announcer-element",i=this._document.getElementsByClassName(e),r=this._document.createElement("div");for(let o=0;o .cdk-overlay-container [aria-modal="true"]');for(let r=0;r{class t{constructor(e,i,r,o,s){this._ngZone=e,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new It,this._rootNodeFocusAndBlurListener=a=>{for(let l=ff(a);l;l=l.parentElement)"focus"===a.type?this._onFocus(a,l):this._onBlur(a,l)},this._document=o,this._detectionMode=s?.detectionMode||eS.IMMEDIATE}monitor(e,i=!1){const r=Eu(e);if(!this._platform.isBrowser||1!==r.nodeType)return pu();const o=function B_e(t){if(function F_e(){if(null==mL){const t=typeof document<"u"?document.head:null;mL=!(!t||!t.createShadowRoot&&!t.attachShadow)}return mL}()){const n=t.getRootNode?t.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&n instanceof ShadowRoot)return n}return null}(r)||this._getDocument(),s=this._elementInfo.get(r);if(s)return i&&(s.checkChildren=!0),s.subject;const a={checkChildren:i,subject:new It,rootNode:o};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(e){const i=Eu(e),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(e,i,r){const o=Eu(e);o===this._getDocument().activeElement?this._getClosestElementsInfo(o).forEach(([a,c])=>this._originChanged(a,i,c)):(this._setOrigin(i),"function"==typeof o.focus&&o.focus(r))}ngOnDestroy(){this._elementInfo.forEach((e,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:e&&this._isLastInteractionFromInputLabel(e)?"mouse":"program"}_shouldBeAttributedToTouch(e){return this._detectionMode===eS.EVENTUAL||!!e?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(e,i){e.classList.toggle("cdk-focused",!!i),e.classList.toggle("cdk-touch-focused","touch"===i),e.classList.toggle("cdk-keyboard-focused","keyboard"===i),e.classList.toggle("cdk-mouse-focused","mouse"===i),e.classList.toggle("cdk-program-focused","program"===i)}_setOrigin(e,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=e,this._originFromTouchInteraction="touch"===e&&i,this._detectionMode===eS.IMMEDIATE&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(e,i){const r=this._elementInfo.get(i),o=ff(e);!r||!r.checkChildren&&i!==o||this._originChanged(i,this._getFocusOrigin(o),r)}_onBlur(e,i){const r=this._elementInfo.get(i);!r||r.checkChildren&&e.relatedTarget instanceof Node&&i.contains(e.relatedTarget)||(this._setClasses(i),this._emitOrigin(r,null))}_emitOrigin(e,i){e.subject.observers.length&&this._ngZone.run(()=>e.subject.next(i))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;const i=e.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,tS),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,tS)}),this._rootNodeFocusListenerCount.set(i,r+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Lr(this._stopInputModalityDetector)).subscribe(o=>{this._setOrigin(o,!0)}))}_removeGlobalListeners(e){const i=e.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,tS),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,tS),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,i,r){this._setClasses(e,i),this._emitOrigin(r,i),this._lastFocusOrigin=i}_getClosestElementsInfo(e){const i=[];return this._elementInfo.forEach((r,o)=>{(o===e||r.checkChildren&&o.contains(e))&&i.push([o,r])}),i}_isLastInteractionFromInputLabel(e){const{_mostRecentTarget:i,mostRecentModality:r}=this._inputModalityDetector;if("mouse"!==r||!i||i===e||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.disabled)return!1;const o=e.labels;if(o)for(let s=0;s{class t{constructor(e,i){this._platform=e,this._document=i,this._breakpointSubscription=yt(wve).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return ip.NONE;const e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);const i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(e):null,o=(r&&r.backgroundColor||"").replace(/ /g,"");switch(e.remove(),o){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return ip.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return ip.BLACK_ON_WHITE}return ip.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const e=this._document.body.classList;e.remove(FL,h$,f$),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();i===ip.BLACK_ON_WHITE?e.add(FL,h$):i===ip.WHITE_ON_BLACK&&e.add(FL,f$)}}static{this.\u0275fac=function(i){return new(i||t)(ee(Rr),ee(Di))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),BL=(()=>{class t{constructor(e){e._applyBodyHighContrastModeCssClasses()}static{this.\u0275fac=function(i){return new(i||t)(ee(m$))}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[wL]})}}return t})();function IL(t){return new Wi(n=>{No(t()).subscribe(n)})}function Gve(t,n){}class nS{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0,this.closeOnOverlayDetachments=!0}}let p$=(()=>{class t extends bL{constructor(e,i,r,o,s,a,c,l){super(),this._elementRef=e,this._focusTrapFactory=i,this._config=o,this._interactivityChecker=s,this._ngZone=a,this._overlayRef=c,this._focusMonitor=l,this._platform=yt(Rr),this._focusTrap=null,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this._ariaLabelledByQueue=[],this._changeDetectorRef=yt(ao),this.attachDomPortal=d=>{this._portalOutlet.hasAttached();const u=this._portalOutlet.attachDomPortal(d);return this._contentAttached(),u},this._document=r,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(e){this._ariaLabelledByQueue.push(e),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(e){const i=this._ariaLabelledByQueue.indexOf(e);i>-1&&(this._ariaLabelledByQueue.splice(i,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._restoreFocus()}attachComponentPortal(e){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachComponentPortal(e);return this._contentAttached(),i}attachTemplatePortal(e){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachTemplatePortal(e);return this._contentAttached(),i}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(e,i){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const r=()=>{e.removeEventListener("blur",r),e.removeEventListener("mousedown",r),e.removeAttribute("tabindex")};e.addEventListener("blur",r),e.addEventListener("mousedown",r)})),e.focus(i)}_focusByCssSelector(e,i){let r=this._elementRef.nativeElement.querySelector(e);r&&this._forceFocus(r,i)}_trapFocus(){const e=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||e.focus();break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElementWhenReady().then(i=>{i||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}_restoreFocus(){const e=this._config.restoreFocus;let i=null;if("string"==typeof e?i=this._document.querySelector(e):"boolean"==typeof e?i=e?this._elementFocusedBeforeDialogWasOpened:null:e&&(i=e),this._config.restoreFocus&&i&&"function"==typeof i.focus){const r=QM(),o=this._elementRef.nativeElement;(!r||r===this._document.body||r===o||o.contains(r))&&(this._focusMonitor?(this._focusMonitor.focusVia(i,this._closeInteractionType),this._closeInteractionType=null):i.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const e=this._elementRef.nativeElement,i=QM();return e===i||e.contains(i)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=QM()))}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(d$),N(Di,8),N(nS),N(SL),N(mn),N(YM),N(ku))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cdk-dialog-container"]],viewQuery:function(i,r){if(1&i&&gi(zM,7),2&i){let o;ln(o=dn())&&(r._portalOutlet=o.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(i,r){2&i&&ni("id",r._config.id||null)("role",r._config.role)("aria-modal",r._config.ariaModal)("aria-labelledby",r._config.ariaLabel?null:r._ariaLabelledByQueue[0])("aria-label",r._config.ariaLabel)("aria-describedby",r._config.ariaDescribedBy||null)},standalone:!0,features:[ai,br],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(i,r){1&i&&$e(0,Gve,0,0,"ng-template",0)},dependencies:[zM],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2})}}return t})();class DL{constructor(n,e){this.overlayRef=n,this.config=e,this.closed=new It,this.disableClose=e.disableClose,this.backdropClick=n.backdropClick(),this.keydownEvents=n.keydownEvents(),this.outsidePointerEvents=n.outsidePointerEvents(),this.id=e.id,this.keydownEvents.subscribe(i=>{27===i.keyCode&&!this.disableClose&&!bl(i)&&(i.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=n.detachments().subscribe(()=>{!1!==e.closeOnOverlayDetachments&&this.close()})}close(n,e){if(this.containerInstance){const i=this.closed;this.containerInstance._closeInteractionType=e?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),i.next(n),i.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(n="",e=""){return this.overlayRef.updateSize({width:n,height:e}),this}addPanelClass(n){return this.overlayRef.addPanelClass(n),this}removePanelClass(n){return this.overlayRef.removePanelClass(n),this}}const A$=new He("DialogScrollStrategy",{providedIn:"root",factory:()=>{const t=yt(us);return()=>t.scrollStrategies.block()}}),Wve=new He("DialogData"),$ve=new He("DefaultDialogConfig");let Kve=0,g$=(()=>{class t{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(e,i,r,o,s,a){this._overlay=e,this._injector=i,this._defaultOptions=r,this._parentDialog=o,this._overlayContainer=s,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new It,this._afterOpenedAtThisLevel=new It,this._ariaHiddenElements=new Map,this.afterAllClosed=IL(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(md(void 0))),this._scrollStrategy=a}open(e,i){(i={...this._defaultOptions||new nS,...i}).id=i.id||"cdk-dialog-"+Kve++,i.id&&this.getDialogById(i.id);const o=this._getOverlayConfig(i),s=this._overlay.create(o),a=new DL(s,i),c=this._attachContainer(s,a,i);return a.containerInstance=c,this._attachDialogContent(e,a,c,i),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(a),a.closed.subscribe(()=>this._removeOpenDialog(a,!0)),this.afterOpened.next(a),a}closeAll(){RL(this.openDialogs,e=>e.close())}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){RL(this._openDialogsAtThisLevel,e=>{!1===e.config.closeOnDestroy&&this._removeOpenDialog(e,!1)}),RL(this._openDialogsAtThisLevel,e=>e.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(e){const i=new KM({positionStrategy:e.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,width:e.width,height:e.height,disposeOnNavigation:e.closeOnNavigation});return e.backdropClass&&(i.backdropClass=e.backdropClass),i}_attachContainer(e,i,r){const o=r.injector||r.viewContainerRef?.injector,s=[{provide:nS,useValue:r},{provide:DL,useValue:i},{provide:YM,useValue:e}];let a;r.container?"function"==typeof r.container?a=r.container:(a=r.container.type,s.push(...r.container.providers(r))):a=p$;const c=new Ey(a,r.viewContainerRef,Do.create({parent:o||this._injector,providers:s}),r.componentFactoryResolver);return e.attach(c).instance}_attachDialogContent(e,i,r,o){if(e instanceof hc){const s=this._createInjector(o,i,r,void 0);let a={$implicit:o.data,dialogRef:i};o.templateContext&&(a={...a,..."function"==typeof o.templateContext?o.templateContext():o.templateContext}),r.attachTemplatePortal(new My(e,null,a,s))}else{const s=this._createInjector(o,i,r,this._injector),a=r.attachComponentPortal(new Ey(e,o.viewContainerRef,s,o.componentFactoryResolver));i.componentRef=a,i.componentInstance=a.instance}}_createInjector(e,i,r,o){const s=e.injector||e.viewContainerRef?.injector,a=[{provide:Wve,useValue:e.data},{provide:DL,useValue:i}];return e.providers&&("function"==typeof e.providers?a.push(...e.providers(i,e,r)):a.push(...e.providers)),e.direction&&(!s||!s.get(Mu,null,{optional:!0}))&&a.push({provide:Mu,useValue:{value:e.direction,change:pu()}}),Do.create({parent:s||o,providers:a})}_removeOpenDialog(e,i){const r=this.openDialogs.indexOf(e);r>-1&&(this.openDialogs.splice(r,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((o,s)=>{o?s.setAttribute("aria-hidden",o):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),i&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const e=this._overlayContainer.getContainerElement();if(e.parentElement){const i=e.parentElement.children;for(let r=i.length-1;r>-1;r--){const o=i[r];o!==e&&"SCRIPT"!==o.nodeName&&"STYLE"!==o.nodeName&&!o.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(o,o.getAttribute("aria-hidden")),o.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}static{this.\u0275fac=function(i){return new(i||t)(ee(us),ee(Do),ee($ve,8),ee(t,12),ee(XM),ee(A$))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function RL(t,n){let e=t.length;for(;e--;)n(t[e])}let Xve=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[g$],imports:[Ty,Sy,BL,Sy]})}}return t})();const Yve=["text"],qve=[[["mat-icon"]],"*"],Zve=["mat-icon","*"];function Jve(t,n){if(1&t&&fe(0,"mat-pseudo-checkbox",1),2&t){const e=Se();le("disabled",e.disabled)("state",e.selected?"checked":"unchecked")}}function e0e(t,n){1&t&&fe(0,"mat-pseudo-checkbox",3),2&t&&le("disabled",Se().disabled)}function t0e(t,n){if(1&t&&(T(0,"span",4),ge(1),L()),2&t){const e=Se();D(),qt("(",e.group.label,")")}}const n0e=["mat-internal-form-field",""],i0e=["*"],o0e=new He("mat-sanity-checks",{providedIn:"root",factory:function r0e(){return!0}});let nr=(()=>{class t{constructor(e,i,r){this._sanityChecks=i,this._document=r,this._hasDoneGlobalChecks=!1,e._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(e){return!pL()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[e])}static{this.\u0275fac=function(i){return new(i||t)(ee(m$),ee(o0e,8),ee(Di))}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[xy,xy]})}}return t})();class LL{constructor(n,e,i,r,o){this._defaultMatcher=n,this.ngControl=e,this._parentFormGroup=i,this._parentForm=r,this._stateChanges=o,this.errorState=!1}updateErrorState(){const n=this.errorState,e=this._parentFormGroup||this._parentForm,i=this.matcher||this._defaultMatcher,r=this.ngControl?this.ngControl.control:null,o=i?.isErrorState(r,e)??!1;o!==n&&(this.errorState=o,this._stateChanges.next())}}let v$=(()=>{class t{isErrorState(e,i){return!!(e&&e.invalid&&(e.touched||i&&i.submitted))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Wa=function(t){return t[t.FADING_IN=0]="FADING_IN",t[t.VISIBLE=1]="VISIBLE",t[t.FADING_OUT=2]="FADING_OUT",t[t.HIDDEN=3]="HIDDEN",t}(Wa||{});class u0e{constructor(n,e,i,r=!1){this._renderer=n,this.element=e,this.config=i,this._animationForciblyDisabledThroughCss=r,this.state=Wa.HIDDEN}fadeOut(){this._renderer.fadeOutRipple(this)}}const y$=Jm({passive:!0,capture:!0});class h0e{constructor(){this._events=new Map,this._delegateEventHandler=n=>{const e=ff(n);e&&this._events.get(n.type)?.forEach((i,r)=>{(r===e||r.contains(e))&&i.forEach(o=>o.handleEvent(n))})}}addHandler(n,e,i,r){const o=this._events.get(e);if(o){const s=o.get(i);s?s.add(r):o.set(i,new Set([r]))}else this._events.set(e,new Map([[i,new Set([r])]])),n.runOutsideAngular(()=>{document.addEventListener(e,this._delegateEventHandler,y$)})}removeHandler(n,e,i){const r=this._events.get(n);if(!r)return;const o=r.get(e);o&&(o.delete(i),0===o.size&&r.delete(e),0===r.size&&(this._events.delete(n),document.removeEventListener(n,this._delegateEventHandler,y$)))}}const w$={enterDuration:225,exitDuration:150},x$=Jm({passive:!0,capture:!0}),C$=["mousedown","touchstart"],E$=["mouseup","mouseleave","touchend","touchcancel"];class Iy{static{this._eventManager=new h0e}constructor(n,e,i,r){this._target=n,this._ngZone=e,this._platform=r,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=Eu(i))}fadeInRipple(n,e,i={}){const r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o={...w$,...i.animation};i.centered&&(n=r.left+r.width/2,e=r.top+r.height/2);const s=i.radius||function m0e(t,n,e){const i=Math.max(Math.abs(t-e.left),Math.abs(t-e.right)),r=Math.max(Math.abs(n-e.top),Math.abs(n-e.bottom));return Math.sqrt(i*i+r*r)}(n,e,r),a=n-r.left,c=e-r.top,l=o.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=a-s+"px",d.style.top=c-s+"px",d.style.height=2*s+"px",d.style.width=2*s+"px",null!=i.color&&(d.style.backgroundColor=i.color),d.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(d);const u=window.getComputedStyle(d),f=u.transitionDuration,b="none"===u.transitionProperty||"0s"===f||"0s, 0s"===f||0===r.width&&0===r.height,y=new u0e(this,d,i,b);d.style.transform="scale3d(1, 1, 1)",y.state=Wa.FADING_IN,i.persistent||(this._mostRecentTransientRipple=y);let C=null;return!b&&(l||o.exitDuration)&&this._ngZone.runOutsideAngular(()=>{const x=()=>this._finishRippleTransition(y),w=()=>this._destroyRipple(y);d.addEventListener("transitionend",x),d.addEventListener("transitioncancel",w),C={onTransitionEnd:x,onTransitionCancel:w}}),this._activeRipples.set(y,C),(b||!l)&&this._finishRippleTransition(y),y}fadeOutRipple(n){if(n.state===Wa.FADING_OUT||n.state===Wa.HIDDEN)return;const e=n.element,i={...w$,...n.config.animation};e.style.transitionDuration=`${i.exitDuration}ms`,e.style.opacity="0",n.state=Wa.FADING_OUT,(n._animationForciblyDisabledThroughCss||!i.exitDuration)&&this._finishRippleTransition(n)}fadeOutAll(){this._getActiveRipples().forEach(n=>n.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(n=>{n.config.persistent||n.fadeOut()})}setupTriggerEvents(n){const e=Eu(n);!this._platform.isBrowser||!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,C$.forEach(i=>{Iy._eventManager.addHandler(this._ngZone,i,e,this)}))}handleEvent(n){"mousedown"===n.type?this._onMousedown(n):"touchstart"===n.type?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{E$.forEach(e=>{this._triggerElement.addEventListener(e,this,x$)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(n){n.state===Wa.FADING_IN?this._startFadeOutTransition(n):n.state===Wa.FADING_OUT&&this._destroyRipple(n)}_startFadeOutTransition(n){const e=n===this._mostRecentTransientRipple,{persistent:i}=n.config;n.state=Wa.VISIBLE,!i&&(!e||!this._isPointerDown)&&n.fadeOut()}_destroyRipple(n){const e=this._activeRipples.get(n)??null;this._activeRipples.delete(n),this._activeRipples.size||(this._containerRect=null),n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),n.state=Wa.HIDDEN,null!==e&&(n.element.removeEventListener("transitionend",e.onTransitionEnd),n.element.removeEventListener("transitioncancel",e.onTransitionCancel)),n.element.remove()}_onMousedown(n){const e=kL(n),i=this._lastTouchStartEvent&&Date.now(){!n.config.persistent&&(n.state===Wa.VISIBLE||n.config.terminateOnPointerUp&&n.state===Wa.FADING_IN)&&n.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){const n=this._triggerElement;n&&(C$.forEach(e=>Iy._eventManager.removeHandler(e,n,this)),this._pointerUpEventsRegistered&&E$.forEach(e=>n.removeEventListener(e,this,x$)))}}const $g=new He("mat-ripple-global-options");let Tu=(()=>{class t{get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}constructor(e,i,r,o,s){this._elementRef=e,this._animationMode=s,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=o||{},this._rippleRenderer=new Iy(this,i,e,r)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:{...this._globalOptions.animation,..."NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{},...this.animation},terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(e,i=0,r){return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,i,{...this.rippleConfig,...r}):this._rippleRenderer.fadeInRipple(0,0,{...this.rippleConfig,...e})}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(mn),N(Rr),N($g,8),N(jo,8))}}static{this.\u0275dir=Et({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(i,r){2&i&&sn("mat-ripple-unbounded",r.unbounded)},inputs:{color:[Ke.None,"matRippleColor","color"],unbounded:[Ke.None,"matRippleUnbounded","unbounded"],centered:[Ke.None,"matRippleCentered","centered"],radius:[Ke.None,"matRippleRadius","radius"],animation:[Ke.None,"matRippleAnimation","animation"],disabled:[Ke.None,"matRippleDisabled","disabled"],trigger:[Ke.None,"matRippleTrigger","trigger"]},exportAs:["matRipple"],standalone:!0})}}return t})(),jg=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nr,nr]})}}return t})(),M$=(()=>{class t{constructor(e){this._animationMode=e,this.state="unchecked",this.disabled=!1,this.appearance="full"}static{this.\u0275fac=function(i){return new(i||t)(N(jo,8))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(i,r){2&i&&sn("mat-pseudo-checkbox-indeterminate","indeterminate"===r.state)("mat-pseudo-checkbox-checked","checked"===r.state)("mat-pseudo-checkbox-disabled",r.disabled)("mat-pseudo-checkbox-minimal","minimal"===r.appearance)("mat-pseudo-checkbox-full","full"===r.appearance)("_mat-animation-noopable","NoopAnimations"===r._animationMode)},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},standalone:!0,features:[br],decls:0,vars:0,template:function(i,r){},styles:['.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-minimal-pseudo-checkbox-selected-checkmark-color)}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color)}.mat-pseudo-checkbox-full{border-color:var(--mat-full-pseudo-checkbox-unselected-icon-color);border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-full-pseudo-checkbox-disabled-unselected-icon-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-full-pseudo-checkbox-selected-icon-color);border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-full-pseudo-checkbox-selected-checkmark-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-full-pseudo-checkbox-disabled-selected-icon-color)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-full-pseudo-checkbox-disabled-selected-checkmark-color)}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}'],encapsulation:2,changeDetection:0})}}return t})(),S$=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nr]})}}return t})();const k$=new He("MAT_OPTION_PARENT_COMPONENT"),T$=new He("MatOptgroup");let p0e=0;class A0e{constructor(n,e=!1){this.source=n,this.isUserInput=e}}let Fu=(()=>{class t{get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(e){this._disabled=e}get disableRipple(){return!(!this._parent||!this._parent.disableRipple)}get hideSingleSelectionIndicator(){return!(!this._parent||!this._parent.hideSingleSelectionIndicator)}constructor(e,i,r,o){this._element=e,this._changeDetectorRef=i,this._parent=r,this.group=o,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+p0e++,this.onSelectionChange=new vn,this._stateChanges=new It}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(e=!0){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),e&&this._emitSelectionChangeEvent())}deselect(e=!0){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),e&&this._emitSelectionChangeEvent())}focus(e,i){const r=this._getHostElement();"function"==typeof r.focus&&r.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(e){(13===e.keyCode||32===e.keyCode)&&!bl(e)&&(this._selectViaInteraction(),e.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=e)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(e=!1){this.onSelectionChange.emit(new A0e(this,e))}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(ao),N(k$,8),N(T$,8))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-option"]],viewQuery:function(i,r){if(1&i&&gi(Yve,7),2&i){let o;ln(o=dn())&&(r._text=o.first)}},hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(i,r){1&i&&De("click",function(){return r._selectViaInteraction()})("keydown",function(s){return r._handleKeydown(s)}),2&i&&(rd("id",r.id),ni("aria-selected",r.selected)("aria-disabled",r.disabled.toString()),sn("mdc-list-item--selected",r.selected)("mat-mdc-option-multiple",r.multiple)("mat-mdc-option-active",r.active)("mdc-list-item--disabled",r.disabled))},inputs:{value:"value",id:"id",disabled:[Ke.HasDecoratorInputTransform,"disabled","disabled",Nn]},outputs:{onSelectionChange:"onSelectionChange"},exportAs:["matOption"],standalone:!0,features:[Ro,br],ngContentSelectors:Zve,decls:8,vars:5,consts:[["text",""],["aria-hidden","true",1,"mat-mdc-option-pseudo-checkbox",3,"disabled","state"],[1,"mdc-list-item__primary-text"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"],["aria-hidden","true","mat-ripple","",1,"mat-mdc-option-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled"]],template:function(i,r){1&i&&(so(qve),$e(0,Jve,1,2,"mat-pseudo-checkbox",1),Rn(1),T(2,"span",2,0),Rn(4,1),L(),$e(5,e0e,1,1,"mat-pseudo-checkbox",3)(6,t0e,2,1,"span",4),fe(7,"div",5)),2&i&&(at(0,r.multiple?0:-1),D(5),at(5,r.multiple||!r.selected||r.hideSingleSelectionIndicator?-1:5),D(),at(6,r.group&&r.group._inert?6:-1),D(),le("matRippleTrigger",r._getHostElement())("matRippleDisabled",r.disabled||r.disableRipple))},dependencies:[M$,Tu],styles:['.mat-mdc-option{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:16px;padding-right:16px;-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--mat-option-label-text-color);font-family:var(--mat-option-label-text-font);line-height:var(--mat-option-label-text-line-height);font-size:var(--mat-option-label-text-size);letter-spacing:var(--mat-option-label-text-tracking);font-weight:var(--mat-option-label-text-weight);min-height:48px}.mat-mdc-option:focus{outline:none}[dir=rtl] .mat-mdc-option,.mat-mdc-option[dir=rtl]{padding-left:16px;padding-right:16px}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--mat-option-hover-state-layer-color)}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var(--mat-option-focus-state-layer-color)}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color)}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background-color:var(--mat-option-selected-state-layer-color)}.mat-mdc-option.mdc-list-item{align-items:center;background:rgba(0,0,0,0)}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}.cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{right:auto;left:16px}.mat-mdc-option-multiple{--mdc-list-list-item-selected-container-color:var(--mdc-list-list-item-container-color, transparent)}.mat-mdc-option-active .mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0})}}return t})(),F$=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[jg,nr,S$]})}}return t})();const B$={capture:!0},I$=["focus","click","mouseenter","touchstart"],PL="mat-ripple-loader-uninitialized",OL="mat-ripple-loader-class-name",D$="mat-ripple-loader-centered",iS="mat-ripple-loader-disabled";let _0e=(()=>{class t{constructor(){this._document=yt(Di,{optional:!0}),this._animationMode=yt(jo,{optional:!0}),this._globalRippleOptions=yt($g,{optional:!0}),this._platform=yt(Rr),this._ngZone=yt(mn),this._hosts=new Map,this._onInteraction=e=>{if(!(e.target instanceof HTMLElement))return;const r=e.target.closest(`[${PL}]`);r&&this._createRipple(r)},this._ngZone.runOutsideAngular(()=>{for(const e of I$)this._document?.addEventListener(e,this._onInteraction,B$)})}ngOnDestroy(){const e=this._hosts.keys();for(const i of e)this.destroyRipple(i);for(const i of I$)this._document?.removeEventListener(i,this._onInteraction,B$)}configureRipple(e,i){e.setAttribute(PL,""),(i.className||!e.hasAttribute(OL))&&e.setAttribute(OL,i.className||""),i.centered&&e.setAttribute(D$,""),i.disabled&&e.setAttribute(iS,"")}getRipple(e){return this._hosts.get(e)||this._createRipple(e)}setDisabled(e,i){const r=this._hosts.get(e);r?r.disabled=i:i?e.setAttribute(iS,""):e.removeAttribute(iS)}_createRipple(e){if(!this._document)return;const i=this._hosts.get(e);if(i)return i;e.querySelector(".mat-ripple")?.remove();const r=this._document.createElement("span");r.classList.add("mat-ripple",e.getAttribute(OL)),e.append(r);const o=new Tu(new Mn(r),this._ngZone,this._platform,this._globalRippleOptions?this._globalRippleOptions:void 0,this._animationMode?this._animationMode:void 0);return o._isInitialized=!0,o.trigger=e,o.centered=e.hasAttribute(D$),o.disabled=e.hasAttribute(iS),this.attachRipple(e,o),o}attachRipple(e,i){e.removeAttribute(PL),this._hosts.set(e,i)}destroyRipple(e){const i=this._hosts.get(e);i&&(i.ngOnDestroy(),this._hosts.delete(e))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),R$=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(i,r){2&i&&sn("mdc-form-field--align-end","before"===r.labelPosition)},inputs:{labelPosition:"labelPosition"},standalone:!0,features:[br],attrs:n0e,ngContentSelectors:i0e,decls:1,vars:0,template:function(i,r){1&i&&(so(),Rn(0))},styles:[".mdc-form-field{display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field[hidden]{display:none}.mdc-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{margin-left:auto;margin-right:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{padding-left:0;padding-right:4px}.mdc-form-field--nowrap>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{padding-left:4px;padding-right:0}.mdc-form-field--space-between{justify-content:space-between}.mdc-form-field--space-between>label{margin:0}[dir=rtl] .mdc-form-field--space-between>label,.mdc-form-field--space-between>label[dir=rtl]{margin:0}.mdc-form-field{font-family:var(--mdc-form-field-label-text-font);line-height:var(--mdc-form-field-label-text-line-height);font-size:var(--mdc-form-field-label-text-size);font-weight:var(--mdc-form-field-label-text-weight);letter-spacing:var(--mdc-form-field-label-text-tracking);color:var(--mdc-form-field-label-text-color)}.mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}"],encapsulation:2,changeDetection:0})}}return t})();var ii=function(t){return t[t.State=0]="State",t[t.Transition=1]="Transition",t[t.Sequence=2]="Sequence",t[t.Group=3]="Group",t[t.Animate=4]="Animate",t[t.Keyframes=5]="Keyframes",t[t.Style=6]="Style",t[t.Trigger=7]="Trigger",t[t.Reference=8]="Reference",t[t.AnimateChild=9]="AnimateChild",t[t.AnimateRef=10]="AnimateRef",t[t.Query=11]="Query",t[t.Stagger=12]="Stagger",t}(ii||{});const Bu="*";function Iu(t,n){return{type:ii.Trigger,name:t,definitions:n,options:{}}}function zc(t,n=null){return{type:ii.Animate,styles:n,timings:t}}function Eo(t){return{type:ii.Style,styles:t,offset:null}}function Gc(t,n,e){return{type:ii.State,name:t,styles:n,options:e}}function Ac(t,n,e=null){return{type:ii.Transition,expr:t,animation:n,options:e}}function NL(t=null){return{type:ii.AnimateChild,options:t}}function UL(t,n,e=null){return{type:ii.Query,selector:t,animation:n,options:e}}class Dy{constructor(n=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=n+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(n=>n()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(n){this._position=this.totalTime?n*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class P${constructor(n){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=n;let e=0,i=0,r=0;const o=this.players.length;0==o?queueMicrotask(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++e==o&&this._onFinish()}),s.onDestroy(()=>{++i==o&&this._onDestroy()}),s.onStart(()=>{++r==o&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this.players.forEach(n=>n.init())}onStart(n){this._onStartFns.push(n)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(n=>n()),this._onStartFns=[])}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(n=>n.play())}pause(){this.players.forEach(n=>n.pause())}restart(){this.players.forEach(n=>n.restart())}finish(){this._onFinish(),this.players.forEach(n=>n.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(n=>n.destroy()),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this.players.forEach(n=>n.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(n){const e=n*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(r)})}getPosition(){const n=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=n?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}function E0e(t,n){}class VL{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}}const QL="mdc-dialog--open",O$="mdc-dialog--opening",N$="mdc-dialog--closing";let U$=(()=>{class t extends p${constructor(e,i,r,o,s,a,c,l,d){super(e,i,r,o,s,a,c,d),this._animationMode=l,this._animationStateChanged=new vn,this._animationsEnabled="NoopAnimations"!==this._animationMode,this._actionSectionCount=0,this._hostElement=this._elementRef.nativeElement,this._enterAnimationDuration=this._animationsEnabled?V$(this._config.enterAnimationDuration)??150:0,this._exitAnimationDuration=this._animationsEnabled?V$(this._config.exitAnimationDuration)??75:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(H$,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(O$,QL)),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(QL),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove(QL),this._animationsEnabled?(this._hostElement.style.setProperty(H$,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(N$)),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_updateActionSectionCount(e){this._actionSectionCount+=e,this._changeDetectorRef.markForCheck()}_clearAnimationClasses(){this._hostElement.classList.remove(O$,N$)}_waitForAnimationToComplete(e,i){null!==this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(i,e)}_requestAnimationFrame(e){this._ngZone.runOutsideAngular(()=>{"function"==typeof requestAnimationFrame?requestAnimationFrame(e):e()})}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(e){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})}ngOnDestroy(){super.ngOnDestroy(),null!==this._animationTimer&&clearTimeout(this._animationTimer)}attachComponentPortal(e){const i=super.attachComponentPortal(e);return i.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),i}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(d$),N(Di,8),N(VL),N(SL),N(mn),N(YM),N(jo,8),N(ku))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function(i,r){2&i&&(rd("id",r._config.id),ni("aria-modal",r._config.ariaModal)("role",r._config.role)("aria-labelledby",r._config.ariaLabel?null:r._ariaLabelledByQueue[0])("aria-label",r._config.ariaLabel)("aria-describedby",r._config.ariaDescribedBy||null),sn("_mat-animation-noopable",!r._animationsEnabled)("mat-mdc-dialog-container-with-actions",r._actionSectionCount>0))},standalone:!0,features:[ai,br],decls:3,vars:0,consts:[[1,"mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(i,r){1&i&&(T(0,"div",0)(1,"div",1),$e(2,E0e,0,0,"ng-template",2),L()())},dependencies:[zM],styles:['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:var(--mdc-dialog-z-index, 7)}.mdc-dialog .mdc-dialog__content{padding:20px 24px 20px 24px}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100% - 32px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-width:none}@media(max-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px;width:560px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 112px)}}@media(max-width: 720px)and (min-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:560px}}@media(max-width: 720px)and (max-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:calc(100vh - 160px)}}@media(max-width: 720px)and (min-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px}}@media(max-width: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-height: 400px),(max-width: 600px),(min-width: 720px)and (max-height: 400px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{height:100%;max-height:100vh;max-width:100vw;width:100vw;border-radius:0}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{order:-1;left:-12px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__header{padding:0 16px 9px;justify-content:flex-start}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__title{margin-left:calc(16px - 2 * 12px)}}@media(min-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 400px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}.mdc-dialog.mdc-dialog__scrim--hidden .mdc-dialog__scrim{opacity:0}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;pointer-events:none}.mdc-dialog__surface{position:relative;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%;pointer-events:auto;overflow-y:auto;outline:0;transform:scale(0.8)}.mdc-dialog__surface .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}[dir=rtl] .mdc-dialog__surface,.mdc-dialog__surface[dir=rtl]{text-align:right}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-dialog__surface{outline:2px solid windowText}}.mdc-dialog__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-dialog__surface::before{border-color:CanvasText}}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.mdc-dialog__surface::before{content:none}}.mdc-dialog__title{display:block;margin-top:0;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mdc-dialog__title,.mdc-dialog__title[dir=rtl]{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{margin-bottom:1px;padding-bottom:15px}.mdc-dialog--fullscreen .mdc-dialog__header{align-items:baseline;border-bottom:1px solid rgba(0,0,0,0);display:inline-flex;justify-content:space-between;padding:0 24px 9px;z-index:1}@media screen and (forced-colors: active){.mdc-dialog--fullscreen .mdc-dialog__header{border-bottom-color:CanvasText}}.mdc-dialog--fullscreen .mdc-dialog__header .mdc-dialog__close{right:-12px}.mdc-dialog--fullscreen .mdc-dialog__title{margin-bottom:0;padding:0;border-bottom:0}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__title{border-bottom:0;margin-bottom:0}.mdc-dialog--fullscreen .mdc-dialog__close{top:5px}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--fullscreen--titleless .mdc-dialog__close{margin-top:4px}.mdc-dialog--fullscreen--titleless.mdc-dialog--scrollable .mdc-dialog__close{margin-top:0}.mdc-dialog__content{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content,.mdc-dialog__header+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__title+.mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:none}.mdc-dialog--closing .mdc-dialog__surface{transform:none}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{opacity:1}.mdc-dialog--open .mdc-dialog__surface{transform:none}.mdc-dialog--open.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim{opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{transition:opacity 75ms linear}.mdc-dialog--open.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim{transition:opacity 150ms linear}.mdc-dialog__surface-scrim{display:none;opacity:0;position:absolute;width:100%;height:100%;z-index:1}.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{display:block}.mdc-dialog-scroll-lock{overflow:hidden}.mdc-dialog--no-content-padding .mdc-dialog__content{padding:0}.mdc-dialog--sheet .mdc-dialog__container .mdc-dialog__close{right:12px;top:9px;position:absolute;z-index:1}.mdc-dialog__scrim--removed{pointer-events:none}.mdc-dialog__scrim--removed .mdc-dialog__scrim,.mdc-dialog__scrim--removed .mdc-dialog__surface-scrim{display:none}.mat-mdc-dialog-content{max-height:65vh}.mat-mdc-dialog-container{position:static;display:block}.mat-mdc-dialog-container,.mat-mdc-dialog-container .mdc-dialog__container,.mat-mdc-dialog-container .mdc-dialog__surface{max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mat-mdc-dialog-container .mdc-dialog__surface{width:100%;height:100%}.mat-mdc-dialog-component-host{display:contents}.mat-mdc-dialog-container{--mdc-dialog-container-elevation: var(--mdc-dialog-container-elevation-shadow);outline:0}.mat-mdc-dialog-container .mdc-dialog__surface{background-color:var(--mdc-dialog-container-color, white)}.mat-mdc-dialog-container .mdc-dialog__surface{box-shadow:var(--mdc-dialog-container-elevation, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12))}.mat-mdc-dialog-container .mdc-dialog__surface{border-radius:var(--mdc-dialog-container-shape, 4px)}.mat-mdc-dialog-container .mdc-dialog__title{font-family:var(--mdc-dialog-subhead-font, Roboto, sans-serif);line-height:var(--mdc-dialog-subhead-line-height, 1.5rem);font-size:var(--mdc-dialog-subhead-size, 1rem);font-weight:var(--mdc-dialog-subhead-weight, 400);letter-spacing:var(--mdc-dialog-subhead-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__title{color:var(--mdc-dialog-subhead-color, rgba(0, 0, 0, 0.87))}.mat-mdc-dialog-container .mdc-dialog__content{font-family:var(--mdc-dialog-supporting-text-font, Roboto, sans-serif);line-height:var(--mdc-dialog-supporting-text-line-height, 1.5rem);font-size:var(--mdc-dialog-supporting-text-size, 1rem);font-weight:var(--mdc-dialog-supporting-text-weight, 400);letter-spacing:var(--mdc-dialog-supporting-text-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__content{color:var(--mdc-dialog-supporting-text-color, rgba(0, 0, 0, 0.6))}.mat-mdc-dialog-container .mdc-dialog__container{transition:opacity linear var(--mat-dialog-transition-duration, 0ms)}.mat-mdc-dialog-container .mdc-dialog__surface{transition:transform var(--mat-dialog-transition-duration, 0ms) 0ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__container,.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__surface{transition:none}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 80vw);min-width:var(--mat-dialog-container-min-width, 0)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, 80vw)}}.mat-mdc-dialog-title{padding:var(--mat-dialog-headline-padding, 0 24px 9px)}.mat-mdc-dialog-content{display:block}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{padding:var(--mat-dialog-actions-padding, 8px);justify-content:var(--mat-dialog-actions-alignment, start)}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2})}}return t})();const H$="--mat-dialog-transition-duration";function V$(t){return null==t?null:"number"==typeof t?t:t.endsWith("ms")?hf(t.substring(0,t.length-2)):t.endsWith("s")?1e3*hf(t.substring(0,t.length-1)):"0"===t?0:null}var rS=function(t){return t[t.OPEN=0]="OPEN",t[t.CLOSING=1]="CLOSING",t[t.CLOSED=2]="CLOSED",t}(rS||{});class zL{constructor(n,e,i){this._ref=n,this._containerInstance=i,this._afterOpened=new It,this._beforeClosed=new It,this._state=rS.OPEN,this.disableClose=e.disableClose,this.id=n.id,n.addPanelClass("mat-mdc-dialog-panel"),i._animationStateChanged.pipe(Mi(r=>"opened"===r.state),qo(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),i._animationStateChanged.pipe(Mi(r=>"closed"===r.state),qo(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),n.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),pc(this.backdropClick(),this.keydownEvents().pipe(Mi(r=>27===r.keyCode&&!this.disableClose&&!bl(r)))).subscribe(r=>{this.disableClose||(r.preventDefault(),Q$(this,"keydown"===r.type?"keyboard":"mouse"))})}close(n){this._result=n,this._containerInstance._animationStateChanged.pipe(Mi(e=>"closing"===e.state),qo(1)).subscribe(e=>{this._beforeClosed.next(n),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=rS.CLOSING,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(n){let e=this._ref.config.positionStrategy;return n&&(n.left||n.right)?n.left?e.left(n.left):e.right(n.right):e.centerHorizontally(),n&&(n.top||n.bottom)?n.top?e.top(n.top):e.bottom(n.bottom):e.centerVertically(),this._ref.updatePosition(),this}updateSize(n="",e=""){return this._ref.updateSize(n,e),this}addPanelClass(n){return this._ref.addPanelClass(n),this}removePanelClass(n){return this._ref.removePanelClass(n),this}getState(){return this._state}_finishDialogClose(){this._state=rS.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}function Q$(t,n,e){return t._closeInteractionType=n,t.close(e)}const Ry=new He("MatMdcDialogData"),k0e=new He("mat-mdc-dialog-default-options"),z$=new He("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{const t=yt(us);return()=>t.scrollStrategies.block()}});let F0e=0,ga=(()=>{class t{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(e,i,r,o,s,a,c,l){this._overlay=e,this._defaultOptions=o,this._scrollStrategy=s,this._parentDialog=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new It,this._afterOpenedAtThisLevel=new It,this.dialogConfigClass=VL,this.afterAllClosed=IL(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(md(void 0))),this._dialog=i.get(g$),this._dialogRefConstructor=zL,this._dialogContainerType=U$,this._dialogDataToken=Ry}open(e,i){let r;(i={...this._defaultOptions||new VL,...i}).id=i.id||"mat-mdc-dialog-"+F0e++,i.scrollStrategy=i.scrollStrategy||this._scrollStrategy();const o=this._dialog.open(e,{...i,positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:i},{provide:nS,useValue:i}]},templateContext:()=>({dialogRef:r}),providers:(s,a,c)=>(r=new this._dialogRefConstructor(s,i,c),r.updatePosition(i?.position),[{provide:this._dialogContainerType,useValue:c},{provide:this._dialogDataToken,useValue:a.data},{provide:this._dialogRefConstructor,useValue:r}])});return r.componentRef=o.componentRef,r.componentInstance=o.componentInstance,this.openDialogs.push(r),this.afterOpened.next(r),r.afterClosed().subscribe(()=>{const s=this.openDialogs.indexOf(r);s>-1&&(this.openDialogs.splice(s,1),this.openDialogs.length||this._getAfterAllClosed().next())}),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(e){let i=e.length;for(;i--;)e[i].close()}static{this.\u0275fac=function(i){return new(i||t)(ee(us),ee(Do),ee(YD,8),ee(k0e,8),ee(z$),ee(t,12),ee(XM),ee(jo,8))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),B0e=0,_l=(()=>{class t{constructor(e,i,r){this.dialogRef=e,this._elementRef=i,this._dialog=r,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=W$(this._elementRef,this._dialog.openDialogs))}ngOnChanges(e){const i=e._matDialogClose||e._matDialogCloseResult;i&&(this.dialogResult=i.currentValue)}_onButtonClick(e){Q$(this.dialogRef,0===e.screenX&&0===e.screenY?"keyboard":"mouse",this.dialogResult)}static{this.\u0275fac=function(i){return new(i||t)(N(zL,8),N(Mn),N(ga))}}static{this.\u0275dir=Et({type:t,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(i,r){1&i&&De("click",function(s){return r._onButtonClick(s)}),2&i&&ni("aria-label",r.ariaLabel||null)("type",r.type)},inputs:{ariaLabel:[Ke.None,"aria-label","ariaLabel"],type:"type",dialogResult:[Ke.None,"mat-dialog-close","dialogResult"],_matDialogClose:[Ke.None,"matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],standalone:!0,features:[ar]})}}return t})(),G$=(()=>{class t{constructor(e,i,r){this._dialogRef=e,this._elementRef=i,this._dialog=r}ngOnInit(){this._dialogRef||(this._dialogRef=W$(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{this._onAdd()})}ngOnDestroy(){this._dialogRef?._containerInstance&&Promise.resolve().then(()=>{this._onRemove()})}static{this.\u0275fac=function(i){return new(i||t)(N(zL,8),N(Mn),N(ga))}}static{this.\u0275dir=Et({type:t,standalone:!0})}}return t})(),GL=(()=>{class t extends G${constructor(){super(...arguments),this.id="mat-mdc-dialog-title-"+B0e++}_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=pr(t)))(r||t)}})()}static{this.\u0275dir=Et({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(i,r){2&i&&rd("id",r.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],standalone:!0,features:[ai]})}}return t})(),mf=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],standalone:!0})}}return t})(),pf=(()=>{class t extends G${_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=pr(t)))(r||t)}})()}static{this.\u0275dir=Et({type:t,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function(i,r){2&i&&sn("mat-mdc-dialog-actions-align-start","start"===r.align)("mat-mdc-dialog-actions-align-center","center"===r.align)("mat-mdc-dialog-actions-align-end","end"===r.align)},inputs:{align:"align"},standalone:!0,features:[ai]})}}return t})();function W$(t,n){let e=t.nativeElement.parentElement;for(;e&&!e.classList.contains("mat-mdc-dialog-container");)e=e.parentElement;return e?n.find(i=>i.id===e.id):null}let oS=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[ga],imports:[Xve,Ty,Sy,nr,nr]})}}return t})();const I0e=["mat-button",""],D0e=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],R0e=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"],L0e=new He("MAT_BUTTON_CONFIG"),P0e=[{attribute:"mat-button",mdcClasses:["mdc-button","mat-mdc-button"]},{attribute:"mat-flat-button",mdcClasses:["mdc-button","mdc-button--unelevated","mat-mdc-unelevated-button"]},{attribute:"mat-raised-button",mdcClasses:["mdc-button","mdc-button--raised","mat-mdc-raised-button"]},{attribute:"mat-stroked-button",mdcClasses:["mdc-button","mdc-button--outlined","mat-mdc-outlined-button"]},{attribute:"mat-fab",mdcClasses:["mdc-fab","mat-mdc-fab"]},{attribute:"mat-mini-fab",mdcClasses:["mdc-fab","mdc-fab--mini","mat-mdc-mini-fab"]},{attribute:"mat-icon-button",mdcClasses:["mdc-icon-button","mat-mdc-icon-button"]}];let O0e=(()=>{class t{get ripple(){return this._rippleLoader?.getRipple(this._elementRef.nativeElement)}set ripple(e){this._rippleLoader?.attachRipple(this._elementRef.nativeElement,e)}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=e,this._updateRippleDisabled()}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._updateRippleDisabled()}constructor(e,i,r,o){this._elementRef=e,this._platform=i,this._ngZone=r,this._animationMode=o,this._focusMonitor=yt(ku),this._rippleLoader=yt(_0e),this._isFab=!1,this._disableRipple=!1,this._disabled=!1;const s=yt(L0e,{optional:!0}),a=e.nativeElement,c=a.classList;this.disabledInteractive=s?.disabledInteractive??!1,this._rippleLoader?.configureRipple(a,{className:"mat-mdc-button-ripple"});for(const{attribute:l,mdcClasses:d}of P0e)a.hasAttribute(l)&&c.add(...d)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement)}focus(e="program",i){e?this._focusMonitor.focusVia(this._elementRef.nativeElement,e,i):this._elementRef.nativeElement.focus(i)}_getAriaDisabled(){return null!=this.ariaDisabled?this.ariaDisabled:!(!this.disabled||!this.disabledInteractive)||null}_getDisabledAttribute(){return!(this.disabledInteractive||!this.disabled)||null}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}static{this.\u0275fac=function(i){!function ZH(){throw new Error("invalid")}()}}static{this.\u0275dir=Et({type:t,inputs:{color:"color",disableRipple:[Ke.HasDecoratorInputTransform,"disableRipple","disableRipple",Nn],disabled:[Ke.HasDecoratorInputTransform,"disabled","disabled",Nn],ariaDisabled:[Ke.HasDecoratorInputTransform,"aria-disabled","ariaDisabled",Nn],disabledInteractive:[Ke.HasDecoratorInputTransform,"disabledInteractive","disabledInteractive",Nn]},features:[Ro]})}}return t})(),Zs=(()=>{class t extends O0e{constructor(e,i,r,o){super(e,i,r,o)}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(Rr),N(mn),N(jo,8))}}static{this.\u0275cmp=Ze({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""]],hostVars:14,hostBindings:function(i,r){2&i&&(ni("disabled",r._getDisabledAttribute())("aria-disabled",r._getAriaDisabled()),ll(r.color?"mat-"+r.color:""),sn("mat-mdc-button-disabled",r.disabled)("mat-mdc-button-disabled-interactive",r.disabledInteractive)("_mat-animation-noopable","NoopAnimations"===r._animationMode)("mat-unthemed",!r.color)("mat-mdc-button-base",!0))},exportAs:["matButton"],standalone:!0,features:[ai,br],attrs:I0e,ngContentSelectors:R0e,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(i,r){1&i&&(so(D0e),fe(0,"span",0),Rn(1),T(2,"span",1),Rn(3,1),L(),Rn(4,2),fe(5,"span",2)(6,"span",3)),2&i&&sn("mdc-button__ripple",!r._isFab)("mdc-fab__ripple",r._isFab)},styles:['.mdc-touch-target-wrapper{display:inline}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0)}.mdc-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__progress-indicator{font-size:0;position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;line-height:initial}.mdc-button .mdc-button__label{position:relative}.mdc-button .mdc-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px);display:none}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring{border-color:CanvasText}}.mdc-button .mdc-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring::after{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{display:block}}.mdc-button .mdc-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--touch{margin-top:6px;margin-bottom:6px}.mdc-button{padding:0 8px 0 8px}.mdc-button--unelevated{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--unelevated.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--unelevated.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--raised{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--raised.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--raised.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--outlined{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--outlined .mdc-button__ripple{border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button{font-family:var(--mdc-text-button-label-text-font);font-size:var(--mdc-text-button-label-text-size);letter-spacing:var(--mdc-text-button-label-text-tracking);font-weight:var(--mdc-text-button-label-text-weight);text-transform:var(--mdc-text-button-label-text-transform);height:var(--mdc-text-button-container-height);border-radius:var(--mdc-text-button-container-shape);padding:0 var(--mat-text-button-horizontal-padding, 8px)}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color)}.mat-mdc-button:disabled{color:var(--mdc-text-button-disabled-label-text-color)}.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape)}.mat-mdc-button:has(.material-icons,mat-icon,[matButtonIcon]){padding:0 var(--mat-text-button-with-icon-horizontal-padding, 8px)}.mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, 0)}[dir=rtl] .mat-mdc-button>.mat-icon{margin-right:var(--mat-text-button-icon-offset, 0);margin-left:var(--mat-text-button-icon-spacing, 8px)}.mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-offset, 0);margin-left:var(--mat-text-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-text-button-icon-spacing, 8px);margin-left:var(--mat-text-button-icon-offset, 0)}.mat-mdc-button .mat-ripple-element{background-color:var(--mat-text-button-ripple-color)}.mat-mdc-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-state-layer-color)}.mat-mdc-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-text-button-disabled-state-layer-color)}.mat-mdc-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-hover-state-layer-opacity)}.mat-mdc-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-focus-state-layer-opacity)}.mat-mdc-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-text-button-pressed-state-layer-opacity)}.mat-mdc-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-text-button-touch-target-display)}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-text-button-disabled-label-text-color)}.mat-mdc-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-unelevated-button{font-family:var(--mdc-filled-button-label-text-font);font-size:var(--mdc-filled-button-label-text-size);letter-spacing:var(--mdc-filled-button-label-text-tracking);font-weight:var(--mdc-filled-button-label-text-weight);text-transform:var(--mdc-filled-button-label-text-transform);height:var(--mdc-filled-button-container-height);border-radius:var(--mdc-filled-button-container-shape);padding:0 var(--mat-filled-button-horizontal-padding, 16px)}.mat-mdc-unelevated-button:not(:disabled){background-color:var(--mdc-filled-button-container-color)}.mat-mdc-unelevated-button:disabled{background-color:var(--mdc-filled-button-disabled-container-color)}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color)}.mat-mdc-unelevated-button:disabled{color:var(--mdc-filled-button-disabled-label-text-color)}.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape)}.mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -4px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-offset, -4px);margin-left:var(--mat-filled-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-filled-button-icon-spacing, 8px);margin-left:var(--mat-filled-button-icon-offset, -4px)}.mat-mdc-unelevated-button .mat-ripple-element{background-color:var(--mat-filled-button-ripple-color)}.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-state-layer-color)}.mat-mdc-unelevated-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-filled-button-disabled-state-layer-color)}.mat-mdc-unelevated-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-hover-state-layer-opacity)}.mat-mdc-unelevated-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-focus-state-layer-opacity)}.mat-mdc-unelevated-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-filled-button-pressed-state-layer-opacity)}.mat-mdc-unelevated-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-filled-button-touch-target-display)}.mat-mdc-unelevated-button[disabled],.mat-mdc-unelevated-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-filled-button-disabled-label-text-color);background-color:var(--mdc-filled-button-disabled-container-color)}.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-raised-button{font-family:var(--mdc-protected-button-label-text-font);font-size:var(--mdc-protected-button-label-text-size);letter-spacing:var(--mdc-protected-button-label-text-tracking);font-weight:var(--mdc-protected-button-label-text-weight);text-transform:var(--mdc-protected-button-label-text-transform);height:var(--mdc-protected-button-container-height);border-radius:var(--mdc-protected-button-container-shape);padding:0 var(--mat-protected-button-horizontal-padding, 16px);box-shadow:var(--mdc-protected-button-container-elevation-shadow)}.mat-mdc-raised-button:not(:disabled){background-color:var(--mdc-protected-button-container-color)}.mat-mdc-raised-button:disabled{background-color:var(--mdc-protected-button-disabled-container-color)}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color)}.mat-mdc-raised-button:disabled{color:var(--mdc-protected-button-disabled-label-text-color)}.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape)}.mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -4px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}.mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-offset, -4px);margin-left:var(--mat-protected-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-protected-button-icon-spacing, 8px);margin-left:var(--mat-protected-button-icon-offset, -4px)}.mat-mdc-raised-button .mat-ripple-element{background-color:var(--mat-protected-button-ripple-color)}.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-state-layer-color)}.mat-mdc-raised-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-protected-button-disabled-state-layer-color)}.mat-mdc-raised-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-hover-state-layer-opacity)}.mat-mdc-raised-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-focus-state-layer-opacity)}.mat-mdc-raised-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-protected-button-pressed-state-layer-opacity)}.mat-mdc-raised-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-protected-button-touch-target-display)}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation-shadow)}.mat-mdc-raised-button:focus{box-shadow:var(--mdc-protected-button-focus-container-elevation-shadow)}.mat-mdc-raised-button:active,.mat-mdc-raised-button:focus:active{box-shadow:var(--mdc-protected-button-pressed-container-elevation-shadow)}.mat-mdc-raised-button[disabled],.mat-mdc-raised-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-protected-button-disabled-label-text-color);background-color:var(--mdc-protected-button-disabled-container-color)}.mat-mdc-raised-button[disabled].mat-mdc-button-disabled,.mat-mdc-raised-button.mat-mdc-button-disabled.mat-mdc-button-disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation-shadow)}.mat-mdc-raised-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-outlined-button{font-family:var(--mdc-outlined-button-label-text-font);font-size:var(--mdc-outlined-button-label-text-size);letter-spacing:var(--mdc-outlined-button-label-text-tracking);font-weight:var(--mdc-outlined-button-label-text-weight);text-transform:var(--mdc-outlined-button-label-text-transform);height:var(--mdc-outlined-button-container-height);border-radius:var(--mdc-outlined-button-container-shape);padding:0 15px 0 15px;border-width:var(--mdc-outlined-button-outline-width);padding:0 var(--mat-outlined-button-horizontal-padding, 15px)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color)}.mat-mdc-outlined-button:disabled{color:var(--mdc-outlined-button-disabled-label-text-color)}.mat-mdc-outlined-button .mdc-button__ripple{border-radius:var(--mdc-outlined-button-container-shape)}.mat-mdc-outlined-button:not(:disabled){border-color:var(--mdc-outlined-button-outline-color)}.mat-mdc-outlined-button:disabled{border-color:var(--mdc-outlined-button-disabled-outline-color)}.mat-mdc-outlined-button.mdc-button--icon-trailing{padding:0 11px 0 15px}.mat-mdc-outlined-button.mdc-button--icon-leading{padding:0 15px 0 11px}.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:var(--mdc-outlined-button-outline-width)}.mat-mdc-outlined-button .mdc-button__touch{left:calc(-1 * var(--mdc-outlined-button-outline-width));width:calc(100% + 2 * var(--mdc-outlined-button-outline-width))}.mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -4px)}[dir=rtl] .mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -4px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-offset, -4px);margin-left:var(--mat-outlined-button-icon-spacing, 8px)}[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-outlined-button-icon-spacing, 8px);margin-left:var(--mat-outlined-button-icon-offset, -4px)}.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-outlined-button-ripple-color)}.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-state-layer-color)}.mat-mdc-outlined-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-outlined-button-disabled-state-layer-color)}.mat-mdc-outlined-button:hover .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-hover-state-layer-opacity)}.mat-mdc-outlined-button.cdk-program-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive:focus .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-focus-state-layer-opacity)}.mat-mdc-outlined-button:active .mat-mdc-button-persistent-ripple::before{opacity:var(--mat-outlined-button-pressed-state-layer-opacity)}.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%);display:var(--mat-outlined-button-touch-target-display)}.mat-mdc-outlined-button[disabled],.mat-mdc-outlined-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mdc-outlined-button-disabled-label-text-color);border-color:var(--mdc-outlined-button-disabled-outline-color)}.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-button-base{text-decoration:none}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-button .mdc-button__label,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-outlined-button .mdc-button__label{z-index:1}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px)*-1)}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0})}}return t})(),j$=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nr,jg,nr]})}}return t})(),Kg=(()=>{class t{constructor(e){this.data=e}static{this.\u0275fac=function(i){return new(i||t)(N(Ry))}}static{this.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],decls:6,vars:2,consts:[["mat-dialog-title",""],["mat-dialog-content","",3,"innerHTML"],["mat-dialog-actions","","align","end"],["mat-button","","mat-dialog-close",""]],template:function(i,r){1&i&&(T(0,"h1",0),ge(1),L(),fe(2,"div",1),T(3,"div",2)(4,"button",3),ge(5,"OK"),L()()),2&i&&(D(),gr(r.data.title),D(),le("innerHTML",r.data.message,sI))},dependencies:[Zs,_l,GL,pf,mf],encapsulation:2})}}return t})();function U0e(t){return{title:"Something is wrong with the loaded file(s)",message:[...H0e(t),...V0e(t)].join("")}}function H0e(t){const n=t.filter(e=>e.errors.length>0);return n.length>0?["

Errors

",...n.map(e=>function Q0e(t){return`

${t.fileName}: ${WL(' ',t.errors)}

`}(e))]:[]}function V0e(t){const n=t.filter(e=>e.warnings.length>0);return n.length>0?["

Warnings

",...n.map(e=>function z0e(t){return`

${t.fileName}: ${WL(' ',t.warnings)}

`}(e))]:[]}function WL(t,n){return`

${n.map(e=>t+e).join("
")}

`}var G0e=A(7172),K$=A.n(G0e);const Ly=JSON.parse('{"rE":"1.125.0","f4":{"X":"1.3"}}'),W0e=JSON.parse('{"$ref":"#/definitions/ExportCCFile","$schema":"http://json-schema.org/draft-07/schema#","definitions":{"AttributeTypes":{"properties":{"edges":{"additionalProperties":{"enum":["absolute","relative"],"type":"string"},"type":"object"},"nodes":{"additionalProperties":{"enum":["absolute","relative"],"type":"string"},"type":"object"}},"type":"object"},"CodeMapNode":{"properties":{"attributes":{"$ref":"#/definitions/KeyValuePair"},"children":{"items":{"$ref":"#/definitions/CodeMapNode"},"type":"array"},"deltas":{"additionalProperties":{"type":"number"},"type":"object"},"edgeAttributes":{"additionalProperties":{"$ref":"#/definitions/EdgeMetricCount"},"type":"object"},"fixedPosition":{"$ref":"#/definitions/FixedPosition"},"id":{"type":"number"},"isExcluded":{"type":"boolean"},"isFlattened":{"type":"boolean"},"link":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"type":{"$ref":"#/definitions/NodeType"}},"required":["name","type"],"type":"object"},"Edge":{"properties":{"attributes":{"$ref":"#/definitions/KeyValuePair"},"fromNodeName":{"type":"string"},"toNodeName":{"type":"string"},"visible":{"$ref":"#/definitions/EdgeVisibility"}},"required":["attributes","fromNodeName","toNodeName"],"type":"object"},"EdgeMetricCount":{"properties":{"incoming":{"type":"number"},"outgoing":{"type":"number"}},"required":["incoming","outgoing"],"type":"object"},"EdgeVisibility":{"enum":["both","from","none","to"],"type":"string"},"ExportBlacklistItem":{"properties":{"path":{"type":"string"},"type":{"$ref":"#/definitions/ExportBlacklistType"}},"required":["path","type"],"type":"object"},"ExportBlacklistType":{"enum":["exclude","hide"],"type":"string"},"ExportCCFile":{"properties":{"apiVersion":{"type":"string"},"attributeTypes":{"anyOf":[{"$ref":"#/definitions/OldAttributeTypes"},{"$ref":"#/definitions/AttributeTypes"}]},"blacklist":{"items":{"$ref":"#/definitions/ExportBlacklistItem"},"type":"array"},"edges":{"items":{"$ref":"#/definitions/Edge"},"type":"array"},"markedPackages":{"items":{"$ref":"#/definitions/MarkedPackage"},"type":"array"},"nodes":{"items":{"$ref":"#/definitions/CodeMapNode"},"type":"array"},"projectName":{"type":"string"}},"required":["apiVersion","nodes","projectName"],"type":"object"},"FixedPosition":{"properties":{"height":{"type":"number"},"left":{"type":"number"},"top":{"type":"number"},"width":{"type":"number"}},"required":["height","left","top","width"],"type":"object"},"KeyValuePair":{"additionalProperties":{"type":"number"},"type":"object"},"MarkedPackage":{"properties":{"color":{"type":"string"},"path":{"type":"string"}},"required":["color","path"],"type":"object"},"NodeType":{"enum":["File","Folder"],"type":"string"},"OldAttributeTypes":{"properties":{"edges":{"additionalItems":{"anyOf":[{"additionalProperties":{"enum":["absolute","relative"],"type":"string"},"type":"object"}]},"items":[{"additionalProperties":{"enum":["absolute","relative"],"type":"string"},"type":"object"}],"minItems":0,"type":"array"},"nodes":{"additionalItems":{"anyOf":[{"additionalProperties":{"enum":["absolute","relative"],"type":"string"},"type":"object"}]},"items":[{"additionalProperties":{"enum":["absolute","relative"],"type":"string"},"type":"object"}],"minItems":0,"type":"array"}},"type":"object"}}}'),X$=Ly.f4.X,pd={fileIsInvalid:"File is empty or invalid.",apiVersionIsInvalid:"API Version is empty or invalid.",majorApiVersionIsOutdated:"API Version Outdated: Update CodeCharta API Version to match cc.json.",minorApiVersionOutdated:"Minor API Version Outdated.",nodesNotUnique:"Node names in combination with node types are not unique.",nodesEmpty:"The nodes array is empty. At least one node is required.",notAllFoldersAreFixed:"If at least one direct sub-folder of root is marked as fixed, all direct sub-folders of root must be fixed.",fixedFoldersOutOfBounds:"Coordinates of fixed folders must be within a range of 0 and 100.",fixedFoldersOverlapped:"Folders may not overlap.",fixedFoldersNotAllowed:"Fixated folders may not be defined in API-Version < 1.2.",fileAlreadyExists:"File already exists.",blacklistError:"Excluding all buildings is not possible."};function $0e(t){const n=[];return t&&function q0e(t){return Py(t.apiVersion).minor>Py(X$).minor}(t)&&n.push(`${pd.minorApiVersionOutdated} Found: ${t.apiVersion}`),n}function j0e(t){const n=[];switch(!0){case!t:n.push(pd.fileIsInvalid);break;case!function X0e(t){const{apiVersion:n}=t,e=void 0!==n,r=/\d+\.\d+/.test(n);return e&&r}(t):n.push(pd.apiVersionIsInvalid);break;case function Y0e(t){return Py(t.apiVersion).major>Py(X$).major}(t):n.push(pd.majorApiVersionIsOutdated)}return 0===n.length&&n.push(...function K0e(t){const n=[];if(0===n.length){const i=new(K$())({allErrors:!0}).compile(W0e);i(t)?0===t.nodes.length?n.push(pd.nodesEmpty):n.push(...function J0e(t){const n=[],e=new Set;return e.add(`${t.name}|${t.type}`),Y$(t,n,e,`/${t.name}`),n}(t.nodes[0]),...q$(t)):n.push(...i.errors.map(o=>function Z0e(t){return`${t.keyword.charAt(0).toUpperCase()+t.keyword.slice(1)} error: ${t.dataPath.slice(1)} ${t.message}`}(o)))}return n}(t)),n}function Py(t){return{major:Number(t.split(".")[0]),minor:Number(t.split(".")[1])}}function Y$(t,n,e,i){if(!Ao(t))for(const r of t.children){const o=`${i}/${r.name}`;e.has(`${o}|${r.type}`)?n.push(`${pd.nodesNotUnique} Found duplicate of ${r.type} with path: ${o}`):(e.add(`${o}|${r.type}`),Y$(r,n,e,o))}}function q$(t,n=t.nodes[0].children){const e=[],i=[],r=[],o=new Set;(function eye(t,n,e,i,r,o){for(const s of t)if(void 0===s.fixedPosition)n.push(`${s.name}`);else{const a=Py(e.apiVersion);if(a.major<1||1===a.major&&a.minor<2)return void i.push(`${pd.fixedFoldersNotAllowed} Found: ${e.apiVersion}`);nye(s)&&r.push(Oy(s));for(const c of t)void 0!==c.fixedPosition&&s!==c&&tye(s.fixedPosition,c.fixedPosition)&&!o.has(`${Oy(c)} and ${Oy(s)}`)&&o.add(`${Oy(s)} and ${Oy(c)}`)}})(n,i,t,e,r,o),i.length>0&&i.length!==n.length&&e.push(`${pd.notAllFoldersAreFixed} Found: ${i.join(", ")}`),r.length>0&&e.push(`${pd.fixedFoldersOutOfBounds} Found: ${r.join(", ")}`),o.size>0&&e.push(`${pd.fixedFoldersOverlapped} Found: ${[...o].join(", ")}`);for(const s of n)s.children&&e.push(...q$(t,s.children));return e}function Oy(t){return`${t.name} ${JSON.stringify(t.fixedPosition)}`}function tye(t,n){return sS(t.left,t.top,n)||sS(t.left,t.top+t.height,n)||sS(t.left+t.width,t.top,n)||sS(t.left+t.width,t.top+t.height,n)}function sS(t,n,e){return t>=e.left&&t<=e.left+e.width&&n>=e.top&&n<=e.top+e.height}function nye({fixedPosition:{left:t,top:n,width:e,height:i}}){return t<0||n<0||t+e>100||n+i>100||e<0||i<0}var Ad=function(t){return t.SquarifiedTreeMap="Squarified TreeMap",t.StreetMap="StreetMap",t.TreeMapStreet="TreeMapStreet",t}(Ad||{}),rp=function(t){return t.Standard="High",t.PixelRatioNoAA="Low",t.PixelRatioFXAA="Medium",t.PixelRatioAA="Best",t}(rp||{}),$a=function(t){return t.FILE="File",t.FOLDER="Folder",t}($a||{}),aS=function(t){return t.NAME="Name",t.NUMBER_OF_FILES="Number of Files",t}(aS||{}),Af=function(t){return t.absolute="absolute",t.relative="relative",t}(Af||{}),Ny=function(t){return t.trueGradient="trueGradient",t.weightedGradient="weightedGradient",t.focusedGradient="focusedGradient",t.absolute="absolute",t}(Ny||{}),gd=function(t){return t.none="none",t.from="from",t.to="to",t.both="both",t}(gd||{});function cS(t,n){return n instanceof Map?{dataType:"Map",value:[...n.entries()]}:n instanceof Set?{dataType:"Set",value:[...n]}:n}function Z$(t,n){return"Map"===n?.dataType?new Map(n.value):"Set"===n?.dataType?new Set(n.value):n}const $L={decorateMap(t,n,e){for(const{data:i}of Jr(t)){i.isFlattened=!1,i.isExcluded=!1;for(const r of e)"flatten"===r.type?i.isFlattened=i.isFlattened||BW(i,r.path):i.isExcluded=i.isExcluded||BW(i,r.path)&&Ao(i)}t.isExcluded=!1,this.decorateMapWithMetricData(t,n)},decorateMapWithMetricData(t,n){const{nodeMetricData:e,edgeMetricData:i}=n;let r=0;for(const{data:o}of Jr(t)){o.id=r,r++,void 0===o.attributes&&(o.attributes={}),Ao(o)&&(o.attributes[LM]=1);for(const s of e)void 0===o.attributes[s.name]&&(o.attributes[s.name]=0),void 0!==o.deltas&&void 0===o.deltas[s.name]&&(o.deltas[s.name]=0);void 0===o.edgeAttributes&&(o.edgeAttributes={});for(const s of i)void 0===o.edgeAttributes[s.name]&&(o.edgeAttributes[s.name]={incoming:0,outgoing:0});iye(o)}},decorateMapWithPathAttribute(t){for(const n of Jr(t.map))n.data.path=n.parent?`${n.parent.data.path}/${n.data.name}`:`/${n.data.name}`;return t},decorateParentNodesWithAggregatedAttributes(t,n,e){const i=new Map,r=Object.keys(t.attributes),o=Object.keys(t.edgeAttributes);Jr(t).eachAfter(function({data:a,parent:c}){if(!a.isExcluded&&c){for(const l of r){const u=`${l}${c.data.path}`;e.nodes[l]===Af.relative?(oye(i,`${l}${a.path}`,u,a,l,n),rye(i,u,a,l,n)):(c.data.attributes[l]+=a.attributes[l],n&&c.data.deltas&&(c.data.deltas[l]=c.data.deltas[l]??0,c.data.deltas[l]+=a.deltas[l]??0))}n&&c.data.fileCount&&(c.data.fileCount.added+=a.fileCount.added,c.data.fileCount.changed+=a.fileCount.changed,c.data.fileCount.removed+=a.fileCount.removed);for(const l of o){const d=a.edgeAttributes[l];if(!d)continue;const u=`${l}${a.path}`,h=`${l}${c.data.path}`;e.edges[l]===Af.relative?(ej(i,`INCOMING${u}`,`INCOMING${h}`,a,l,"incoming"),ej(i,`OUTGOING${u}`,`OUTGOING${h}`,a,l,"outgoing"),J$(i,`INCOMING${h}`,a,l,"incoming"),J$(i,`OUTGOING${h}`,a,l,"outgoing")):(c.data.edgeAttributes[l].incoming+=d.incoming,c.data.edgeAttributes[l].outgoing+=d.outgoing)}}});for(const s of o)e.edges[s]===Af.relative&&(t.edgeAttributes[s].incoming=op(i.get(`INCOMING${s}${t.path}`)),t.edgeAttributes[s].outgoing=op(i.get(`OUTGOING${s}${t.path}`)));for(const s of r)e.nodes[s]===Af.relative&&(t.attributes[s]=op(i.get(`MEDIAN${s}${t.path}`)),n&&t.deltas&&(t.deltas[s]=op(i.get(`DELTA${s}${t.path}`))))}};function iye(t){if((1!==t.children?.length||!t.children[0]?.fixedPosition)&&1===t.children?.length&&t.children[0].children?.length>0){const[n]=t.children;t.children=n.children,t.name+=`/${n.name}`,t.path+=`/${n.name}`,n.link&&(t.link=n.link)}}function J$(t,n,e,i,r){0!==e.edgeAttributes[i][r]&&KL(t,n,e,e.edgeAttributes[i][r])}function rye(t,n,e,i,r){0!==e.attributes[i]&&KL(t,`MEDIAN${n}`,e,e.attributes[i]),r&&e.deltas&&0!==e.deltas[i]&&KL(t,`DELTA${n}`,e,e.deltas[i])}function oye(t,n,e,i,r,o){if(Ao(i))return;const s=t.get(`MEDIAN${n}`);if(void 0!==s&&(i.attributes[r]=op(s),jL(t,`MEDIAN${e}`,s)),o&&i.deltas){const a=t.get(`DELTA${n}`);void 0!==a&&(i.deltas[r]=op(a),jL(t,`DELTA${e}`,a))}}function ej(t,n,e,i,r,o){if(Ao(i))return;const s=t.get(n);void 0!==s&&(i.edgeAttributes[r][o]=op(s),jL(t,e,s))}function jL(t,n,e){const i=t.get(n);void 0===i?t.set(n,e):function aye(t,n){let e=0;for(let i=0;in[e]&&(r++,e++,e!==n.length););if(r>0&&(t.splice(i,0,...n.slice(e-r,e)),e===n.length))return}t.push(...n.slice(e))}(i,e)}function KL(t,n,e,i){const r=t.get(n);void 0===r?t.set(n,[i]):Ao(e)&&function sye(t,n){let e=0,i=t.length-1,r=0;if(i<0||t[i]<=n)t.push(n);else if(t[0]>=n)t.unshift(n);else for(;e<=i;)if(r=Math.floor((e+i)/2),t[r]{switch(n.type){case"flatten":return{path:n.path,type:"hide"};case"exclude":return{path:n.path,type:n.type}}})}}function dye(t,n,e){const i=function Xbe(t){const n=t.content;return{fileMeta:{fileName:t.fileName,fileChecksum:n.fileChecksum,projectName:n.projectName,apiVersion:n.apiVersion,exportedFileSize:t.fileSize,repoCreationDate:n.repoCreationDate||""},settings:{fileSettings:{edges:n.edges||[],attributeTypes:Ybe(n.attributeTypes),attributeDescriptors:qbe(n.attributeDescriptors),blacklist:Zbe(n.blacklist||[]),markedPackages:n.markedPackages||[]}},map:hd(n.nodes[0])}}(e);$L.decorateMapWithPathAttribute(i);const r=i.fileMeta.fileChecksum;let o=i.fileMeta.fileName;const s=new Map(t.map(l=>[l.file.fileMeta.fileName,l.file.fileMeta.fileChecksum])),a=new Map(t.map((l,d)=>[l.file.fileMeta.fileChecksum,d])),c=a.has(r);if(s.has(o)&&(o=function uye(t,n,e){if(n.get(t)===e)return t;let i=!1,r=1,o=t;for(;!i;){const s=t.indexOf(".");o=s>=0?[t.slice(0,s),"_",r,t.slice(s)].join(""):`${t}_${r}`,(n.get(o)===e||!n.has(o))&&(i=!0),r++}return o}(o,s,r),i.fileMeta.fileName=o),c)return t[a.get(r)].file.fileMeta.fileName=o,n[0]=o,void n.push(o);t.push({file:i,selectedAs:Ri.None}),n.push(o)}const nj=Bt(xu,t=>t.find(n=>n.selectedAs===Ri.Reference)?.file),bd={rootName:"root",rootPath:"/root",updateRoot(t){this.rootName=t,this.rootPath=`/${t}`}},XL="File(s) could not be loaded";let Xg=(()=>{class t{static{this.CC_FILE_EXTENSION=".cc.json"}constructor(e,i,r){this.store=e,this.state=i,this.dialog=r,this.referenceFileSubscription=this.store.select(nj).pipe(co(o=>{o&&bd.updateRoot(o.map.name)})).subscribe()}ngOnDestroy(){this.referenceFileSubscription.unsubscribe()}loadFiles(e){const i=hd(this.state.getValue().files),r=[],o=[];if(function lye(t,n,e,i){for(const r of e){const o={fileName:r?.fileName,errors:[],warnings:[]};o.errors.push(...j0e(r?.content)),0===o.errors.length&&(o.warnings.push(...$0e(r?.content)),dye(t,n,r)),(o.errors.length>0||o.warnings.length>0)&&i.push(o)}}(i,r,e,o),o.length>0&&this.dialog.open(Kg,{data:U0e(o)}),0===r.length)throw new Error(XL);this.store.dispatch(by({value:i}));const s=r[0],a=this.state.getValue().files.find(c=>c.file.fileMeta.fileName===s).file.map.name;this.store.dispatch(iL({fileNames:r})),bd.updateRoot(a)}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(Dr),ee(ga))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();const YL=yi(t=>function(){t(this),this.name="EmptyError",this.message="no elements in sequence"});function ij(t,n){const e="object"==typeof n;return new Promise((i,r)=>{const o=new Ja({next:s=>{i(s),o.unsubscribe()},error:r,complete:()=>{e?i(n.defaultValue):r(new YL)}});t.subscribe(o)})}function Yg(t){let n=t.length;for(;--n>=0;)t[n]=0}const tP=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),lS=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),_ye=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),uj=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Du=new Array(576);Yg(Du);const Vy=new Array(60);Yg(Vy);const Qy=new Array(512);Yg(Qy);const zy=new Array(256);Yg(zy);const nP=new Array(29);Yg(nP);const dS=new Array(30);function iP(t,n,e,i,r){this.static_tree=t,this.extra_bits=n,this.extra_base=e,this.elems=i,this.max_length=r,this.has_stree=t&&t.length}let hj,fj,mj;function rP(t,n){this.dyn_tree=t,this.max_code=0,this.stat_desc=n}Yg(dS);const pj=t=>t<256?Qy[t]:Qy[256+(t>>>7)],Gy=(t,n)=>{t.pending_buf[t.pending++]=255&n,t.pending_buf[t.pending++]=n>>>8&255},ja=(t,n,e)=>{t.bi_valid>16-e?(t.bi_buf|=n<>16-t.bi_valid,t.bi_valid+=e-16):(t.bi_buf|=n<{ja(t,e[2*n],e[2*n+1])},Aj=(t,n)=>{let e=0;do{e|=1&t,t>>>=1,e<<=1}while(--n>0);return e>>>1},gj=(t,n,e)=>{const i=new Array(16);let o,s,r=0;for(o=1;o<=15;o++)r=r+e[o-1]<<1,i[o]=r;for(s=0;s<=n;s++){let a=t[2*s+1];0!==a&&(t[2*s]=Aj(i[a]++,a))}},bj=t=>{let n;for(n=0;n<286;n++)t.dyn_ltree[2*n]=0;for(n=0;n<30;n++)t.dyn_dtree[2*n]=0;for(n=0;n<19;n++)t.bl_tree[2*n]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},_j=t=>{t.bi_valid>8?Gy(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},vj=(t,n,e,i)=>{const r=2*n,o=2*e;return t[r]{const i=t.heap[e];let r=e<<1;for(;r<=t.heap_len&&(r{let i,r,s,a,o=0;if(0!==t.sym_next)do{i=255&t.pending_buf[t.sym_buf+o++],i+=(255&t.pending_buf[t.sym_buf+o++])<<8,r=t.pending_buf[t.sym_buf+o++],0===i?_d(t,r,n):(s=zy[r],_d(t,s+256+1,n),a=tP[s],0!==a&&(r-=nP[s],ja(t,r,a)),i--,s=pj(i),_d(t,s,e),a=lS[s],0!==a&&(i-=dS[s],ja(t,i,a)))}while(o{const e=n.dyn_tree,i=n.stat_desc.static_tree,r=n.stat_desc.has_stree,o=n.stat_desc.elems;let s,a,l,c=-1;for(t.heap_len=0,t.heap_max=573,s=0;s>1;s>=1;s--)oP(t,e,s);l=o;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],oP(t,e,1),a=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=a,e[2*l]=e[2*s]+e[2*a],t.depth[l]=(t.depth[s]>=t.depth[a]?t.depth[s]:t.depth[a])+1,e[2*s+1]=e[2*a+1]=l,t.heap[1]=l++,oP(t,e,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,n)=>{const e=n.dyn_tree,i=n.max_code,r=n.stat_desc.static_tree,o=n.stat_desc.has_stree,s=n.stat_desc.extra_bits,a=n.stat_desc.extra_base,c=n.stat_desc.max_length;let l,d,u,h,f,b,y=0;for(h=0;h<=15;h++)t.bl_count[h]=0;for(e[2*t.heap[t.heap_max]+1]=0,l=t.heap_max+1;l<573;l++)d=t.heap[l],h=e[2*e[2*d+1]+1]+1,h>c&&(h=c,y++),e[2*d+1]=h,!(d>i)&&(t.bl_count[h]++,f=0,d>=a&&(f=s[d-a]),b=e[2*d],t.opt_len+=b*(h+f),o&&(t.static_len+=b*(r[2*d+1]+f)));if(0!==y){do{for(h=c-1;0===t.bl_count[h];)h--;t.bl_count[h]--,t.bl_count[h+1]+=2,t.bl_count[c]--,y-=2}while(y>0);for(h=c;0!==h;h--)for(d=t.bl_count[h];0!==d;)u=t.heap[--l],!(u>i)&&(e[2*u+1]!==h&&(t.opt_len+=(h-e[2*u+1])*e[2*u],e[2*u+1]=h),d--)}})(t,n),gj(e,c,t.bl_count)},wj=(t,n,e)=>{let i,o,r=-1,s=n[1],a=0,c=7,l=4;for(0===s&&(c=138,l=3),n[2*(e+1)+1]=65535,i=0;i<=e;i++)o=s,s=n[2*(i+1)+1],!(++a{let i,o,r=-1,s=n[1],a=0,c=7,l=4;for(0===s&&(c=138,l=3),i=0;i<=e;i++)if(o=s,s=n[2*(i+1)+1],!(++a{ja(t,0+(i?1:0),3),_j(t),Gy(t,e),Gy(t,~e),e&&t.pending_buf.set(t.window.subarray(n,n+e),t.pending),t.pending+=e};var Pye={_tr_init:t=>{Cj||((()=>{let t,n,e,i,r;const o=new Array(16);for(e=0,i=0;i<28;i++)for(nP[i]=e,t=0;t<1<>=7;i<30;i++)for(dS[i]=r<<7,t=0;t<1<{let r,o,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,n=4093624447;for(e=0;e<=31;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),sP(t,t.l_desc),sP(t,t.d_desc),s=(t=>{let n;for(wj(t,t.dyn_ltree,t.l_desc.max_code),wj(t,t.dyn_dtree,t.d_desc.max_code),sP(t,t.bl_desc),n=18;n>=3&&0===t.bl_tree[2*uj[n]+1];n--);return t.opt_len+=3*(n+1)+5+5+4,n})(t),r=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=r&&(r=o)):r=o=e+5,e+4<=r&&-1!==n?Ej(t,n,e,i):4===t.strategy||o===r?(ja(t,2+(i?1:0),3),yj(t,Du,Vy)):(ja(t,4+(i?1:0),3),((t,n,e,i)=>{let r;for(ja(t,n-257,5),ja(t,e-1,5),ja(t,i-4,4),r=0;r(t.pending_buf[t.sym_buf+t.sym_next++]=n,t.pending_buf[t.sym_buf+t.sym_next++]=n>>8,t.pending_buf[t.sym_buf+t.sym_next++]=e,0===n?t.dyn_ltree[2*e]++:(t.matches++,n--,t.dyn_ltree[2*(zy[e]+256+1)]++,t.dyn_dtree[2*pj(n)]++),t.sym_next===t.sym_end),_tr_align:t=>{ja(t,2,3),_d(t,256,Du),(t=>{16===t.bi_valid?(Gy(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}},Wy=(t,n,e,i)=>{let r=65535&t,o=t>>>16&65535,s=0;for(;0!==e;){s=e>2e3?2e3:e,e-=s;do{r=r+n[i++]|0,o=o+r|0}while(--s);r%=65521,o%=65521}return r|o<<16};const Nye=new Uint32Array((()=>{let t,n=[];for(var e=0;e<256;e++){t=e;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;n[e]=t}return n})());var Es=(t,n,e,i)=>{const r=Nye,o=i+e;t^=-1;for(let s=i;s>>8^r[255&(t^n[s])];return~t},ap={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},cp={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Uye,_tr_stored_block:aP,_tr_flush_block:Hye,_tr_tally:gf,_tr_align:Vye}=Pye,{Z_NO_FLUSH:bf,Z_PARTIAL_FLUSH:Qye,Z_FULL_FLUSH:zye,Z_FINISH:Wc,Z_BLOCK:Mj,Z_OK:Us,Z_STREAM_END:Sj,Z_STREAM_ERROR:vd,Z_DATA_ERROR:Gye,Z_BUF_ERROR:cP,Z_DEFAULT_COMPRESSION:Wye,Z_FILTERED:$ye,Z_HUFFMAN_ONLY:uS,Z_RLE:jye,Z_FIXED:Kye,Z_DEFAULT_STRATEGY:Xye,Z_UNKNOWN:Yye,Z_DEFLATED:hS}=cp,yd=262,up=(t,n)=>(t.msg=ap[n],n),kj=t=>2*t-(t>4?9:0),vf=t=>{let n=t.length;for(;--n>=0;)t[n]=0},swe=t=>{let n,e,i,r=t.w_size;n=t.hash_size,i=n;do{e=t.head[--i],t.head[i]=e>=r?e-r:0}while(--n);n=r,i=n;do{e=t.prev[--i],t.prev[i]=e>=r?e-r:0}while(--n)};let yf=(t,n,e)=>(n<{const n=t.state;let e=n.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.output.set(n.pending_buf.subarray(n.pending_out,n.pending_out+e),t.next_out),t.next_out+=e,n.pending_out+=e,t.total_out+=e,t.avail_out-=e,n.pending-=e,0===n.pending&&(n.pending_out=0))},bc=(t,n)=>{Hye(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,n),t.block_start=t.strstart,gc(t.strm)},fr=(t,n)=>{t.pending_buf[t.pending++]=n},jy=(t,n)=>{t.pending_buf[t.pending++]=n>>>8&255,t.pending_buf[t.pending++]=255&n},pP=(t,n,e,i)=>{let r=t.avail_in;return r>i&&(r=i),0===r?0:(t.avail_in-=r,n.set(t.input.subarray(t.next_in,t.next_in+r),e),1===t.state.wrap?t.adler=Wy(t.adler,n,r,e):2===t.state.wrap&&(t.adler=Es(t.adler,n,r,e)),t.next_in+=r,t.total_in+=r,r)},Tj=(t,n)=>{let r,o,e=t.max_chain_length,i=t.strstart,s=t.prev_length,a=t.nice_match;const c=t.strstart>t.w_size-yd?t.strstart-(t.w_size-yd):0,l=t.window,d=t.w_mask,u=t.prev,h=t.strstart+258;let f=l[i+s-1],b=l[i+s];t.prev_length>=t.good_match&&(e>>=2),a>t.lookahead&&(a=t.lookahead);do{if(r=n,l[r+s]===b&&l[r+s-1]===f&&l[r]===l[i]&&l[++r]===l[i+1]){i+=2,r++;do{}while(l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&l[++i]===l[++r]&&is){if(t.match_start=n,s=o,o>=a)break;f=l[i+s-1],b=l[i+s]}}}while((n=u[n&d])>c&&0!=--e);return s<=t.lookahead?s:t.lookahead},tb=t=>{const n=t.w_size;let e,i,r;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=n+(n-yd)&&(t.window.set(t.window.subarray(n,n+n-i),0),t.match_start-=n,t.strstart-=n,t.block_start-=n,t.insert>t.strstart&&(t.insert=t.strstart),swe(t),i+=n),0===t.strm.avail_in)break;if(e=pP(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=e,t.lookahead+t.insert>=3)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=yf(t,t.ins_h,t.window[r+1]);t.insert&&(t.ins_h=yf(t,t.ins_h,t.window[r+3-1]),t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let i,r,o,e=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,s=0,a=t.strm.avail_in;do{if(i=65535,o=t.bi_valid+42>>3,t.strm.avail_outr+t.strm.avail_in&&(i=r+t.strm.avail_in),i>o&&(i=o),i>8,t.pending_buf[t.pending-2]=~i,t.pending_buf[t.pending-1]=~i>>8,gc(t.strm),r&&(r>i&&(r=i),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+r),t.strm.next_out),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r,t.block_start+=r,i-=r),i&&(pP(t.strm,t.strm.output,t.strm.next_out,i),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i)}while(0===s);return a-=t.strm.avail_in,a&&(a>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=a&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-a,t.strm.next_in),t.strstart),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.block_start=t.strstart),t.high_watero&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,o+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),o>t.strm.avail_in&&(o=t.strm.avail_in),o&&(pP(t.strm,t.window,t.strstart,o),t.strstart+=o,t.insert+=o>t.w_size-t.insert?t.w_size-t.insert:o),t.high_water>3,o=t.pending_buf_size-o>65535?65535:t.pending_buf_size-o,e=o>t.w_size?t.w_size:o,r=t.strstart-t.block_start,(r>=e||(r||n===Wc)&&n!==bf&&0===t.strm.avail_in&&r<=o)&&(i=r>o?o:r,s=n===Wc&&0===t.strm.avail_in&&i===r?1:0,aP(t,t.block_start,i,s),t.block_start+=i,gc(t.strm)),s?3:1)},AP=(t,n)=>{let e,i;for(;;){if(t.lookahead=3&&(t.ins_h=yf(t,t.ins_h,t.window[t.strstart+3-1]),e=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==e&&t.strstart-e<=t.w_size-yd&&(t.match_length=Tj(t,e)),t.match_length>=3)if(i=gf(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=yf(t,t.ins_h,t.window[t.strstart+3-1]),e=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=yf(t,t.ins_h,t.window[t.strstart+1]);else i=gf(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(bc(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,n===Wc?(bc(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(bc(t,!1),0===t.strm.avail_out)?1:2},nb=(t,n)=>{let e,i,r;for(;;){if(t.lookahead=3&&(t.ins_h=yf(t,t.ins_h,t.window[t.strstart+3-1]),e=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==e&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){r=t.strstart+t.lookahead-3,i=gf(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=r&&(t.ins_h=yf(t,t.ins_h,t.window[t.strstart+3-1]),e=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(bc(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=gf(t,0,t.window[t.strstart-1]),i&&bc(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=gf(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,n===Wc?(bc(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(bc(t,!1),0===t.strm.avail_out)?1:2};function wd(t,n,e,i,r){this.good_length=t,this.max_lazy=n,this.nice_length=e,this.max_chain=i,this.func=r}const Ky=[new wd(0,0,0,0,Fj),new wd(4,4,8,4,AP),new wd(4,5,16,8,AP),new wd(4,6,32,32,AP),new wd(4,4,16,16,nb),new wd(8,16,32,32,nb),new wd(8,16,128,128,nb),new wd(8,32,128,256,nb),new wd(32,128,258,1024,nb),new wd(32,258,258,4096,nb)];function dwe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=hS,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),vf(this.dyn_ltree),vf(this.dyn_dtree),vf(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),vf(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),vf(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Xy=t=>{if(!t)return 1;const n=t.state;return!n||n.strm!==t||42!==n.status&&57!==n.status&&69!==n.status&&73!==n.status&&91!==n.status&&103!==n.status&&113!==n.status&&666!==n.status?1:0},Bj=t=>{if(Xy(t))return up(t,vd);t.total_in=t.total_out=0,t.data_type=Yye;const n=t.state;return n.pending=0,n.pending_out=0,n.wrap<0&&(n.wrap=-n.wrap),n.status=2===n.wrap?57:n.wrap?42:113,t.adler=2===n.wrap?0:1,n.last_flush=-2,Uye(n),Us},Ij=t=>{const n=Bj(t);return n===Us&&(t=>{t.window_size=2*t.w_size,vf(t.head),t.max_lazy_match=Ky[t.level].max_lazy,t.good_match=Ky[t.level].good_length,t.nice_match=Ky[t.level].nice_length,t.max_chain_length=Ky[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0})(t.state),n},Dj=(t,n,e,i,r,o)=>{if(!t)return vd;let s=1;if(n===Wye&&(n=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),r<1||r>9||e!==hS||i<8||i>15||n<0||n>9||o<0||o>Kye||8===i&&1!==s)return up(t,vd);8===i&&(i=9);const a=new dwe;return t.state=a,a.strm=t,a.status=42,a.wrap=s,a.gzhead=null,a.w_bits=i,a.w_size=1<Dj(t,n,hS,15,8,Xye),deflateInit2:Dj,deflateReset:Ij,deflateResetKeep:Bj,deflateSetHeader:(t,n)=>Xy(t)||2!==t.state.wrap?vd:(t.state.gzhead=n,Us),deflate:(t,n)=>{if(Xy(t)||n>Mj||n<0)return t?up(t,vd):vd;const e=t.state;if(!t.output||0!==t.avail_in&&!t.input||666===e.status&&n!==Wc)return up(t,0===t.avail_out?cP:vd);const i=e.last_flush;if(e.last_flush=n,0!==e.pending){if(gc(t),0===t.avail_out)return e.last_flush=-1,Us}else if(0===t.avail_in&&kj(n)<=kj(i)&&n!==Wc)return up(t,cP);if(666===e.status&&0!==t.avail_in)return up(t,cP);if(42===e.status&&0===e.wrap&&(e.status=113),42===e.status){let r=hS+(e.w_bits-8<<4)<<8,o=-1;if(o=e.strategy>=uS||e.level<2?0:e.level<6?1:6===e.level?2:3,r|=o<<6,0!==e.strstart&&(r|=32),r+=31-r%31,jy(e,r),0!==e.strstart&&(jy(e,t.adler>>>16),jy(e,65535&t.adler)),t.adler=1,e.status=113,gc(t),0!==e.pending)return e.last_flush=-1,Us}if(57===e.status)if(t.adler=0,fr(e,31),fr(e,139),fr(e,8),e.gzhead)fr(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),fr(e,255&e.gzhead.time),fr(e,e.gzhead.time>>8&255),fr(e,e.gzhead.time>>16&255),fr(e,e.gzhead.time>>24&255),fr(e,9===e.level?2:e.strategy>=uS||e.level<2?4:0),fr(e,255&e.gzhead.os),e.gzhead.extra&&e.gzhead.extra.length&&(fr(e,255&e.gzhead.extra.length),fr(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(t.adler=Es(t.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=69;else if(fr(e,0),fr(e,0),fr(e,0),fr(e,0),fr(e,0),fr(e,9===e.level?2:e.strategy>=uS||e.level<2?4:0),fr(e,3),e.status=113,gc(t),0!==e.pending)return e.last_flush=-1,Us;if(69===e.status){if(e.gzhead.extra){let r=e.pending,o=(65535&e.gzhead.extra.length)-e.gzindex;for(;e.pending+o>e.pending_buf_size;){let a=e.pending_buf_size-e.pending;if(e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex,e.gzindex+a),e.pending),e.pending=e.pending_buf_size,e.gzhead.hcrc&&e.pending>r&&(t.adler=Es(t.adler,e.pending_buf,e.pending-r,r)),e.gzindex+=a,gc(t),0!==e.pending)return e.last_flush=-1,Us;r=0,o-=a}let s=new Uint8Array(e.gzhead.extra);e.pending_buf.set(s.subarray(e.gzindex,e.gzindex+o),e.pending),e.pending+=o,e.gzhead.hcrc&&e.pending>r&&(t.adler=Es(t.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=73}if(73===e.status){if(e.gzhead.name){let o,r=e.pending;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(t.adler=Es(t.adler,e.pending_buf,e.pending-r,r)),gc(t),0!==e.pending)return e.last_flush=-1,Us;r=0}o=e.gzindexr&&(t.adler=Es(t.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=91}if(91===e.status){if(e.gzhead.comment){let o,r=e.pending;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(t.adler=Es(t.adler,e.pending_buf,e.pending-r,r)),gc(t),0!==e.pending)return e.last_flush=-1,Us;r=0}o=e.gzindexr&&(t.adler=Es(t.adler,e.pending_buf,e.pending-r,r))}e.status=103}if(103===e.status){if(e.gzhead.hcrc){if(e.pending+2>e.pending_buf_size&&(gc(t),0!==e.pending))return e.last_flush=-1,Us;fr(e,255&t.adler),fr(e,t.adler>>8&255),t.adler=0}if(e.status=113,gc(t),0!==e.pending)return e.last_flush=-1,Us}if(0!==t.avail_in||0!==e.lookahead||n!==bf&&666!==e.status){let r=0===e.level?Fj(e,n):e.strategy===uS?((t,n)=>{let e;for(;;){if(0===t.lookahead&&(tb(t),0===t.lookahead)){if(n===bf)return 1;break}if(t.match_length=0,e=gf(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,e&&(bc(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,n===Wc?(bc(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(bc(t,!1),0===t.strm.avail_out)?1:2})(e,n):e.strategy===jye?((t,n)=>{let e,i,r,o;const s=t.window;for(;;){if(t.lookahead<=258){if(tb(t),t.lookahead<=258&&n===bf)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(r=t.strstart-1,i=s[r],i===s[++r]&&i===s[++r]&&i===s[++r])){o=t.strstart+258;do{}while(i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&rt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(e=gf(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(e=gf(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),e&&(bc(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,n===Wc?(bc(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(bc(t,!1),0===t.strm.avail_out)?1:2})(e,n):Ky[e.level].func(e,n);if((3===r||4===r)&&(e.status=666),1===r||3===r)return 0===t.avail_out&&(e.last_flush=-1),Us;if(2===r&&(n===Qye?Vye(e):n!==Mj&&(aP(e,0,0,!1),n===zye&&(vf(e.head),0===e.lookahead&&(e.strstart=0,e.block_start=0,e.insert=0))),gc(t),0===t.avail_out))return e.last_flush=-1,Us}return n!==Wc?Us:e.wrap<=0?Sj:(2===e.wrap?(fr(e,255&t.adler),fr(e,t.adler>>8&255),fr(e,t.adler>>16&255),fr(e,t.adler>>24&255),fr(e,255&t.total_in),fr(e,t.total_in>>8&255),fr(e,t.total_in>>16&255),fr(e,t.total_in>>24&255)):(jy(e,t.adler>>>16),jy(e,65535&t.adler)),gc(t),e.wrap>0&&(e.wrap=-e.wrap),0!==e.pending?Us:Sj)},deflateEnd:t=>{if(Xy(t))return vd;const n=t.state.status;return t.state=null,113===n?up(t,Gye):Us},deflateSetDictionary:(t,n)=>{let e=n.length;if(Xy(t))return vd;const i=t.state,r=i.wrap;if(2===r||1===r&&42!==i.status||i.lookahead)return vd;if(1===r&&(t.adler=Wy(t.adler,n,e,0)),i.wrap=0,e>=i.w_size){0===r&&(vf(i.head),i.strstart=0,i.block_start=0,i.insert=0);let c=new Uint8Array(i.w_size);c.set(n.subarray(e-i.w_size,e),0),n=c,e=i.w_size}const o=t.avail_in,s=t.next_in,a=t.input;for(t.avail_in=e,t.next_in=0,t.input=n,tb(i);i.lookahead>=3;){let c=i.strstart,l=i.lookahead-2;do{i.ins_h=yf(i,i.ins_h,i.window[c+3-1]),i.prev[c&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=c,c++}while(--l);i.strstart=c,i.lookahead=2,tb(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=s,t.input=a,t.avail_in=o,i.wrap=r,Us},deflateInfo:"pako deflate (from Nodeca project)"};const Ewe=(t,n)=>Object.prototype.hasOwnProperty.call(t,n);var fS={assign:function(t){const n=Array.prototype.slice.call(arguments,1);for(;n.length;){const e=n.shift();if(e){if("object"!=typeof e)throw new TypeError(e+"must be non-object");for(const i in e)Ewe(e,i)&&(t[i]=e[i])}}return t},flattenChunks:t=>{let n=0;for(let i=0,r=t.length;i=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;qy[254]=qy[254]=1;var Zy={string2buf:t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let n,e,i,r,o,s=t.length,a=0;for(r=0;r>>6,n[o++]=128|63&e):e<65536?(n[o++]=224|e>>>12,n[o++]=128|e>>>6&63,n[o++]=128|63&e):(n[o++]=240|e>>>18,n[o++]=128|e>>>12&63,n[o++]=128|e>>>6&63,n[o++]=128|63&e);return n},buf2string:(t,n)=>{const e=n||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,n));let i,r;const o=new Array(2*e);for(r=0,i=0;i4)o[r++]=65533,i+=a-1;else{for(s&=2===a?31:3===a?15:7;a>1&&i1?o[r++]=65533:s<65536?o[r++]=s:(s-=65536,o[r++]=55296|s>>10&1023,o[r++]=56320|1023&s)}}return((t,n)=>{if(n<65534&&t.subarray&&Rj)return String.fromCharCode.apply(null,t.length===n?t:t.subarray(0,n));let e="";for(let i=0;i{(n=n||t.length)>t.length&&(n=t.length);let e=n-1;for(;e>=0&&128==(192&t[e]);)e--;return e<0||0===e?n:e+qy[t[e]]>n?e:n}},Lj=function Iwe(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Pj=Object.prototype.toString,{Z_NO_FLUSH:Dwe,Z_SYNC_FLUSH:Rwe,Z_FULL_FLUSH:Lwe,Z_FINISH:Pwe,Z_OK:mS,Z_STREAM_END:Owe,Z_DEFAULT_COMPRESSION:Nwe,Z_DEFAULT_STRATEGY:Uwe,Z_DEFLATED:Hwe}=cp;function Jy(t){this.options=fS.assign({level:Nwe,method:Hwe,chunkSize:16384,windowBits:15,memLevel:8,strategy:Uwe},t||{});let n=this.options;n.raw&&n.windowBits>0?n.windowBits=-n.windowBits:n.gzip&&n.windowBits>0&&n.windowBits<16&&(n.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Lj,this.strm.avail_out=0;let e=Yy.deflateInit2(this.strm,n.level,n.method,n.windowBits,n.memLevel,n.strategy);if(e!==mS)throw new Error(ap[e]);if(n.header&&Yy.deflateSetHeader(this.strm,n.header),n.dictionary){let i;if(i="string"==typeof n.dictionary?Zy.string2buf(n.dictionary):"[object ArrayBuffer]"===Pj.call(n.dictionary)?new Uint8Array(n.dictionary):n.dictionary,e=Yy.deflateSetDictionary(this.strm,i),e!==mS)throw new Error(ap[e]);this._dict_set=!0}}function gP(t,n){const e=new Jy(n);if(e.push(t,!0),e.err)throw e.msg||ap[e.err];return e.result}Jy.prototype.push=function(t,n){const e=this.strm,i=this.options.chunkSize;let r,o;if(this.ended)return!1;for(o=n===~~n?n:!0===n?Pwe:Dwe,e.input="string"==typeof t?Zy.string2buf(t):"[object ArrayBuffer]"===Pj.call(t)?new Uint8Array(t):t,e.next_in=0,e.avail_in=e.input.length;;)if(0===e.avail_out&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),(o===Rwe||o===Lwe)&&e.avail_out<=6)this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;else{if(r=Yy.deflate(e,o),r===Owe)return e.next_out>0&&this.onData(e.output.subarray(0,e.next_out)),r=Yy.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===mS;if(0!==e.avail_out){if(o>0&&e.next_out>0)this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;else if(0===e.avail_in)break}else this.onData(e.output)}return!0},Jy.prototype.onData=function(t){this.chunks.push(t)},Jy.prototype.onEnd=function(t){t===mS&&(this.result=fS.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Kwe={Deflate:Jy,deflate:gP,deflateRaw:function Vwe(t,n){return(n=n||{}).raw=!0,gP(t,n)},gzip:function Qwe(t,n){return(n=n||{}).gzip=!0,gP(t,n)},constants:cp};const pS=16209;var Ywe=function(n,e){let i,r,o,s,a,c,l,d,u,h,f,b,y,C,x,w,S,M,P,R,W,se,ae,ce;const ue=n.state;i=n.next_in,ae=n.input,r=i+(n.avail_in-5),o=n.next_out,ce=n.output,s=o-(e-n.avail_out),a=o+(n.avail_out-257),c=ue.dmax,l=ue.wsize,d=ue.whave,u=ue.wnext,h=ue.window,f=ue.hold,b=ue.bits,y=ue.lencode,C=ue.distcode,x=(1<>>24,f>>>=M,b-=M,M=S>>>16&255,0===M)ce[o++]=65535&S;else{if(!(16&M)){if(64&M){if(32&M){ue.mode=16191;break e}n.msg="invalid literal/length code",ue.mode=pS;break e}S=y[(65535&S)+(f&(1<>>=M,b-=M),b<15&&(f+=ae[i++]<>>24,f>>>=M,b-=M,M=S>>>16&255,16&M){if(R=65535&S,M&=15,bc){n.msg="invalid distance too far back",ue.mode=pS;break e}if(f>>>=M,b-=M,M=o-s,R>M){if(M=R-M,M>d&&ue.sane){n.msg="invalid distance too far back",ue.mode=pS;break e}if(W=0,se=h,0===u){if(W+=l-M,M2;)ce[o++]=se[W++],ce[o++]=se[W++],ce[o++]=se[W++],P-=3;P&&(ce[o++]=se[W++],P>1&&(ce[o++]=se[W++]))}else{W=o-R;do{ce[o++]=ce[W++],ce[o++]=ce[W++],ce[o++]=ce[W++],P-=3}while(P>2);P&&(ce[o++]=ce[W++],P>1&&(ce[o++]=ce[W++]))}break}if(64&M){n.msg="invalid distance code",ue.mode=pS;break e}S=C[(65535&S)+(f&(1<>3,i-=P,b-=P<<3,f&=(1<{const c=a.bits;let S,M,P,R,W,ae,l=0,d=0,u=0,h=0,f=0,b=0,y=0,C=0,x=0,w=0,se=null;const ce=new Uint16Array(16),ue=new Uint16Array(16);let ve,$,me,Me=null;for(l=0;l<=15;l++)ce[l]=0;for(d=0;d=1&&0===ce[h];h--);if(f>h&&(f=h),0===h)return r[o++]=20971520,r[o++]=20971520,a.bits=1,0;for(u=1;u0&&(0===t||1!==h))return-1;for(ue[1]=0,l=1;l<15;l++)ue[l+1]=ue[l]+ce[l];for(d=0;d852||2===t&&x>592)return 1;for(;;){ve=l-y,s[d]+1=ae?($=Me[s[d]-ae],me=se[s[d]-ae]):($=96,me=0),S=1<>y)+M]=ve<<24|$<<16|me}while(0!==M);for(S=1<>=1;if(0!==S?(w&=S-1,w+=S):w=0,d++,0==--ce[l]){if(l===h)break;l=n[e+s[d]]}if(l>f&&(w&R)!==P){for(0===y&&(y=f),W+=u,b=l-y,C=1<852||2===t&&x>592)return 1;P=w&R,r[P]=f<<24|b<<16|W-o}}return 0!==w&&(r[W+w]=l-y<<24|64<<16),a.bits=f,0};const{Z_FINISH:zj,Z_BLOCK:nxe,Z_TREES:AS,Z_OK:hp,Z_STREAM_END:ixe,Z_NEED_DICT:rxe,Z_STREAM_ERROR:$c,Z_DATA_ERROR:Gj,Z_MEM_ERROR:Wj,Z_BUF_ERROR:oxe,Z_DEFLATED:$j}=cp,gS=16180,bS=16190,Ru=16191,_S=16199,vS=16200,lo=16209,A7=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function lxe(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const fp=t=>{if(!t)return 1;const n=t.state;return!n||n.strm!==t||n.mode16211?1:0},g7=t=>{if(fp(t))return $c;const n=t.state;return t.total_in=t.total_out=n.total=0,t.msg="",n.wrap&&(t.adler=1&n.wrap),n.mode=gS,n.last=0,n.havedict=0,n.flags=-1,n.dmax=32768,n.head=null,n.hold=0,n.bits=0,n.lencode=n.lendyn=new Int32Array(852),n.distcode=n.distdyn=new Int32Array(592),n.sane=1,n.back=-1,hp},b7=t=>{if(fp(t))return $c;const n=t.state;return n.wsize=0,n.whave=0,n.wnext=0,g7(t)},_7=(t,n)=>{let e;if(fp(t))return $c;const i=t.state;return n<0?(e=0,n=-n):(e=5+(n>>4),n<48&&(n&=15)),n&&(n<8||n>15)?$c:(null!==i.window&&i.wbits!==n&&(i.window=null),i.wrap=e,i.wbits=n,b7(t))},v7=(t,n)=>{if(!t)return $c;const e=new lxe;t.state=e,e.strm=t,e.window=null,e.mode=gS;const i=_7(t,n);return i!==hp&&(t.state=null),i};let wP,xP,y7=!0;const uxe=t=>{if(y7){wP=new Int32Array(512),xP=new Int32Array(32);let n=0;for(;n<144;)t.lens[n++]=8;for(;n<256;)t.lens[n++]=9;for(;n<280;)t.lens[n++]=7;for(;n<288;)t.lens[n++]=8;for(ew(1,t.lens,0,288,wP,0,t.work,{bits:9}),n=0;n<32;)t.lens[n++]=5;ew(2,t.lens,0,32,xP,0,t.work,{bits:5}),y7=!1}t.lencode=wP,t.lenbits=9,t.distcode=xP,t.distbits=5},w7=(t,n,e,i)=>{let r;const o=t.state;return null===o.window&&(o.wsize=1<=o.wsize?(o.window.set(n.subarray(e-o.wsize,e),0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>i&&(r=i),o.window.set(n.subarray(e-i,e-i+r),o.wnext),(i-=r)?(o.window.set(n.subarray(e-i,e),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whavev7(t,15),inflateInit2:v7,inflate:(t,n)=>{let e,i,r,o,s,a,c,l,d,u,h,f,b,y,x,w,S,M,P,R,W,se,C=0;const ae=new Uint8Array(4);let ce,ue;const Me=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(fp(t)||!t.output||!t.input&&0!==t.avail_in)return $c;e=t.state,e.mode===Ru&&(e.mode=16192),s=t.next_out,r=t.output,c=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,l=e.hold,d=e.bits,u=a,h=c,se=hp;e:for(;;)switch(e.mode){case gS:if(0===e.wrap){e.mode=16192;break}for(;d<16;){if(0===a)break e;a--,l+=i[o++]<>>8&255,e.check=Es(e.check,ae,2,0),l=0,d=0,e.mode=16181;break}if(e.head&&(e.head.done=!1),!(1&e.wrap)||(((255&l)<<8)+(l>>8))%31){t.msg="incorrect header check",e.mode=lo;break}if((15&l)!==$j){t.msg="unknown compression method",e.mode=lo;break}if(l>>>=4,d-=4,W=8+(15&l),0===e.wbits&&(e.wbits=W),W>15||W>e.wbits){t.msg="invalid window size",e.mode=lo;break}e.dmax=1<>8&1),512&e.flags&&4&e.wrap&&(ae[0]=255&l,ae[1]=l>>>8&255,e.check=Es(e.check,ae,2,0)),l=0,d=0,e.mode=16182;case 16182:for(;d<32;){if(0===a)break e;a--,l+=i[o++]<>>8&255,ae[2]=l>>>16&255,ae[3]=l>>>24&255,e.check=Es(e.check,ae,4,0)),l=0,d=0,e.mode=16183;case 16183:for(;d<16;){if(0===a)break e;a--,l+=i[o++]<>8),512&e.flags&&4&e.wrap&&(ae[0]=255&l,ae[1]=l>>>8&255,e.check=Es(e.check,ae,2,0)),l=0,d=0,e.mode=16184;case 16184:if(1024&e.flags){for(;d<16;){if(0===a)break e;a--,l+=i[o++]<>>8&255,e.check=Es(e.check,ae,2,0)),l=0,d=0}else e.head&&(e.head.extra=null);e.mode=16185;case 16185:if(1024&e.flags&&(f=e.length,f>a&&(f=a),f&&(e.head&&(W=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(i.subarray(o,o+f),W)),512&e.flags&&4&e.wrap&&(e.check=Es(e.check,i,f,o)),a-=f,o+=f,e.length-=f),e.length))break e;e.length=0,e.mode=16186;case 16186:if(2048&e.flags){if(0===a)break e;f=0;do{W=i[o+f++],e.head&&W&&e.length<65536&&(e.head.name+=String.fromCharCode(W))}while(W&&f>9&1,e.head.done=!0),t.adler=e.check=0,e.mode=Ru;break;case 16189:for(;d<32;){if(0===a)break e;a--,l+=i[o++]<>>=7&d,d-=7&d,e.mode=16206;break}for(;d<3;){if(0===a)break e;a--,l+=i[o++]<>>=1,d-=1,3&l){case 0:e.mode=16193;break;case 1:if(uxe(e),e.mode=_S,n===AS){l>>>=2,d-=2;break e}break;case 2:e.mode=16196;break;case 3:t.msg="invalid block type",e.mode=lo}l>>>=2,d-=2;break;case 16193:for(l>>>=7&d,d-=7&d;d<32;){if(0===a)break e;a--,l+=i[o++]<>>16^65535)){t.msg="invalid stored block lengths",e.mode=lo;break}if(e.length=65535&l,l=0,d=0,e.mode=16194,n===AS)break e;case 16194:e.mode=16195;case 16195:if(f=e.length,f){if(f>a&&(f=a),f>c&&(f=c),0===f)break e;r.set(i.subarray(o,o+f),s),a-=f,o+=f,c-=f,s+=f,e.length-=f;break}e.mode=Ru;break;case 16196:for(;d<14;){if(0===a)break e;a--,l+=i[o++]<>>=5,d-=5,e.ndist=1+(31&l),l>>>=5,d-=5,e.ncode=4+(15&l),l>>>=4,d-=4,e.nlen>286||e.ndist>30){t.msg="too many length or distance symbols",e.mode=lo;break}e.have=0,e.mode=16197;case 16197:for(;e.have>>=3,d-=3}for(;e.have<19;)e.lens[Me[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,ce={bits:e.lenbits},se=ew(0,e.lens,0,19,e.lencode,0,e.work,ce),e.lenbits=ce.bits,se){t.msg="invalid code lengths set",e.mode=lo;break}e.have=0,e.mode=16198;case 16198:for(;e.have>>24,w=C>>>16&255,S=65535&C,!(x<=d);){if(0===a)break e;a--,l+=i[o++]<>>=x,d-=x,e.lens[e.have++]=S;else{if(16===S){for(ue=x+2;d>>=x,d-=x,0===e.have){t.msg="invalid bit length repeat",e.mode=lo;break}W=e.lens[e.have-1],f=3+(3&l),l>>>=2,d-=2}else if(17===S){for(ue=x+3;d>>=x,d-=x,W=0,f=3+(7&l),l>>>=3,d-=3}else{for(ue=x+7;d>>=x,d-=x,W=0,f=11+(127&l),l>>>=7,d-=7}if(e.have+f>e.nlen+e.ndist){t.msg="invalid bit length repeat",e.mode=lo;break}for(;f--;)e.lens[e.have++]=W}}if(e.mode===lo)break;if(0===e.lens[256]){t.msg="invalid code -- missing end-of-block",e.mode=lo;break}if(e.lenbits=9,ce={bits:e.lenbits},se=ew(1,e.lens,0,e.nlen,e.lencode,0,e.work,ce),e.lenbits=ce.bits,se){t.msg="invalid literal/lengths set",e.mode=lo;break}if(e.distbits=6,e.distcode=e.distdyn,ce={bits:e.distbits},se=ew(2,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,ce),e.distbits=ce.bits,se){t.msg="invalid distances set",e.mode=lo;break}if(e.mode=_S,n===AS)break e;case _S:e.mode=vS;case vS:if(a>=6&&c>=258){t.next_out=s,t.avail_out=c,t.next_in=o,t.avail_in=a,e.hold=l,e.bits=d,Ywe(t,h),s=t.next_out,r=t.output,c=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,l=e.hold,d=e.bits,e.mode===Ru&&(e.back=-1);break}for(e.back=0;C=e.lencode[l&(1<>>24,w=C>>>16&255,S=65535&C,!(x<=d);){if(0===a)break e;a--,l+=i[o++]<>M)],x=C>>>24,w=C>>>16&255,S=65535&C,!(M+x<=d);){if(0===a)break e;a--,l+=i[o++]<>>=M,d-=M,e.back+=M}if(l>>>=x,d-=x,e.back+=x,e.length=S,0===w){e.mode=16205;break}if(32&w){e.back=-1,e.mode=Ru;break}if(64&w){t.msg="invalid literal/length code",e.mode=lo;break}e.extra=15&w,e.mode=16201;case 16201:if(e.extra){for(ue=e.extra;d>>=e.extra,d-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=16202;case 16202:for(;C=e.distcode[l&(1<>>24,w=C>>>16&255,S=65535&C,!(x<=d);){if(0===a)break e;a--,l+=i[o++]<>M)],x=C>>>24,w=C>>>16&255,S=65535&C,!(M+x<=d);){if(0===a)break e;a--,l+=i[o++]<>>=M,d-=M,e.back+=M}if(l>>>=x,d-=x,e.back+=x,64&w){t.msg="invalid distance code",e.mode=lo;break}e.offset=S,e.extra=15&w,e.mode=16203;case 16203:if(e.extra){for(ue=e.extra;d>>=e.extra,d-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){t.msg="invalid distance too far back",e.mode=lo;break}e.mode=16204;case 16204:if(0===c)break e;if(f=h-c,e.offset>f){if(f=e.offset-f,f>e.whave&&e.sane){t.msg="invalid distance too far back",e.mode=lo;break}f>e.wnext?(f-=e.wnext,b=e.wsize-f):b=e.wnext-f,f>e.length&&(f=e.length),y=e.window}else y=r,b=s-e.offset,f=e.length;f>c&&(f=c),c-=f,e.length-=f;do{r[s++]=y[b++]}while(--f);0===e.length&&(e.mode=vS);break;case 16205:if(0===c)break e;r[s++]=e.length,c--,e.mode=vS;break;case 16206:if(e.wrap){for(;d<32;){if(0===a)break e;a--,l|=i[o++]<{if(fp(t))return $c;let n=t.state;return n.window&&(n.window=null),t.state=null,hp},inflateGetHeader:(t,n)=>{if(fp(t))return $c;const e=t.state;return 2&e.wrap?(e.head=n,n.done=!1,hp):$c},inflateSetDictionary:(t,n)=>{const e=n.length;let i,r,o;return fp(t)||(i=t.state,0!==i.wrap&&i.mode!==bS)?$c:i.mode===bS&&(r=1,r=Wy(r,n,e,0),r!==i.check)?Gj:(o=w7(t,n,e,e),o?(i.mode=16210,Wj):(i.havedict=1,hp))},inflateInfo:"pako inflate (from Nodeca project)"},Sxe=function Mxe(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const x7=Object.prototype.toString,{Z_NO_FLUSH:kxe,Z_FINISH:Txe,Z_OK:tw,Z_STREAM_END:CP,Z_NEED_DICT:EP,Z_STREAM_ERROR:Fxe,Z_DATA_ERROR:C7,Z_MEM_ERROR:Bxe}=cp;function nw(t){this.options=fS.assign({chunkSize:65536,windowBits:15,to:""},t||{});const n=this.options;n.raw&&n.windowBits>=0&&n.windowBits<16&&(n.windowBits=-n.windowBits,0===n.windowBits&&(n.windowBits=-15)),n.windowBits>=0&&n.windowBits<16&&!(t&&t.windowBits)&&(n.windowBits+=32),n.windowBits>15&&n.windowBits<48&&(15&n.windowBits||(n.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Lj,this.strm.avail_out=0;let e=Lu.inflateInit2(this.strm,n.windowBits);if(e!==tw)throw new Error(ap[e]);if(this.header=new Sxe,Lu.inflateGetHeader(this.strm,this.header),n.dictionary&&("string"==typeof n.dictionary?n.dictionary=Zy.string2buf(n.dictionary):"[object ArrayBuffer]"===x7.call(n.dictionary)&&(n.dictionary=new Uint8Array(n.dictionary)),n.raw&&(e=Lu.inflateSetDictionary(this.strm,n.dictionary),e!==tw)))throw new Error(ap[e])}function MP(t,n){const e=new nw(n);if(e.push(t),e.err)throw e.msg||ap[e.err];return e.result}nw.prototype.push=function(t,n){const e=this.strm,i=this.options.chunkSize,r=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(s=n===~~n?n:!0===n?Txe:kxe,e.input="[object ArrayBuffer]"===x7.call(t)?new Uint8Array(t):t,e.next_in=0,e.avail_in=e.input.length;;){for(0===e.avail_out&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),o=Lu.inflate(e,s),o===EP&&r&&(o=Lu.inflateSetDictionary(e,r),o===tw?o=Lu.inflate(e,s):o===C7&&(o=EP));e.avail_in>0&&o===CP&&e.state.wrap>0&&0!==t[e.next_in];)Lu.inflateReset(e),o=Lu.inflate(e,s);switch(o){case Fxe:case C7:case EP:case Bxe:return this.onEnd(o),this.ended=!0,!1}if(a=e.avail_out,e.next_out&&(0===e.avail_out||o===CP))if("string"===this.options.to){let c=Zy.utf8border(e.output,e.next_out),l=e.next_out-c,d=Zy.buf2string(e.output,c);e.next_out=l,e.avail_out=i-l,l&&e.output.set(e.output.subarray(c,c+l),0),this.onData(d)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(o!==tw||0!==a){if(o===CP)return o=Lu.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===e.avail_in)break}}return!0},nw.prototype.onData=function(t){this.chunks.push(t)},nw.prototype.onEnd=function(t){t===tw&&(this.result="string"===this.options.to?this.chunks.join(""):fS.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Nxe={Inflate:nw,inflate:MP,inflateRaw:function Ixe(t,n){return(n=n||{}).raw=!0,MP(t,n)},ungzip:MP,constants:cp};const{ungzip:$xe}=Nxe;var SP=$xe;class E7{constructor(n){this.httpClient=n}getParameterByName(n){const e=n.replaceAll(/[[\]]/g,"\\$&"),r=new RegExp(`[?&]${e}(=([^&#]*)|&|#|$)`).exec(window.location.href);return r?r[2]?decodeURIComponent(r[2].replaceAll("+"," ")):"":null}getFileDataFromQueryParam(){var n=this;return m(function*(){const i=new URLSearchParams(window.location.search).getAll("file");if(0===i.length)throw new Error("Filename is missing");return Promise.all(i.map(function(){var r=m(function*(o){return n.getFileDataFromFile(o)});return function(o){return r.apply(this,arguments)}}()))})()}getFileDataFromFile(n){var e=this;return m(function*(){if(!n)throw new Error("Filename is missing");return n.endsWith(".gz")?e.getUnzippedFile(n):e.getFile(n)})()}getUnzippedFile(n){var e=this;return m(function*(){const i=yield ij(e.httpClient.get(n,{responseType:"arraybuffer",observe:"response"}));if(i.status>=200&&i.status<300){const s=tL(SP(i.body,{to:"string"}));return{fileName:e.getFileName(n,s.projectName),fileSize:13,content:s}}throw new Error(`Could not load file "${n}"`)})()}getFile(n){var e=this;return m(function*(){const i=yield ij(e.httpClient.get(n,{observe:"response"}));if(i.status>=200&&i.status<300){const o=tL(i.body);return{fileName:n=e.getFileName(n,o.projectName),fileSize:15,content:o}}throw new Error(`Could not load file "${n}"`)})()}getFileName(n,e){return e?.trim()||n.split("/").pop()}}const yS={fileName:"sample1.cc.json",fileSize:3072,content:Abe},wS={fileName:"sample2.cc.json",fileSize:2048,content:gbe};let kP=(()=>{class t{constructor(e,i,r,o,s){this.store=e,this.state=i,this.dialog=r,this.loadFileService=o,this.httpClient=s,this.urlUtils=new E7(this.httpClient)}loadFilesOrSampleFiles(){var e=this;return m(function*(){yield e.checkFileQueryParameterPresent()?e.loadFilesFromQueryParams():e.loadFilesFromIndexedDB()})()}checkFileQueryParameterPresent(){return!!this.urlUtils.getParameterByName("file")}loadFilesFromQueryParams(){var e=this;return m(function*(){try{const i=yield e.urlUtils.getFileDataFromQueryParam(),r=yield KR();if(!r)return e.loadFileService.loadFiles(i),void e.setRenderStateFromUrl();const o=r.files,s=o.map(l=>tj(l.file)),a=i.map(l=>l.content.fileChecksum),c=s.map(l=>l.content.fileChecksum);Al(a)===Al(c)?e.applySettingsAndFilesFromSavedState(o,r,s):e.applySettingsFromSavedState(r,i),e.setRenderStateFromUrl()}catch(i){yield e.handleErrorLoadFilesFromQueryParams(i)}finally{e.setMetricsFromUrl()}})()}applySettingsAndFilesFromSavedState(e,i,r){const o=[],s=this.applyAppSettings(i.appSettings);o.push(...s),this.loadFileService.loadFiles(r),this.store.dispatch(by({value:e}));const a=this.applyFileSettings(i.fileSettings);o.push(...a);const c=this.applyDynamicSettings(i.dynamicSettings);o.push(...c),o.length>0&&this.showErrorDialogForMissingProperties(o)}applySettingsFromSavedState(e,i){this.applyAllSettings(e),this.loadFileService.loadFiles(i)}showErrorDialogForMissingProperties(e){const r=this.buildMissingPropertiesMessage(e);this.showErrorDialog("The previous state could not be fully restored after loading the page. The following properties were not restored.",r)}handleErrorLoadFilesFromQueryParams(e){var i=this;return m(function*(){if(e.message!==XL){const r="File(s) could not be loaded from the given file URL parameter. Loaded sample files instead.",o=i.createTitleUrlErrorDialog(e);i.showErrorDialog(r,o)}yield i.loadSampleFiles()})()}loadFilesFromIndexedDB(){var e=this;return m(function*(){try{const i=yield KR();if(!i)return void(yield e.loadSampleFiles());const r=i.files,o=r.map(s=>tj(s.file));e.applySettingsAndFilesFromSavedState(r,i,o)}catch(i){yield e.handleErrorLoadFilesFromIndexedDB(i)}})()}handleErrorLoadFilesFromIndexedDB(e){var i=this;return m(function*(){e.message!==XL&&i.showErrorDialog("Previously loaded files and settings could not be restored. Loaded sample files instead.",e.message),yield i.loadSampleFiles()})()}applyAllSettings(e){var i=this;return m(function*(){const r=e.fileSettings,o=e.dynamicSettings,s=e.appSettings,a=[];if(r){const c=i.applyFileSettings(r);a.push(...c)}if(o){const c=i.applyDynamicSettings(o);a.push(...c)}if(s){const c=i.applyAppSettings(s);a.push(...c)}a.length>0&&i.showErrorDialogForMissingProperties(a)})()}applyFileSettings(e){const i=this.state.getValue().fileSettings,r=[];for(const[o,s]of Object.entries(i))o in e?Al(s)!==Al(e[o])&&this.mapFileSettingToAction(o,e[o]):r.push(o);return r}applyDynamicSettings(e){const i=this.state.getValue().dynamicSettings,r=[];for(const[o,s]of Object.entries(i))o in e?Al(s)!==Al(e[o])&&this.mapDynamicSettingToAction(o,e[o]):r.push(o);return r}applyAppSettings(e){const i=this.state.getValue().appSettings,r=[];for(const[o,s]of Object.entries(i))o in e?Al(s)!==Al(e[o])&&this.mapAppSettingToAction(o,e[o]):r.push(o);return r}mapFileSettingToAction(e,i){switch(e){case"attributeTypes":this.store.dispatch(IR({value:i}));break;case"attributeDescriptors":this.store.dispatch(BR({value:i}));break;case"blacklist":this.store.dispatch(RR({value:i}));break;case"edges":this.store.dispatch(OR({value:i}));break;case"markedPackages":this.store.dispatch(CM({value:i}));break;default:throw new Error(`Unhandled key: ${e}`)}}mapDynamicSettingToAction(e,i){switch(e){case"areaMetric":this.store.dispatch(vu({value:i}));break;case"heightMetric":this.store.dispatch(wu({value:i}));break;case"edgeMetric":this.store.dispatch(yu({value:i}));break;case"colorMetric":this.store.dispatch(gl({value:i}));break;case"colorMode":this.store.dispatch(uy({value:i}));break;case"sortingOption":this.store.dispatch(yM({value:i}));break;case"colorRange":this.store.dispatch(cd({value:i}));break;case"distributionMetric":this.store.dispatch(hy({value:i}));break;case"focusedNodePath":this.store.dispatch(bM({value:i}));break;case"searchPattern":this.store.dispatch(df({value:i}));break;case"margin":this.store.dispatch(Pg({value:i}));break;default:throw new Error(`Unhandled key: ${e}`)}}mapAppSettingToAction(e,i){switch(e){case"amountOfTopLabels":case"amountOfEdgePreviews":this.store.dispatch(lf({value:i}));break;case"edgeHeight":this.store.dispatch(Rg({value:i}));break;case"scaling":this.store.dispatch(Lg({value:i}));break;case"hideFlatBuildings":this.store.dispatch(ty({value:i}));break;case"invertHeight":this.store.dispatch(iy({value:i}));break;case"invertArea":this.store.dispatch(ny({value:i}));break;case"isWhiteBackground":this.store.dispatch(ry({value:i}));break;case"mapColors":this.store.dispatch(_u({value:i}));break;case"isPresentationMode":this.store.dispatch(mM({value:i}));break;case"showOnlyBuildingsWithEdges":this.store.dispatch(dy({value:i}));break;case"isEdgeMetricVisible":this.store.dispatch(kR({value:i}));break;case"resetCameraIfNewFileIsLoaded":this.store.dispatch(gM({value:i}));break;case"isLoadingMap":this.store.dispatch(Hg({value:i}));break;case"isLoadingFile":this.store.dispatch(Zm({value:i}));break;case"sortingOrderAscending":case"isSearchPanelPinned":break;case"showMetricLabelNameValue":this.store.dispatch(cy({value:i}));break;case"showMetricLabelNodeName":this.store.dispatch(ly({value:i}));break;case"layoutAlgorithm":this.store.dispatch(oy({value:i}));break;case"maxTreeMapFiles":this.store.dispatch(sy({value:i}));break;case"sharpnessMode":this.store.dispatch(ay({value:i}));break;case"experimentalFeaturesEnabled":this.store.dispatch(hM({value:i}));break;case"screenshotToClipboardEnabled":this.store.dispatch(uM({value:i}));break;case"colorLabels":this.store.dispatch(J0({value:i}));break;case"isColorMetricLinkedToHeightMetric":this.store.dispatch(TR({value:i}));break;case"enableFloorLabels":this.store.dispatch(ey({value:i}));break;default:throw new Error(`Unhandled key: ${e}`)}}buildMissingPropertiesMessage(e){return`${WL(' ',e)}`}loadSampleFiles(){var e=this;return m(function*(){try{const i=yield KR();i&&e.applyAllSettings(i),e.loadFileService.loadFiles([yS,wS])}catch{e.loadFileService.loadFiles([yS,wS])}})()}showErrorDialog(e,i){this.dialog.open(Kg,{data:{title:e,message:i}})}createTitleUrlErrorDialog(e){let i="Error";return e.message?i+=` (${e.message})`:e.statusText&&e.status&&(i+=` (${e.status}: ${e.statusText})`),i}setMetricsFromUrl(){const e=this.urlUtils.getParameterByName(fd.areaMetric),i=this.urlUtils.getParameterByName(fd.heightMetric),r=this.urlUtils.getParameterByName(fd.colorMetric),o=this.urlUtils.getParameterByName(fd.edgeMetric),s=this.state.getValue(),a=Cs(s).nodeMetricData,c=Cs(s).edgeMetricData;if(!a)return;const l=new Set(a.map(u=>u.name)),d=c.map(u=>u.name);e&&l.has(e)&&this.store.dispatch(vu({value:e})),i&&l.has(i)&&this.store.dispatch(wu({value:i})),r&&l.has(r)&&this.store.dispatch(gl({value:r})),o&&d.includes(o)&&this.store.dispatch(yu({value:o}))}setRenderStateFromUrl(){const e=this.urlUtils.getParameterByName("mode"),i=function _be(t){return t.map(n=>n.file)}(this.state.getValue().files);"Delta"===e&&i.length>=2&&this.store.dispatch(PM({referenceFile:i[0],comparisonFile:i[1]}))}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(Dr),ee(ga),ee(Xg),ee(I2))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),t1e=(()=>{class t{constructor(){this.version=Ly.rE}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-logo"]],decls:5,vars:1,consts:[["id","logo"],["href","https://github.com/MaibornWolff/codecharta","target","_blank","rel","noopener noreferrer"],["src","codeCharta/assets/codecharta_logo.svg","alt","CodeCharta","rel","noopener noreferrer"]],template:function(i,r){1&i&&(T(0,"div",0)(1,"a",1),fe(2,"img",2),L(),T(3,"h2"),ge(4),L()()),2&i&&(D(4),qt("Version ",r.version,""))},encapsulation:2})}}return t})();const Pr=t=>t.appSettings,TP=Bt(Pr,t=>t.isLoadingFile),M7=Bt(Pr,t=>t.sharpnessMode),FP="126",n1e={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},i1e={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},S7=0,BP=1,k7=2,r1e=3,o1e=0,IP=1,T7=2,rb=3,ob=0,Uo=1,iw=2,DP=1,s1e=2,Pu=0,sb=1,RP=2,LP=3,PP=4,F7=5,mp=100,B7=101,I7=102,OP=103,NP=104,D7=200,R7=201,L7=202,P7=203,UP=204,HP=205,O7=206,N7=207,U7=208,H7=209,V7=210,Q7=0,z7=1,G7=2,xS=3,W7=4,$7=5,j7=6,K7=7,rw=0,X7=1,Y7=2,pp=0,q7=1,Z7=2,J7=3,eK=4,tK=5,CS=300,ow=301,sw=302,ES=303,MS=304,ab=306,aw=307,Ap=1e3,_a=1001,cw=1002,hs=1003,SS=1004,a1e=1004,kS=1005,c1e=1005,Mo=1006,VP=1007,l1e=1007,cb=1008,d1e=1008,lb=1009,nK=1010,iK=1011,lw=1012,rK=1013,dw=1014,Ou=1015,uw=1016,oK=1017,sK=1018,aK=1019,db=1020,cK=1021,wf=1022,va=1023,lK=1024,dK=1025,uK=va,gp=1026,ub=1027,hK=1028,fK=1029,mK=1030,pK=1031,AK=1032,gK=1033,QP=33776,zP=33777,GP=33778,WP=33779,$P=35840,jP=35841,KP=35842,XP=35843,bK=36196,YP=37492,qP=37496,_K=37808,vK=37809,yK=37810,wK=37811,xK=37812,CK=37813,EK=37814,MK=37815,SK=37816,kK=37817,TK=37818,FK=37819,BK=37820,IK=37821,DK=36492,RK=37840,LK=37841,PK=37842,OK=37843,NK=37844,UK=37845,HK=37846,VK=37847,QK=37848,zK=37849,GK=37850,WK=37851,$K=37852,jK=37853,KK=2200,XK=2201,YK=2202,hw=2300,fw=2301,TS=2302,bp=2400,_p=2401,mw=2402,FS=2500,ZP=2501,qK=0,u1e=1,h1e=2,ya=3e3,pw=3001,BS=3007,IS=3002,ZK=3003,JP=3004,eO=3005,tO=3006,JK=3200,eX=3201,vp=0,tX=1,f1e=0,DS=7680,m1e=7681,p1e=7682,A1e=7683,g1e=34055,b1e=34056,_1e=5386,v1e=512,y1e=513,w1e=514,x1e=515,C1e=516,E1e=517,M1e=518,nX=519,Aw=35044,yp=35048,S1e=35040,k1e=35045,T1e=35049,F1e=35041,B1e=35046,I1e=35050,D1e=35042,R1e="100",nO="300 es";function Nu(){}Object.assign(Nu.prototype,{addEventListener:function(t,n){void 0===this._listeners&&(this._listeners={});const e=this._listeners;void 0===e[t]&&(e[t]=[]),-1===e[t].indexOf(n)&&e[t].push(n)},hasEventListener:function(t,n){if(void 0===this._listeners)return!1;const e=this._listeners;return void 0!==e[t]&&-1!==e[t].indexOf(n)},removeEventListener:function(t,n){if(void 0===this._listeners)return;const i=this._listeners[t];if(void 0!==i){const r=i.indexOf(n);-1!==r&&i.splice(r,1)}},dispatchEvent:function(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const i=e.slice(0);for(let r=0,o=i.length;r>8&255]+Hs[t>>16&255]+Hs[t>>24&255]+"-"+Hs[255&n]+Hs[n>>8&255]+"-"+Hs[n>>16&15|64]+Hs[n>>24&255]+"-"+Hs[63&e|128]+Hs[e>>8&255]+"-"+Hs[e>>16&255]+Hs[e>>24&255]+Hs[255&i]+Hs[i>>8&255]+Hs[i>>16&255]+Hs[i>>24&255]).toUpperCase()},clamp:function(t,n,e){return Math.max(n,Math.min(e,t))},euclideanModulo:function(t,n){return(t%n+n)%n},mapLinear:function(t,n,e,i,r){return i+(t-n)*(r-i)/(e-n)},lerp:function(t,n,e){return(1-e)*t+e*n},damp:function(t,n,e,i){return Yn.lerp(t,n,1-Math.exp(-e*i))},pingpong:function(t,n=1){return n-Math.abs(Yn.euclideanModulo(t,2*n)-n)},smoothstep:function(t,n,e){return t<=n?0:t>=e?1:(t=(t-n)/(e-n))*t*(3-2*t)},smootherstep:function(t,n,e){return t<=n?0:t>=e?1:(t=(t-n)/(e-n))*t*t*(t*(6*t-15)+10)},randInt:function(t,n){return t+Math.floor(Math.random()*(n-t+1))},randFloat:function(t,n){return t+Math.random()*(n-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return void 0!==t&&(RS=t%2147483647),RS=16807*RS%2147483647,(RS-1)/2147483646},degToRad:function(t){return t*Yn.DEG2RAD},radToDeg:function(t){return t*Yn.RAD2DEG},isPowerOfTwo:function(t){return!(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,n,e,i,r){const o=Math.cos,s=Math.sin,a=o(e/2),c=s(e/2),l=o((n+i)/2),d=s((n+i)/2),u=o((n-i)/2),h=s((n-i)/2),f=o((i-n)/2),b=s((i-n)/2);switch(r){case"XYX":t.set(a*d,c*u,c*h,a*l);break;case"YZY":t.set(c*h,a*d,c*u,a*l);break;case"ZXZ":t.set(c*u,c*h,a*d,a*l);break;case"XZX":t.set(a*d,c*b,c*f,a*l);break;case"YXY":t.set(c*f,a*d,c*b,a*l);break;case"ZYZ":t.set(c*b,c*f,a*d,a*l);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}};class ut{constructor(n=0,e=0){this.x=n,this.y=e}get width(){return this.x}set width(n){this.x=n}get height(){return this.y}set height(n){this.y=n}set(n,e){return this.x=n,this.y=e,this}setScalar(n){return this.x=n,this.y=n,this}setX(n){return this.x=n,this}setY(n){return this.y=n,this}setComponent(n,e){switch(n){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+n)}return this}getComponent(n){switch(n){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+n)}}clone(){return new this.constructor(this.x,this.y)}copy(n){return this.x=n.x,this.y=n.y,this}add(n,e){return void 0!==e?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(n,e)):(this.x+=n.x,this.y+=n.y,this)}addScalar(n){return this.x+=n,this.y+=n,this}addVectors(n,e){return this.x=n.x+e.x,this.y=n.y+e.y,this}addScaledVector(n,e){return this.x+=n.x*e,this.y+=n.y*e,this}sub(n,e){return void 0!==e?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(n,e)):(this.x-=n.x,this.y-=n.y,this)}subScalar(n){return this.x-=n,this.y-=n,this}subVectors(n,e){return this.x=n.x-e.x,this.y=n.y-e.y,this}multiply(n){return this.x*=n.x,this.y*=n.y,this}multiplyScalar(n){return this.x*=n,this.y*=n,this}divide(n){return this.x/=n.x,this.y/=n.y,this}divideScalar(n){return this.multiplyScalar(1/n)}applyMatrix3(n){const e=this.x,i=this.y,r=n.elements;return this.x=r[0]*e+r[3]*i+r[6],this.y=r[1]*e+r[4]*i+r[7],this}min(n){return this.x=Math.min(this.x,n.x),this.y=Math.min(this.y,n.y),this}max(n){return this.x=Math.max(this.x,n.x),this.y=Math.max(this.y,n.y),this}clamp(n,e){return this.x=Math.max(n.x,Math.min(e.x,this.x)),this.y=Math.max(n.y,Math.min(e.y,this.y)),this}clampScalar(n,e){return this.x=Math.max(n,Math.min(e,this.x)),this.y=Math.max(n,Math.min(e,this.y)),this}clampLength(n,e){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(n,Math.min(e,i)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(n){return this.x*n.x+this.y*n.y}cross(n){return this.x*n.y-this.y*n.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}distanceTo(n){return Math.sqrt(this.distanceToSquared(n))}distanceToSquared(n){const e=this.x-n.x,i=this.y-n.y;return e*e+i*i}manhattanDistanceTo(n){return Math.abs(this.x-n.x)+Math.abs(this.y-n.y)}setLength(n){return this.normalize().multiplyScalar(n)}lerp(n,e){return this.x+=(n.x-this.x)*e,this.y+=(n.y-this.y)*e,this}lerpVectors(n,e,i){return this.x=n.x+(e.x-n.x)*i,this.y=n.y+(e.y-n.y)*i,this}equals(n){return n.x===this.x&&n.y===this.y}fromArray(n,e=0){return this.x=n[e],this.y=n[e+1],this}toArray(n=[],e=0){return n[e]=this.x,n[e+1]=this.y,n}fromBufferAttribute(n,e,i){return void 0!==i&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=n.getX(e),this.y=n.getY(e),this}rotateAround(n,e){const i=Math.cos(e),r=Math.sin(e),o=this.x-n.x,s=this.y-n.y;return this.x=o*i-s*r+n.x,this.y=o*r+s*i+n.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}}ut.prototype.isVector2=!0;class fs{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(n,e,i,r,o,s,a,c,l){const d=this.elements;return d[0]=n,d[1]=r,d[2]=a,d[3]=e,d[4]=o,d[5]=c,d[6]=i,d[7]=s,d[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(n){const e=this.elements,i=n.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this}extractBasis(n,e,i){return n.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(n){const e=n.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(n){return this.multiplyMatrices(this,n)}premultiply(n){return this.multiplyMatrices(n,this)}multiplyMatrices(n,e){const i=n.elements,r=e.elements,o=this.elements,s=i[0],a=i[3],c=i[6],l=i[1],d=i[4],u=i[7],h=i[2],f=i[5],b=i[8],y=r[0],C=r[3],x=r[6],w=r[1],S=r[4],M=r[7],P=r[2],R=r[5],W=r[8];return o[0]=s*y+a*w+c*P,o[3]=s*C+a*S+c*R,o[6]=s*x+a*M+c*W,o[1]=l*y+d*w+u*P,o[4]=l*C+d*S+u*R,o[7]=l*x+d*M+u*W,o[2]=h*y+f*w+b*P,o[5]=h*C+f*S+b*R,o[8]=h*x+f*M+b*W,this}multiplyScalar(n){const e=this.elements;return e[0]*=n,e[3]*=n,e[6]*=n,e[1]*=n,e[4]*=n,e[7]*=n,e[2]*=n,e[5]*=n,e[8]*=n,this}determinant(){const n=this.elements,e=n[0],i=n[1],r=n[2],o=n[3],s=n[4],a=n[5],c=n[6],l=n[7],d=n[8];return e*s*d-e*a*l-i*o*d+i*a*c+r*o*l-r*s*c}invert(){const n=this.elements,e=n[0],i=n[1],r=n[2],o=n[3],s=n[4],a=n[5],c=n[6],l=n[7],d=n[8],u=d*s-a*l,h=a*c-d*o,f=l*o-s*c,b=e*u+i*h+r*f;if(0===b)return this.set(0,0,0,0,0,0,0,0,0);const y=1/b;return n[0]=u*y,n[1]=(r*l-d*i)*y,n[2]=(a*i-r*s)*y,n[3]=h*y,n[4]=(d*e-r*c)*y,n[5]=(r*o-a*e)*y,n[6]=f*y,n[7]=(i*c-l*e)*y,n[8]=(s*e-i*o)*y,this}transpose(){let n;const e=this.elements;return n=e[1],e[1]=e[3],e[3]=n,n=e[2],e[2]=e[6],e[6]=n,n=e[5],e[5]=e[7],e[7]=n,this}getNormalMatrix(n){return this.setFromMatrix4(n).invert().transpose()}transposeIntoArray(n){const e=this.elements;return n[0]=e[0],n[1]=e[3],n[2]=e[6],n[3]=e[1],n[4]=e[4],n[5]=e[7],n[6]=e[2],n[7]=e[5],n[8]=e[8],this}setUvTransform(n,e,i,r,o,s,a){const c=Math.cos(o),l=Math.sin(o);return this.set(i*c,i*l,-i*(c*s+l*a)+s+n,-r*l,r*c,-r*(-l*s+c*a)+a+e,0,0,1),this}scale(n,e){const i=this.elements;return i[0]*=n,i[3]*=n,i[6]*=n,i[1]*=e,i[4]*=e,i[7]*=e,this}rotate(n){const e=Math.cos(n),i=Math.sin(n),r=this.elements,o=r[0],s=r[3],a=r[6],c=r[1],l=r[4],d=r[7];return r[0]=e*o+i*c,r[3]=e*s+i*l,r[6]=e*a+i*d,r[1]=-i*o+e*c,r[4]=-i*s+e*l,r[7]=-i*a+e*d,this}translate(n,e){const i=this.elements;return i[0]+=n*i[2],i[3]+=n*i[5],i[6]+=n*i[8],i[1]+=e*i[2],i[4]+=e*i[5],i[7]+=e*i[8],this}equals(n){const e=this.elements,i=n.elements;for(let r=0;r<9;r++)if(e[r]!==i[r])return!1;return!0}fromArray(n,e=0){for(let i=0;i<9;i++)this.elements[i]=n[i+e];return this}toArray(n=[],e=0){const i=this.elements;return n[e]=i[0],n[e+1]=i[1],n[e+2]=i[2],n[e+3]=i[3],n[e+4]=i[4],n[e+5]=i[5],n[e+6]=i[6],n[e+7]=i[7],n[e+8]=i[8],n}clone(){return(new this.constructor).fromArray(this.elements)}}let hb;fs.prototype.isMatrix3=!0;const wp={getDataURL:function(t){if(/^data:/i.test(t.src)||typeof HTMLCanvasElement>"u")return t.src;let n;if(t instanceof HTMLCanvasElement)n=t;else{void 0===hb&&(hb=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),hb.width=t.width,hb.height=t.height;const e=hb.getContext("2d");t instanceof ImageData?e.putImageData(t,0,0):e.drawImage(t,0,0,t.width,t.height),n=hb}return n.width>2048||n.height>2048?n.toDataURL("image/jpeg",.6):n.toDataURL("image/png")}};let L1e=0;class Jo extends Nu{constructor(n=Jo.DEFAULT_IMAGE,e=Jo.DEFAULT_MAPPING,i=_a,r=_a,o=Mo,s=cb,a=va,c=lb,l=1,d=ya){super(),Object.defineProperty(this,"id",{value:L1e++}),this.uuid=Yn.generateUUID(),this.name="",this.image=n,this.mipmaps=[],this.mapping=e,this.wrapS=i,this.wrapT=r,this.magFilter=o,this.minFilter=s,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=c,this.offset=new ut(0,0),this.repeat=new ut(1,1),this.center=new ut(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new fs,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=d,this.version=0,this.onUpdate=null}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(n){return this.name=n.name,this.image=n.image,this.mipmaps=n.mipmaps.slice(0),this.mapping=n.mapping,this.wrapS=n.wrapS,this.wrapT=n.wrapT,this.magFilter=n.magFilter,this.minFilter=n.minFilter,this.anisotropy=n.anisotropy,this.format=n.format,this.internalFormat=n.internalFormat,this.type=n.type,this.offset.copy(n.offset),this.repeat.copy(n.repeat),this.center.copy(n.center),this.rotation=n.rotation,this.matrixAutoUpdate=n.matrixAutoUpdate,this.matrix.copy(n.matrix),this.generateMipmaps=n.generateMipmaps,this.premultiplyAlpha=n.premultiplyAlpha,this.flipY=n.flipY,this.unpackAlignment=n.unpackAlignment,this.encoding=n.encoding,this}toJSON(n){const e=void 0===n||"string"==typeof n;if(!e&&void 0!==n.textures[this.uuid])return n.textures[this.uuid];const i={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,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,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const r=this.image;if(void 0===r.uuid&&(r.uuid=Yn.generateUUID()),!e&&void 0===n.images[r.uuid]){let o;if(Array.isArray(r)){o=[];for(let s=0,a=r.length;s1)switch(this.wrapS){case Ap:n.x=n.x-Math.floor(n.x);break;case _a:n.x=n.x<0?0:1;break;case cw:n.x=1===Math.abs(Math.floor(n.x)%2)?Math.ceil(n.x)-n.x:n.x-Math.floor(n.x)}if(n.y<0||n.y>1)switch(this.wrapT){case Ap:n.y=n.y-Math.floor(n.y);break;case _a:n.y=n.y<0?0:1;break;case cw:n.y=1===Math.abs(Math.floor(n.y)%2)?Math.ceil(n.y)-n.y:n.y-Math.floor(n.y)}return this.flipY&&(n.y=1-n.y),n}set needsUpdate(n){!0===n&&this.version++}}function iO(t){return typeof HTMLImageElement<"u"&&t instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&t instanceof ImageBitmap?wp.getDataURL(t):t.data?{data:Array.prototype.slice.call(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}Jo.DEFAULT_IMAGE=void 0,Jo.DEFAULT_MAPPING=CS,Jo.prototype.isTexture=!0;class _r{constructor(n=0,e=0,i=0,r=1){this.x=n,this.y=e,this.z=i,this.w=r}get width(){return this.z}set width(n){this.z=n}get height(){return this.w}set height(n){this.w=n}set(n,e,i,r){return this.x=n,this.y=e,this.z=i,this.w=r,this}setScalar(n){return this.x=n,this.y=n,this.z=n,this.w=n,this}setX(n){return this.x=n,this}setY(n){return this.y=n,this}setZ(n){return this.z=n,this}setW(n){return this.w=n,this}setComponent(n,e){switch(n){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: "+n)}return this}getComponent(n){switch(n){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: "+n)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(n){return this.x=n.x,this.y=n.y,this.z=n.z,this.w=void 0!==n.w?n.w:1,this}add(n,e){return void 0!==e?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(n,e)):(this.x+=n.x,this.y+=n.y,this.z+=n.z,this.w+=n.w,this)}addScalar(n){return this.x+=n,this.y+=n,this.z+=n,this.w+=n,this}addVectors(n,e){return this.x=n.x+e.x,this.y=n.y+e.y,this.z=n.z+e.z,this.w=n.w+e.w,this}addScaledVector(n,e){return this.x+=n.x*e,this.y+=n.y*e,this.z+=n.z*e,this.w+=n.w*e,this}sub(n,e){return void 0!==e?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(n,e)):(this.x-=n.x,this.y-=n.y,this.z-=n.z,this.w-=n.w,this)}subScalar(n){return this.x-=n,this.y-=n,this.z-=n,this.w-=n,this}subVectors(n,e){return this.x=n.x-e.x,this.y=n.y-e.y,this.z=n.z-e.z,this.w=n.w-e.w,this}multiply(n){return this.x*=n.x,this.y*=n.y,this.z*=n.z,this.w*=n.w,this}multiplyScalar(n){return this.x*=n,this.y*=n,this.z*=n,this.w*=n,this}applyMatrix4(n){const e=this.x,i=this.y,r=this.z,o=this.w,s=n.elements;return this.x=s[0]*e+s[4]*i+s[8]*r+s[12]*o,this.y=s[1]*e+s[5]*i+s[9]*r+s[13]*o,this.z=s[2]*e+s[6]*i+s[10]*r+s[14]*o,this.w=s[3]*e+s[7]*i+s[11]*r+s[15]*o,this}divideScalar(n){return this.multiplyScalar(1/n)}setAxisAngleFromQuaternion(n){this.w=2*Math.acos(n.w);const e=Math.sqrt(1-n.w*n.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=n.x/e,this.y=n.y/e,this.z=n.z/e),this}setAxisAngleFromRotationMatrix(n){let e,i,r,o;const c=n.elements,l=c[0],d=c[4],u=c[8],h=c[1],f=c[5],b=c[9],y=c[2],C=c[6],x=c[10];if(Math.abs(d-h)<.01&&Math.abs(u-y)<.01&&Math.abs(b-C)<.01){if(Math.abs(d+h)<.1&&Math.abs(u+y)<.1&&Math.abs(b+C)<.1&&Math.abs(l+f+x-3)<.1)return this.set(1,0,0,0),this;e=Math.PI;const S=(l+1)/2,M=(f+1)/2,P=(x+1)/2,R=(d+h)/4,W=(u+y)/4,se=(b+C)/4;return S>M&&S>P?S<.01?(i=0,r=.707106781,o=.707106781):(i=Math.sqrt(S),r=R/i,o=W/i):M>P?M<.01?(i=.707106781,r=0,o=.707106781):(r=Math.sqrt(M),i=R/r,o=se/r):P<.01?(i=.707106781,r=.707106781,o=0):(o=Math.sqrt(P),i=W/o,r=se/o),this.set(i,r,o,e),this}let w=Math.sqrt((C-b)*(C-b)+(u-y)*(u-y)+(h-d)*(h-d));return Math.abs(w)<.001&&(w=1),this.x=(C-b)/w,this.y=(u-y)/w,this.z=(h-d)/w,this.w=Math.acos((l+f+x-1)/2),this}min(n){return this.x=Math.min(this.x,n.x),this.y=Math.min(this.y,n.y),this.z=Math.min(this.z,n.z),this.w=Math.min(this.w,n.w),this}max(n){return this.x=Math.max(this.x,n.x),this.y=Math.max(this.y,n.y),this.z=Math.max(this.z,n.z),this.w=Math.max(this.w,n.w),this}clamp(n,e){return this.x=Math.max(n.x,Math.min(e.x,this.x)),this.y=Math.max(n.y,Math.min(e.y,this.y)),this.z=Math.max(n.z,Math.min(e.z,this.z)),this.w=Math.max(n.w,Math.min(e.w,this.w)),this}clampScalar(n,e){return this.x=Math.max(n,Math.min(e,this.x)),this.y=Math.max(n,Math.min(e,this.y)),this.z=Math.max(n,Math.min(e,this.z)),this.w=Math.max(n,Math.min(e,this.w)),this}clampLength(n,e){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(n,Math.min(e,i)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(n){return this.x*n.x+this.y*n.y+this.z*n.z+this.w*n.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(n){return this.normalize().multiplyScalar(n)}lerp(n,e){return this.x+=(n.x-this.x)*e,this.y+=(n.y-this.y)*e,this.z+=(n.z-this.z)*e,this.w+=(n.w-this.w)*e,this}lerpVectors(n,e,i){return this.x=n.x+(e.x-n.x)*i,this.y=n.y+(e.y-n.y)*i,this.z=n.z+(e.z-n.z)*i,this.w=n.w+(e.w-n.w)*i,this}equals(n){return n.x===this.x&&n.y===this.y&&n.z===this.z&&n.w===this.w}fromArray(n,e=0){return this.x=n[e],this.y=n[e+1],this.z=n[e+2],this.w=n[e+3],this}toArray(n=[],e=0){return n[e]=this.x,n[e+1]=this.y,n[e+2]=this.z,n[e+3]=this.w,n}fromBufferAttribute(n,e,i){return void 0!==i&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=n.getX(e),this.y=n.getY(e),this.z=n.getZ(e),this.w=n.getW(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}}_r.prototype.isVector4=!0;class vl extends Nu{constructor(n,e,i){super(),this.width=n,this.height=e,this.depth=1,this.scissor=new _r(0,0,n,e),this.scissorTest=!1,this.viewport=new _r(0,0,n,e),this.texture=new Jo(void 0,(i=i||{}).mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.encoding),this.texture.image={},this.texture.image.width=n,this.texture.image.height=e,this.texture.image.depth=1,this.texture.generateMipmaps=void 0!==i.generateMipmaps&&i.generateMipmaps,this.texture.minFilter=void 0!==i.minFilter?i.minFilter:Mo,this.depthBuffer=void 0===i.depthBuffer||i.depthBuffer,this.stencilBuffer=void 0!==i.stencilBuffer&&i.stencilBuffer,this.depthTexture=void 0!==i.depthTexture?i.depthTexture:null}setTexture(n){n.image={width:this.width,height:this.height,depth:this.depth},this.texture=n}setSize(n,e,i=1){(this.width!==n||this.height!==e||this.depth!==i)&&(this.width=n,this.height=e,this.depth=i,this.texture.image.width=n,this.texture.image.height=e,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,n,e),this.scissor.set(0,0,n,e)}clone(){return(new this.constructor).copy(this)}copy(n){return this.width=n.width,this.height=n.height,this.depth=n.depth,this.viewport.copy(n.viewport),this.texture=n.texture.clone(),this.depthBuffer=n.depthBuffer,this.stencilBuffer=n.stencilBuffer,this.depthTexture=n.depthTexture,this}dispose(){this.dispatchEvent({type:"dispose"})}}vl.prototype.isWebGLRenderTarget=!0;class iX extends vl{constructor(n,e,i){super(n,e,i),this.samples=4}copy(n){return super.copy.call(this,n),this.samples=n.samples,this}}iX.prototype.isWebGLMultisampleRenderTarget=!0;class Ms{constructor(n=0,e=0,i=0,r=1){this._x=n,this._y=e,this._z=i,this._w=r}static slerp(n,e,i,r){return i.copy(n).slerp(e,r)}static slerpFlat(n,e,i,r,o,s,a){let c=i[r+0],l=i[r+1],d=i[r+2],u=i[r+3];const h=o[s+0],f=o[s+1],b=o[s+2],y=o[s+3];if(0===a)return n[e+0]=c,n[e+1]=l,n[e+2]=d,void(n[e+3]=u);if(1===a)return n[e+0]=h,n[e+1]=f,n[e+2]=b,void(n[e+3]=y);if(u!==y||c!==h||l!==f||d!==b){let C=1-a;const x=c*h+l*f+d*b+u*y,w=x>=0?1:-1,S=1-x*x;if(S>Number.EPSILON){const P=Math.sqrt(S),R=Math.atan2(P,x*w);C=Math.sin(C*R)/P,a=Math.sin(a*R)/P}const M=a*w;if(c=c*C+h*M,l=l*C+f*M,d=d*C+b*M,u=u*C+y*M,C===1-a){const P=1/Math.sqrt(c*c+l*l+d*d+u*u);c*=P,l*=P,d*=P,u*=P}}n[e]=c,n[e+1]=l,n[e+2]=d,n[e+3]=u}static multiplyQuaternionsFlat(n,e,i,r,o,s){const a=i[r],c=i[r+1],l=i[r+2],d=i[r+3],u=o[s],h=o[s+1],f=o[s+2],b=o[s+3];return n[e]=a*b+d*u+c*f-l*h,n[e+1]=c*b+d*h+l*u-a*f,n[e+2]=l*b+d*f+a*h-c*u,n[e+3]=d*b-a*u-c*h-l*f,n}get x(){return this._x}set x(n){this._x=n,this._onChangeCallback()}get y(){return this._y}set y(n){this._y=n,this._onChangeCallback()}get z(){return this._z}set z(n){this._z=n,this._onChangeCallback()}get w(){return this._w}set w(n){this._w=n,this._onChangeCallback()}set(n,e,i,r){return this._x=n,this._y=e,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(n){return this._x=n.x,this._y=n.y,this._z=n.z,this._w=n.w,this._onChangeCallback(),this}setFromEuler(n,e){if(!n||!n.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const i=n._x,r=n._y,o=n._z,s=n._order,a=Math.cos,c=Math.sin,l=a(i/2),d=a(r/2),u=a(o/2),h=c(i/2),f=c(r/2),b=c(o/2);switch(s){case"XYZ":this._x=h*d*u+l*f*b,this._y=l*f*u-h*d*b,this._z=l*d*b+h*f*u,this._w=l*d*u-h*f*b;break;case"YXZ":this._x=h*d*u+l*f*b,this._y=l*f*u-h*d*b,this._z=l*d*b-h*f*u,this._w=l*d*u+h*f*b;break;case"ZXY":this._x=h*d*u-l*f*b,this._y=l*f*u+h*d*b,this._z=l*d*b+h*f*u,this._w=l*d*u-h*f*b;break;case"ZYX":this._x=h*d*u-l*f*b,this._y=l*f*u+h*d*b,this._z=l*d*b-h*f*u,this._w=l*d*u+h*f*b;break;case"YZX":this._x=h*d*u+l*f*b,this._y=l*f*u+h*d*b,this._z=l*d*b-h*f*u,this._w=l*d*u-h*f*b;break;case"XZY":this._x=h*d*u-l*f*b,this._y=l*f*u-h*d*b,this._z=l*d*b+h*f*u,this._w=l*d*u+h*f*b;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s)}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(n,e){const i=e/2,r=Math.sin(i);return this._x=n.x*r,this._y=n.y*r,this._z=n.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(n){const e=n.elements,i=e[0],r=e[4],o=e[8],s=e[1],a=e[5],c=e[9],l=e[2],d=e[6],u=e[10],h=i+a+u;if(h>0){const f=.5/Math.sqrt(h+1);this._w=.25/f,this._x=(d-c)*f,this._y=(o-l)*f,this._z=(s-r)*f}else if(i>a&&i>u){const f=2*Math.sqrt(1+i-a-u);this._w=(d-c)/f,this._x=.25*f,this._y=(r+s)/f,this._z=(o+l)/f}else if(a>u){const f=2*Math.sqrt(1+a-i-u);this._w=(o-l)/f,this._x=(r+s)/f,this._y=.25*f,this._z=(c+d)/f}else{const f=2*Math.sqrt(1+u-i-a);this._w=(s-r)/f,this._x=(o+l)/f,this._y=(c+d)/f,this._z=.25*f}return this._onChangeCallback(),this}setFromUnitVectors(n,e){let r=n.dot(e)+1;return r<1e-6?(r=0,Math.abs(n.x)>Math.abs(n.z)?(this._x=-n.y,this._y=n.x,this._z=0,this._w=r):(this._x=0,this._y=-n.z,this._z=n.y,this._w=r)):(this._x=n.y*e.z-n.z*e.y,this._y=n.z*e.x-n.x*e.z,this._z=n.x*e.y-n.y*e.x,this._w=r),this.normalize()}angleTo(n){return 2*Math.acos(Math.abs(Yn.clamp(this.dot(n),-1,1)))}rotateTowards(n,e){const i=this.angleTo(n);if(0===i)return this;const r=Math.min(1,e/i);return this.slerp(n,r),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(n){return this._x*n._x+this._y*n._y+this._z*n._z+this._w*n._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 n=this.length();return 0===n?(this._x=0,this._y=0,this._z=0,this._w=1):(n=1/n,this._x=this._x*n,this._y=this._y*n,this._z=this._z*n,this._w=this._w*n),this._onChangeCallback(),this}multiply(n,e){return void 0!==e?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(n,e)):this.multiplyQuaternions(this,n)}premultiply(n){return this.multiplyQuaternions(n,this)}multiplyQuaternions(n,e){const i=n._x,r=n._y,o=n._z,s=n._w,a=e._x,c=e._y,l=e._z,d=e._w;return this._x=i*d+s*a+r*l-o*c,this._y=r*d+s*c+o*a-i*l,this._z=o*d+s*l+i*c-r*a,this._w=s*d-i*a-r*c-o*l,this._onChangeCallback(),this}slerp(n,e){if(0===e)return this;if(1===e)return this.copy(n);const i=this._x,r=this._y,o=this._z,s=this._w;let a=s*n._w+i*n._x+r*n._y+o*n._z;if(a<0?(this._w=-n._w,this._x=-n._x,this._y=-n._y,this._z=-n._z,a=-a):this.copy(n),a>=1)return this._w=s,this._x=i,this._y=r,this._z=o,this;const c=1-a*a;if(c<=Number.EPSILON){const f=1-e;return this._w=f*s+e*this._w,this._x=f*i+e*this._x,this._y=f*r+e*this._y,this._z=f*o+e*this._z,this.normalize(),this._onChangeCallback(),this}const l=Math.sqrt(c),d=Math.atan2(l,a),u=Math.sin((1-e)*d)/l,h=Math.sin(e*d)/l;return this._w=s*u+this._w*h,this._x=i*u+this._x*h,this._y=r*u+this._y*h,this._z=o*u+this._z*h,this._onChangeCallback(),this}equals(n){return n._x===this._x&&n._y===this._y&&n._z===this._z&&n._w===this._w}fromArray(n,e=0){return this._x=n[e],this._y=n[e+1],this._z=n[e+2],this._w=n[e+3],this._onChangeCallback(),this}toArray(n=[],e=0){return n[e]=this._x,n[e+1]=this._y,n[e+2]=this._z,n[e+3]=this._w,n}fromBufferAttribute(n,e){return this._x=n.getX(e),this._y=n.getY(e),this._z=n.getZ(e),this._w=n.getW(e),this}_onChange(n){return this._onChangeCallback=n,this}_onChangeCallback(){}}Ms.prototype.isQuaternion=!0;class j{constructor(n=0,e=0,i=0){this.x=n,this.y=e,this.z=i}set(n,e,i){return void 0===i&&(i=this.z),this.x=n,this.y=e,this.z=i,this}setScalar(n){return this.x=n,this.y=n,this.z=n,this}setX(n){return this.x=n,this}setY(n){return this.y=n,this}setZ(n){return this.z=n,this}setComponent(n,e){switch(n){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: "+n)}return this}getComponent(n){switch(n){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+n)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(n){return this.x=n.x,this.y=n.y,this.z=n.z,this}add(n,e){return void 0!==e?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(n,e)):(this.x+=n.x,this.y+=n.y,this.z+=n.z,this)}addScalar(n){return this.x+=n,this.y+=n,this.z+=n,this}addVectors(n,e){return this.x=n.x+e.x,this.y=n.y+e.y,this.z=n.z+e.z,this}addScaledVector(n,e){return this.x+=n.x*e,this.y+=n.y*e,this.z+=n.z*e,this}sub(n,e){return void 0!==e?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(n,e)):(this.x-=n.x,this.y-=n.y,this.z-=n.z,this)}subScalar(n){return this.x-=n,this.y-=n,this.z-=n,this}subVectors(n,e){return this.x=n.x-e.x,this.y=n.y-e.y,this.z=n.z-e.z,this}multiply(n,e){return void 0!==e?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(n,e)):(this.x*=n.x,this.y*=n.y,this.z*=n.z,this)}multiplyScalar(n){return this.x*=n,this.y*=n,this.z*=n,this}multiplyVectors(n,e){return this.x=n.x*e.x,this.y=n.y*e.y,this.z=n.z*e.z,this}applyEuler(n){return n&&n.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(rX.setFromEuler(n))}applyAxisAngle(n,e){return this.applyQuaternion(rX.setFromAxisAngle(n,e))}applyMatrix3(n){const e=this.x,i=this.y,r=this.z,o=n.elements;return this.x=o[0]*e+o[3]*i+o[6]*r,this.y=o[1]*e+o[4]*i+o[7]*r,this.z=o[2]*e+o[5]*i+o[8]*r,this}applyNormalMatrix(n){return this.applyMatrix3(n).normalize()}applyMatrix4(n){const e=this.x,i=this.y,r=this.z,o=n.elements,s=1/(o[3]*e+o[7]*i+o[11]*r+o[15]);return this.x=(o[0]*e+o[4]*i+o[8]*r+o[12])*s,this.y=(o[1]*e+o[5]*i+o[9]*r+o[13])*s,this.z=(o[2]*e+o[6]*i+o[10]*r+o[14])*s,this}applyQuaternion(n){const e=this.x,i=this.y,r=this.z,o=n.x,s=n.y,a=n.z,c=n.w,l=c*e+s*r-a*i,d=c*i+a*e-o*r,u=c*r+o*i-s*e,h=-o*e-s*i-a*r;return this.x=l*c+h*-o+d*-a-u*-s,this.y=d*c+h*-s+u*-o-l*-a,this.z=u*c+h*-a+l*-s-d*-o,this}project(n){return this.applyMatrix4(n.matrixWorldInverse).applyMatrix4(n.projectionMatrix)}unproject(n){return this.applyMatrix4(n.projectionMatrixInverse).applyMatrix4(n.matrixWorld)}transformDirection(n){const e=this.x,i=this.y,r=this.z,o=n.elements;return this.x=o[0]*e+o[4]*i+o[8]*r,this.y=o[1]*e+o[5]*i+o[9]*r,this.z=o[2]*e+o[6]*i+o[10]*r,this.normalize()}divide(n){return this.x/=n.x,this.y/=n.y,this.z/=n.z,this}divideScalar(n){return this.multiplyScalar(1/n)}min(n){return this.x=Math.min(this.x,n.x),this.y=Math.min(this.y,n.y),this.z=Math.min(this.z,n.z),this}max(n){return this.x=Math.max(this.x,n.x),this.y=Math.max(this.y,n.y),this.z=Math.max(this.z,n.z),this}clamp(n,e){return this.x=Math.max(n.x,Math.min(e.x,this.x)),this.y=Math.max(n.y,Math.min(e.y,this.y)),this.z=Math.max(n.z,Math.min(e.z,this.z)),this}clampScalar(n,e){return this.x=Math.max(n,Math.min(e,this.x)),this.y=Math.max(n,Math.min(e,this.y)),this.z=Math.max(n,Math.min(e,this.z)),this}clampLength(n,e){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(n,Math.min(e,i)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(n){return this.x*n.x+this.y*n.y+this.z*n.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(n){return this.normalize().multiplyScalar(n)}lerp(n,e){return this.x+=(n.x-this.x)*e,this.y+=(n.y-this.y)*e,this.z+=(n.z-this.z)*e,this}lerpVectors(n,e,i){return this.x=n.x+(e.x-n.x)*i,this.y=n.y+(e.y-n.y)*i,this.z=n.z+(e.z-n.z)*i,this}cross(n,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(n,e)):this.crossVectors(this,n)}crossVectors(n,e){const i=n.x,r=n.y,o=n.z,s=e.x,a=e.y,c=e.z;return this.x=r*c-o*a,this.y=o*s-i*c,this.z=i*a-r*s,this}projectOnVector(n){const e=n.lengthSq();if(0===e)return this.set(0,0,0);const i=n.dot(this)/e;return this.copy(n).multiplyScalar(i)}projectOnPlane(n){return rO.copy(this).projectOnVector(n),this.sub(rO)}reflect(n){return this.sub(rO.copy(n).multiplyScalar(2*this.dot(n)))}angleTo(n){const e=Math.sqrt(this.lengthSq()*n.lengthSq());if(0===e)return Math.PI/2;const i=this.dot(n)/e;return Math.acos(Yn.clamp(i,-1,1))}distanceTo(n){return Math.sqrt(this.distanceToSquared(n))}distanceToSquared(n){const e=this.x-n.x,i=this.y-n.y,r=this.z-n.z;return e*e+i*i+r*r}manhattanDistanceTo(n){return Math.abs(this.x-n.x)+Math.abs(this.y-n.y)+Math.abs(this.z-n.z)}setFromSpherical(n){return this.setFromSphericalCoords(n.radius,n.phi,n.theta)}setFromSphericalCoords(n,e,i){const r=Math.sin(e)*n;return this.x=r*Math.sin(i),this.y=Math.cos(e)*n,this.z=r*Math.cos(i),this}setFromCylindrical(n){return this.setFromCylindricalCoords(n.radius,n.theta,n.y)}setFromCylindricalCoords(n,e,i){return this.x=n*Math.sin(e),this.y=i,this.z=n*Math.cos(e),this}setFromMatrixPosition(n){const e=n.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(n){const e=this.setFromMatrixColumn(n,0).length(),i=this.setFromMatrixColumn(n,1).length(),r=this.setFromMatrixColumn(n,2).length();return this.x=e,this.y=i,this.z=r,this}setFromMatrixColumn(n,e){return this.fromArray(n.elements,4*e)}setFromMatrix3Column(n,e){return this.fromArray(n.elements,3*e)}equals(n){return n.x===this.x&&n.y===this.y&&n.z===this.z}fromArray(n,e=0){return this.x=n[e],this.y=n[e+1],this.z=n[e+2],this}toArray(n=[],e=0){return n[e]=this.x,n[e+1]=this.y,n[e+2]=this.z,n}fromBufferAttribute(n,e,i){return void 0!==i&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=n.getX(e),this.y=n.getY(e),this.z=n.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}j.prototype.isVector3=!0;const rO=new j,rX=new Ms;class ms{constructor(n=new j(1/0,1/0,1/0),e=new j(-1/0,-1/0,-1/0)){this.min=n,this.max=e}set(n,e){return this.min.copy(n),this.max.copy(e),this}setFromArray(n){let e=1/0,i=1/0,r=1/0,o=-1/0,s=-1/0,a=-1/0;for(let c=0,l=n.length;co&&(o=d),u>s&&(s=u),h>a&&(a=h)}return this.min.set(e,i,r),this.max.set(o,s,a),this}setFromBufferAttribute(n){let e=1/0,i=1/0,r=1/0,o=-1/0,s=-1/0,a=-1/0;for(let c=0,l=n.count;co&&(o=d),u>s&&(s=u),h>a&&(a=h)}return this.min.set(e,i,r),this.max.set(o,s,a),this}setFromPoints(n){this.makeEmpty();for(let e=0,i=n.length;ethis.max.x||n.ythis.max.y||n.zthis.max.z)}containsBox(n){return this.min.x<=n.min.x&&n.max.x<=this.max.x&&this.min.y<=n.min.y&&n.max.y<=this.max.y&&this.min.z<=n.min.z&&n.max.z<=this.max.z}getParameter(n,e){return void 0===e&&(console.warn("THREE.Box3: .getParameter() target is now required"),e=new j),e.set((n.x-this.min.x)/(this.max.x-this.min.x),(n.y-this.min.y)/(this.max.y-this.min.y),(n.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(n){return!(n.max.xthis.max.x||n.max.ythis.max.y||n.max.zthis.max.z)}intersectsSphere(n){return this.clampPoint(n.center,gw),gw.distanceToSquared(n.center)<=n.radius*n.radius}intersectsPlane(n){let e,i;return n.normal.x>0?(e=n.normal.x*this.min.x,i=n.normal.x*this.max.x):(e=n.normal.x*this.max.x,i=n.normal.x*this.min.x),n.normal.y>0?(e+=n.normal.y*this.min.y,i+=n.normal.y*this.max.y):(e+=n.normal.y*this.max.y,i+=n.normal.y*this.min.y),n.normal.z>0?(e+=n.normal.z*this.min.z,i+=n.normal.z*this.max.z):(e+=n.normal.z*this.max.z,i+=n.normal.z*this.min.z),e<=-n.constant&&i>=-n.constant}intersectsTriangle(n){if(this.isEmpty())return!1;this.getCenter(bw),LS.subVectors(this.max,bw),fb.subVectors(n.a,bw),mb.subVectors(n.b,bw),pb.subVectors(n.c,bw),xf.subVectors(mb,fb),Cf.subVectors(pb,mb),xp.subVectors(fb,pb);let e=[0,-xf.z,xf.y,0,-Cf.z,Cf.y,0,-xp.z,xp.y,xf.z,0,-xf.x,Cf.z,0,-Cf.x,xp.z,0,-xp.x,-xf.y,xf.x,0,-Cf.y,Cf.x,0,-xp.y,xp.x,0];return!(!sO(e,fb,mb,pb,LS)||(e=[1,0,0,0,1,0,0,0,1],!sO(e,fb,mb,pb,LS)))&&(PS.crossVectors(xf,Cf),e=[PS.x,PS.y,PS.z],sO(e,fb,mb,pb,LS))}clampPoint(n,e){return void 0===e&&(console.warn("THREE.Box3: .clampPoint() target is now required"),e=new j),e.copy(n).clamp(this.min,this.max)}distanceToPoint(n){return gw.copy(n).clamp(this.min,this.max).sub(n).length()}getBoundingSphere(n){return void 0===n&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(n.center),n.radius=.5*this.getSize(gw).length(),n}intersect(n){return this.min.max(n.min),this.max.min(n.max),this.isEmpty()&&this.makeEmpty(),this}union(n){return this.min.min(n.min),this.max.max(n.max),this}applyMatrix4(n){return this.isEmpty()||(Uu[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(n),Uu[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(n),Uu[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(n),Uu[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(n),Uu[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(n),Uu[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(n),Uu[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(n),Uu[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(n),this.setFromPoints(Uu)),this}translate(n){return this.min.add(n),this.max.add(n),this}equals(n){return n.min.equals(this.min)&&n.max.equals(this.max)}}ms.prototype.isBox3=!0;const Uu=[new j,new j,new j,new j,new j,new j,new j,new j],gw=new j,oO=new ms,fb=new j,mb=new j,pb=new j,xf=new j,Cf=new j,xp=new j,bw=new j,LS=new j,PS=new j,Cp=new j;function sO(t,n,e,i,r){for(let o=0,s=t.length-3;o<=s;o+=3){Cp.fromArray(t,o);const a=r.x*Math.abs(Cp.x)+r.y*Math.abs(Cp.y)+r.z*Math.abs(Cp.z),c=n.dot(Cp),l=e.dot(Cp),d=i.dot(Cp);if(Math.max(-Math.max(c,l,d),Math.min(c,l,d))>a)return!1}return!0}const P1e=new ms;class xd{constructor(n=new j,e=-1){this.center=n,this.radius=e}set(n,e){return this.center.copy(n),this.radius=e,this}setFromPoints(n,e){const i=this.center;void 0!==e?i.copy(e):P1e.setFromPoints(n).getCenter(i);let r=0;for(let o=0,s=n.length;othis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(n){return void 0===n&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),n=new ms),this.isEmpty()?(n.makeEmpty(),n):(n.set(this.center,this.center),n.expandByScalar(this.radius),n)}applyMatrix4(n){return this.center.applyMatrix4(n),this.radius=this.radius*n.getMaxScaleOnAxis(),this}translate(n){return this.center.add(n),this}equals(n){return n.center.equals(this.center)&&n.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Hu=new j,aO=new j,OS=new j,Ef=new j,cO=new j,NS=new j,lO=new j;class Vu{constructor(n=new j,e=new j(0,0,-1)){this.origin=n,this.direction=e}set(n,e){return this.origin.copy(n),this.direction.copy(e),this}copy(n){return this.origin.copy(n.origin),this.direction.copy(n.direction),this}at(n,e){return void 0===e&&(console.warn("THREE.Ray: .at() target is now required"),e=new j),e.copy(this.direction).multiplyScalar(n).add(this.origin)}lookAt(n){return this.direction.copy(n).sub(this.origin).normalize(),this}recast(n){return this.origin.copy(this.at(n,Hu)),this}closestPointToPoint(n,e){void 0===e&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),e=new j),e.subVectors(n,this.origin);const i=e.dot(this.direction);return i<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(i).add(this.origin)}distanceToPoint(n){return Math.sqrt(this.distanceSqToPoint(n))}distanceSqToPoint(n){const e=Hu.subVectors(n,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(n):(Hu.copy(this.direction).multiplyScalar(e).add(this.origin),Hu.distanceToSquared(n))}distanceSqToSegment(n,e,i,r){aO.copy(n).add(e).multiplyScalar(.5),OS.copy(e).sub(n).normalize(),Ef.copy(this.origin).sub(aO);const o=.5*n.distanceTo(e),s=-this.direction.dot(OS),a=Ef.dot(this.direction),c=-Ef.dot(OS),l=Ef.lengthSq(),d=Math.abs(1-s*s);let u,h,f,b;if(d>0)if(u=s*c-a,h=s*a-c,b=o*d,u>=0)if(h>=-b)if(h<=b){const y=1/d;u*=y,h*=y,f=u*(u+s*h+2*a)+h*(s*u+h+2*c)+l}else h=o,u=Math.max(0,-(s*h+a)),f=-u*u+h*(h+2*c)+l;else h=-o,u=Math.max(0,-(s*h+a)),f=-u*u+h*(h+2*c)+l;else h<=-b?(u=Math.max(0,-(-s*o+a)),h=u>0?-o:Math.min(Math.max(-o,-c),o),f=-u*u+h*(h+2*c)+l):h<=b?(u=0,h=Math.min(Math.max(-o,-c),o),f=h*(h+2*c)+l):(u=Math.max(0,-(s*o+a)),h=u>0?o:Math.min(Math.max(-o,-c),o),f=-u*u+h*(h+2*c)+l);else h=s>0?-o:o,u=Math.max(0,-(s*h+a)),f=-u*u+h*(h+2*c)+l;return i&&i.copy(this.direction).multiplyScalar(u).add(this.origin),r&&r.copy(OS).multiplyScalar(h).add(aO),f}intersectSphere(n,e){Hu.subVectors(n.center,this.origin);const i=Hu.dot(this.direction),r=Hu.dot(Hu)-i*i,o=n.radius*n.radius;if(r>o)return null;const s=Math.sqrt(o-r),a=i-s,c=i+s;return a<0&&c<0?null:this.at(a<0?c:a,e)}intersectsSphere(n){return this.distanceSqToPoint(n.center)<=n.radius*n.radius}distanceToPlane(n){const e=n.normal.dot(this.direction);if(0===e)return 0===n.distanceToPoint(this.origin)?0:null;const i=-(this.origin.dot(n.normal)+n.constant)/e;return i>=0?i:null}intersectPlane(n,e){const i=this.distanceToPlane(n);return null===i?null:this.at(i,e)}intersectsPlane(n){const e=n.distanceToPoint(this.origin);return 0===e||n.normal.dot(this.direction)*e<0}intersectBox(n,e){let i,r,o,s,a,c;const l=1/this.direction.x,d=1/this.direction.y,u=1/this.direction.z,h=this.origin;return l>=0?(i=(n.min.x-h.x)*l,r=(n.max.x-h.x)*l):(i=(n.max.x-h.x)*l,r=(n.min.x-h.x)*l),d>=0?(o=(n.min.y-h.y)*d,s=(n.max.y-h.y)*d):(o=(n.max.y-h.y)*d,s=(n.min.y-h.y)*d),i>s||o>r||((o>i||i!=i)&&(i=o),(s=0?(a=(n.min.z-h.z)*u,c=(n.max.z-h.z)*u):(a=(n.max.z-h.z)*u,c=(n.min.z-h.z)*u),i>c||a>r)||((a>i||i!=i)&&(i=a),(c=0?i:r,e)}intersectsBox(n){return null!==this.intersectBox(n,Hu)}intersectTriangle(n,e,i,r,o){cO.subVectors(e,n),NS.subVectors(i,n),lO.crossVectors(cO,NS);let a,s=this.direction.dot(lO);if(s>0){if(r)return null;a=1}else{if(!(s<0))return null;a=-1,s=-s}Ef.subVectors(this.origin,n);const c=a*this.direction.dot(NS.crossVectors(Ef,NS));if(c<0)return null;const l=a*this.direction.dot(cO.cross(Ef));if(l<0||c+l>s)return null;const d=-a*Ef.dot(lO);return d<0?null:this.at(d/s,o)}applyMatrix4(n){return this.origin.applyMatrix4(n),this.direction.transformDirection(n),this}equals(n){return n.origin.equals(this.origin)&&n.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class Tn{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(n,e,i,r,o,s,a,c,l,d,u,h,f,b,y,C){const x=this.elements;return x[0]=n,x[4]=e,x[8]=i,x[12]=r,x[1]=o,x[5]=s,x[9]=a,x[13]=c,x[2]=l,x[6]=d,x[10]=u,x[14]=h,x[3]=f,x[7]=b,x[11]=y,x[15]=C,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 Tn).fromArray(this.elements)}copy(n){const e=this.elements,i=n.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this}copyPosition(n){const e=this.elements,i=n.elements;return e[12]=i[12],e[13]=i[13],e[14]=i[14],this}setFromMatrix3(n){const e=n.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(n,e,i){return n.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(n,e,i){return this.set(n.x,e.x,i.x,0,n.y,e.y,i.y,0,n.z,e.z,i.z,0,0,0,0,1),this}extractRotation(n){const e=this.elements,i=n.elements,r=1/Ab.setFromMatrixColumn(n,0).length(),o=1/Ab.setFromMatrixColumn(n,1).length(),s=1/Ab.setFromMatrixColumn(n,2).length();return e[0]=i[0]*r,e[1]=i[1]*r,e[2]=i[2]*r,e[3]=0,e[4]=i[4]*o,e[5]=i[5]*o,e[6]=i[6]*o,e[7]=0,e[8]=i[8]*s,e[9]=i[9]*s,e[10]=i[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(n){n&&n.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const e=this.elements,i=n.x,r=n.y,o=n.z,s=Math.cos(i),a=Math.sin(i),c=Math.cos(r),l=Math.sin(r),d=Math.cos(o),u=Math.sin(o);if("XYZ"===n.order){const h=s*d,f=s*u,b=a*d,y=a*u;e[0]=c*d,e[4]=-c*u,e[8]=l,e[1]=f+b*l,e[5]=h-y*l,e[9]=-a*c,e[2]=y-h*l,e[6]=b+f*l,e[10]=s*c}else if("YXZ"===n.order){const h=c*d,f=c*u,b=l*d,y=l*u;e[0]=h+y*a,e[4]=b*a-f,e[8]=s*l,e[1]=s*u,e[5]=s*d,e[9]=-a,e[2]=f*a-b,e[6]=y+h*a,e[10]=s*c}else if("ZXY"===n.order){const h=c*d,f=c*u,b=l*d,y=l*u;e[0]=h-y*a,e[4]=-s*u,e[8]=b+f*a,e[1]=f+b*a,e[5]=s*d,e[9]=y-h*a,e[2]=-s*l,e[6]=a,e[10]=s*c}else if("ZYX"===n.order){const h=s*d,f=s*u,b=a*d,y=a*u;e[0]=c*d,e[4]=b*l-f,e[8]=h*l+y,e[1]=c*u,e[5]=y*l+h,e[9]=f*l-b,e[2]=-l,e[6]=a*c,e[10]=s*c}else if("YZX"===n.order){const h=s*c,f=s*l,b=a*c,y=a*l;e[0]=c*d,e[4]=y-h*u,e[8]=b*u+f,e[1]=u,e[5]=s*d,e[9]=-a*d,e[2]=-l*d,e[6]=f*u+b,e[10]=h-y*u}else if("XZY"===n.order){const h=s*c,f=s*l,b=a*c,y=a*l;e[0]=c*d,e[4]=-u,e[8]=l*d,e[1]=h*u+y,e[5]=s*d,e[9]=f*u-b,e[2]=b*u-f,e[6]=a*d,e[10]=y*u+h}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(n){return this.compose(O1e,n,N1e)}lookAt(n,e,i){const r=this.elements;return _c.subVectors(n,e),0===_c.lengthSq()&&(_c.z=1),_c.normalize(),Mf.crossVectors(i,_c),0===Mf.lengthSq()&&(1===Math.abs(i.z)?_c.x+=1e-4:_c.z+=1e-4,_c.normalize(),Mf.crossVectors(i,_c)),Mf.normalize(),US.crossVectors(_c,Mf),r[0]=Mf.x,r[4]=US.x,r[8]=_c.x,r[1]=Mf.y,r[5]=US.y,r[9]=_c.y,r[2]=Mf.z,r[6]=US.z,r[10]=_c.z,this}multiply(n,e){return void 0!==e?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(n,e)):this.multiplyMatrices(this,n)}premultiply(n){return this.multiplyMatrices(n,this)}multiplyMatrices(n,e){const i=n.elements,r=e.elements,o=this.elements,s=i[0],a=i[4],c=i[8],l=i[12],d=i[1],u=i[5],h=i[9],f=i[13],b=i[2],y=i[6],C=i[10],x=i[14],w=i[3],S=i[7],M=i[11],P=i[15],R=r[0],W=r[4],se=r[8],ae=r[12],ce=r[1],ue=r[5],Me=r[9],ve=r[13],$=r[2],me=r[6],Y=r[10],Ae=r[14],Fe=r[3],Pe=r[7],nt=r[11],gt=r[15];return o[0]=s*R+a*ce+c*$+l*Fe,o[4]=s*W+a*ue+c*me+l*Pe,o[8]=s*se+a*Me+c*Y+l*nt,o[12]=s*ae+a*ve+c*Ae+l*gt,o[1]=d*R+u*ce+h*$+f*Fe,o[5]=d*W+u*ue+h*me+f*Pe,o[9]=d*se+u*Me+h*Y+f*nt,o[13]=d*ae+u*ve+h*Ae+f*gt,o[2]=b*R+y*ce+C*$+x*Fe,o[6]=b*W+y*ue+C*me+x*Pe,o[10]=b*se+y*Me+C*Y+x*nt,o[14]=b*ae+y*ve+C*Ae+x*gt,o[3]=w*R+S*ce+M*$+P*Fe,o[7]=w*W+S*ue+M*me+P*Pe,o[11]=w*se+S*Me+M*Y+P*nt,o[15]=w*ae+S*ve+M*Ae+P*gt,this}multiplyScalar(n){const e=this.elements;return e[0]*=n,e[4]*=n,e[8]*=n,e[12]*=n,e[1]*=n,e[5]*=n,e[9]*=n,e[13]*=n,e[2]*=n,e[6]*=n,e[10]*=n,e[14]*=n,e[3]*=n,e[7]*=n,e[11]*=n,e[15]*=n,this}determinant(){const n=this.elements,e=n[0],i=n[4],r=n[8],o=n[12],s=n[1],a=n[5],c=n[9],l=n[13],d=n[2],u=n[6],h=n[10],f=n[14];return n[3]*(+o*c*u-r*l*u-o*a*h+i*l*h+r*a*f-i*c*f)+n[7]*(+e*c*f-e*l*h+o*s*h-r*s*f+r*l*d-o*c*d)+n[11]*(+e*l*u-e*a*f-o*s*u+i*s*f+o*a*d-i*l*d)+n[15]*(-r*a*d-e*c*u+e*a*h+r*s*u-i*s*h+i*c*d)}transpose(){const n=this.elements;let e;return e=n[1],n[1]=n[4],n[4]=e,e=n[2],n[2]=n[8],n[8]=e,e=n[6],n[6]=n[9],n[9]=e,e=n[3],n[3]=n[12],n[12]=e,e=n[7],n[7]=n[13],n[13]=e,e=n[11],n[11]=n[14],n[14]=e,this}setPosition(n,e,i){const r=this.elements;return n.isVector3?(r[12]=n.x,r[13]=n.y,r[14]=n.z):(r[12]=n,r[13]=e,r[14]=i),this}invert(){const n=this.elements,e=n[0],i=n[1],r=n[2],o=n[3],s=n[4],a=n[5],c=n[6],l=n[7],d=n[8],u=n[9],h=n[10],f=n[11],b=n[12],y=n[13],C=n[14],x=n[15],w=u*C*l-y*h*l+y*c*f-a*C*f-u*c*x+a*h*x,S=b*h*l-d*C*l-b*c*f+s*C*f+d*c*x-s*h*x,M=d*y*l-b*u*l+b*a*f-s*y*f-d*a*x+s*u*x,P=b*u*c-d*y*c-b*a*h+s*y*h+d*a*C-s*u*C,R=e*w+i*S+r*M+o*P;if(0===R)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const W=1/R;return n[0]=w*W,n[1]=(y*h*o-u*C*o-y*r*f+i*C*f+u*r*x-i*h*x)*W,n[2]=(a*C*o-y*c*o+y*r*l-i*C*l-a*r*x+i*c*x)*W,n[3]=(u*c*o-a*h*o-u*r*l+i*h*l+a*r*f-i*c*f)*W,n[4]=S*W,n[5]=(d*C*o-b*h*o+b*r*f-e*C*f-d*r*x+e*h*x)*W,n[6]=(b*c*o-s*C*o-b*r*l+e*C*l+s*r*x-e*c*x)*W,n[7]=(s*h*o-d*c*o+d*r*l-e*h*l-s*r*f+e*c*f)*W,n[8]=M*W,n[9]=(b*u*o-d*y*o-b*i*f+e*y*f+d*i*x-e*u*x)*W,n[10]=(s*y*o-b*a*o+b*i*l-e*y*l-s*i*x+e*a*x)*W,n[11]=(d*a*o-s*u*o-d*i*l+e*u*l+s*i*f-e*a*f)*W,n[12]=P*W,n[13]=(d*y*r-b*u*r+b*i*h-e*y*h-d*i*C+e*u*C)*W,n[14]=(b*a*r-s*y*r-b*i*c+e*y*c+s*i*C-e*a*C)*W,n[15]=(s*u*r-d*a*r+d*i*c-e*u*c-s*i*h+e*a*h)*W,this}scale(n){const e=this.elements,i=n.x,r=n.y,o=n.z;return e[0]*=i,e[4]*=r,e[8]*=o,e[1]*=i,e[5]*=r,e[9]*=o,e[2]*=i,e[6]*=r,e[10]*=o,e[3]*=i,e[7]*=r,e[11]*=o,this}getMaxScaleOnAxis(){const n=this.elements;return Math.sqrt(Math.max(n[0]*n[0]+n[1]*n[1]+n[2]*n[2],n[4]*n[4]+n[5]*n[5]+n[6]*n[6],n[8]*n[8]+n[9]*n[9]+n[10]*n[10]))}makeTranslation(n,e,i){return this.set(1,0,0,n,0,1,0,e,0,0,1,i,0,0,0,1),this}makeRotationX(n){const e=Math.cos(n),i=Math.sin(n);return this.set(1,0,0,0,0,e,-i,0,0,i,e,0,0,0,0,1),this}makeRotationY(n){const e=Math.cos(n),i=Math.sin(n);return this.set(e,0,i,0,0,1,0,0,-i,0,e,0,0,0,0,1),this}makeRotationZ(n){const e=Math.cos(n),i=Math.sin(n);return this.set(e,-i,0,0,i,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(n,e){const i=Math.cos(e),r=Math.sin(e),o=1-i,s=n.x,a=n.y,c=n.z,l=o*s,d=o*a;return this.set(l*s+i,l*a-r*c,l*c+r*a,0,l*a+r*c,d*a+i,d*c-r*s,0,l*c-r*a,d*c+r*s,o*c*c+i,0,0,0,0,1),this}makeScale(n,e,i){return this.set(n,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1),this}makeShear(n,e,i){return this.set(1,e,i,0,n,1,i,0,n,e,1,0,0,0,0,1),this}compose(n,e,i){const r=this.elements,o=e._x,s=e._y,a=e._z,c=e._w,l=o+o,d=s+s,u=a+a,h=o*l,f=o*d,b=o*u,y=s*d,C=s*u,x=a*u,w=c*l,S=c*d,M=c*u,P=i.x,R=i.y,W=i.z;return r[0]=(1-(y+x))*P,r[1]=(f+M)*P,r[2]=(b-S)*P,r[3]=0,r[4]=(f-M)*R,r[5]=(1-(h+x))*R,r[6]=(C+w)*R,r[7]=0,r[8]=(b+S)*W,r[9]=(C-w)*W,r[10]=(1-(h+y))*W,r[11]=0,r[12]=n.x,r[13]=n.y,r[14]=n.z,r[15]=1,this}decompose(n,e,i){const r=this.elements;let o=Ab.set(r[0],r[1],r[2]).length();const s=Ab.set(r[4],r[5],r[6]).length(),a=Ab.set(r[8],r[9],r[10]).length();this.determinant()<0&&(o=-o),n.x=r[12],n.y=r[13],n.z=r[14],yl.copy(this);const l=1/o,d=1/s,u=1/a;return yl.elements[0]*=l,yl.elements[1]*=l,yl.elements[2]*=l,yl.elements[4]*=d,yl.elements[5]*=d,yl.elements[6]*=d,yl.elements[8]*=u,yl.elements[9]*=u,yl.elements[10]*=u,e.setFromRotationMatrix(yl),i.x=o,i.y=s,i.z=a,this}makePerspective(n,e,i,r,o,s){void 0===s&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const a=this.elements,l=2*o/(i-r),d=(e+n)/(e-n),u=(i+r)/(i-r),h=-(s+o)/(s-o),f=-2*s*o/(s-o);return a[0]=2*o/(e-n),a[4]=0,a[8]=d,a[12]=0,a[1]=0,a[5]=l,a[9]=u,a[13]=0,a[2]=0,a[6]=0,a[10]=h,a[14]=f,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(n,e,i,r,o,s){const a=this.elements,c=1/(e-n),l=1/(i-r),d=1/(s-o),u=(e+n)*c,h=(i+r)*l,f=(s+o)*d;return a[0]=2*c,a[4]=0,a[8]=0,a[12]=-u,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-h,a[2]=0,a[6]=0,a[10]=-2*d,a[14]=-f,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(n){const e=this.elements,i=n.elements;for(let r=0;r<16;r++)if(e[r]!==i[r])return!1;return!0}fromArray(n,e=0){for(let i=0;i<16;i++)this.elements[i]=n[i+e];return this}toArray(n=[],e=0){const i=this.elements;return n[e]=i[0],n[e+1]=i[1],n[e+2]=i[2],n[e+3]=i[3],n[e+4]=i[4],n[e+5]=i[5],n[e+6]=i[6],n[e+7]=i[7],n[e+8]=i[8],n[e+9]=i[9],n[e+10]=i[10],n[e+11]=i[11],n[e+12]=i[12],n[e+13]=i[13],n[e+14]=i[14],n[e+15]=i[15],n}}Tn.prototype.isMatrix4=!0;const Ab=new j,yl=new Tn,O1e=new j(0,0,0),N1e=new j(1,1,1),Mf=new j,US=new j,_c=new j,oX=new Tn,sX=new Ms;class Ep{constructor(n=0,e=0,i=0,r=Ep.DefaultOrder){this._x=n,this._y=e,this._z=i,this._order=r}get x(){return this._x}set x(n){this._x=n,this._onChangeCallback()}get y(){return this._y}set y(n){this._y=n,this._onChangeCallback()}get z(){return this._z}set z(n){this._z=n,this._onChangeCallback()}get order(){return this._order}set order(n){this._order=n,this._onChangeCallback()}set(n,e,i,r){return this._x=n,this._y=e,this._z=i,this._order=r||this._order,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(n){return this._x=n._x,this._y=n._y,this._z=n._z,this._order=n._order,this._onChangeCallback(),this}setFromRotationMatrix(n,e,i){const r=Yn.clamp,o=n.elements,s=o[0],a=o[4],c=o[8],l=o[1],d=o[5],u=o[9],h=o[2],f=o[6],b=o[10];switch(e=e||this._order){case"XYZ":this._y=Math.asin(r(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-u,b),this._z=Math.atan2(-a,s)):(this._x=Math.atan2(f,d),this._z=0);break;case"YXZ":this._x=Math.asin(-r(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(c,b),this._z=Math.atan2(l,d)):(this._y=Math.atan2(-h,s),this._z=0);break;case"ZXY":this._x=Math.asin(r(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-h,b),this._z=Math.atan2(-a,d)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-r(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(f,b),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-a,d));break;case"YZX":this._z=Math.asin(r(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,d),this._y=Math.atan2(-h,s)):(this._x=0,this._y=Math.atan2(c,b));break;case"XZY":this._z=Math.asin(-r(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(f,d),this._y=Math.atan2(c,s)):(this._x=Math.atan2(-u,b),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,!1!==i&&this._onChangeCallback(),this}setFromQuaternion(n,e,i){return oX.makeRotationFromQuaternion(n),this.setFromRotationMatrix(oX,e,i)}setFromVector3(n,e){return this.set(n.x,n.y,n.z,e||this._order)}reorder(n){return sX.setFromEuler(this),this.setFromQuaternion(sX,n)}equals(n){return n._x===this._x&&n._y===this._y&&n._z===this._z&&n._order===this._order}fromArray(n){return this._x=n[0],this._y=n[1],this._z=n[2],void 0!==n[3]&&(this._order=n[3]),this._onChangeCallback(),this}toArray(n=[],e=0){return n[e]=this._x,n[e+1]=this._y,n[e+2]=this._z,n[e+3]=this._order,n}toVector3(n){return n?n.set(this._x,this._y,this._z):new j(this._x,this._y,this._z)}_onChange(n){return this._onChangeCallback=n,this}_onChangeCallback(){}}Ep.prototype.isEuler=!0,Ep.DefaultOrder="XYZ",Ep.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class dO{constructor(){this.mask=1}set(n){this.mask=1<1){for(let n=0;n1){for(let e=0;e0){i.children=[];for(let s=0;s0){i.animations=[];for(let s=0;s0&&(e.geometries=s),a.length>0&&(e.materials=a),c.length>0&&(e.textures=c),l.length>0&&(e.images=l),d.length>0&&(e.shapes=d),u.length>0&&(e.skeletons=u),h.length>0&&(e.animations=h)}return e.object=i,e;function o(s){const a=[];for(const c in s){const l=s[c];delete l.metadata,a.push(l)}return a}},clone:function(t){return(new this.constructor).copy(this,t)},copy:function(t,n=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===n)for(let e=0;e1?void 0:e.copy(i).multiplyScalar(o).add(n.start)}intersectsLine(n){const e=this.distanceToPoint(n.start),i=this.distanceToPoint(n.end);return e<0&&i>0||i<0&&e>0}intersectsBox(n){return n.intersectsPlane(this)}intersectsSphere(n){return n.intersectsPlane(this)}coplanarPoint(n){return void 0===n&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),n=new j),n.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(n,e){const i=e||G1e.getNormalMatrix(n),r=this.coplanarPoint(uO).applyMatrix4(n),o=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(o),this}translate(n){return this.constant-=n.dot(this.normal),this}equals(n){return n.normal.equals(this.normal)&&n.constant===this.constant}clone(){return(new this.constructor).copy(this)}}wl.prototype.isPlane=!0;const xl=new j,zu=new j,hO=new j,Gu=new j,bb=new j,_b=new j,hX=new j,fO=new j,mO=new j,pO=new j;class Ho{constructor(n=new j,e=new j,i=new j){this.a=n,this.b=e,this.c=i}static getNormal(n,e,i,r){void 0===r&&(console.warn("THREE.Triangle: .getNormal() target is now required"),r=new j),r.subVectors(i,e),xl.subVectors(n,e),r.cross(xl);const o=r.lengthSq();return o>0?r.multiplyScalar(1/Math.sqrt(o)):r.set(0,0,0)}static getBarycoord(n,e,i,r,o){xl.subVectors(r,e),zu.subVectors(i,e),hO.subVectors(n,e);const s=xl.dot(xl),a=xl.dot(zu),c=xl.dot(hO),l=zu.dot(zu),d=zu.dot(hO),u=s*l-a*a;if(void 0===o&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),o=new j),0===u)return o.set(-2,-1,-1);const h=1/u,f=(l*c-a*d)*h,b=(s*d-a*c)*h;return o.set(1-f-b,b,f)}static containsPoint(n,e,i,r){return this.getBarycoord(n,e,i,r,Gu),Gu.x>=0&&Gu.y>=0&&Gu.x+Gu.y<=1}static getUV(n,e,i,r,o,s,a,c){return this.getBarycoord(n,e,i,r,Gu),c.set(0,0),c.addScaledVector(o,Gu.x),c.addScaledVector(s,Gu.y),c.addScaledVector(a,Gu.z),c}static isFrontFacing(n,e,i,r){return xl.subVectors(i,e),zu.subVectors(n,e),xl.cross(zu).dot(r)<0}set(n,e,i){return this.a.copy(n),this.b.copy(e),this.c.copy(i),this}setFromPointsAndIndices(n,e,i,r){return this.a.copy(n[e]),this.b.copy(n[i]),this.c.copy(n[r]),this}clone(){return(new this.constructor).copy(this)}copy(n){return this.a.copy(n.a),this.b.copy(n.b),this.c.copy(n.c),this}getArea(){return xl.subVectors(this.c,this.b),zu.subVectors(this.a,this.b),.5*xl.cross(zu).length()}getMidpoint(n){return void 0===n&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),n=new j),n.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(n){return Ho.getNormal(this.a,this.b,this.c,n)}getPlane(n){return void 0===n&&(console.warn("THREE.Triangle: .getPlane() target is now required"),n=new wl),n.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(n,e){return Ho.getBarycoord(n,this.a,this.b,this.c,e)}getUV(n,e,i,r,o){return Ho.getUV(n,this.a,this.b,this.c,e,i,r,o)}containsPoint(n){return Ho.containsPoint(n,this.a,this.b,this.c)}isFrontFacing(n){return Ho.isFrontFacing(this.a,this.b,this.c,n)}intersectsBox(n){return n.intersectsTriangle(this)}closestPointToPoint(n,e){void 0===e&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),e=new j);const i=this.a,r=this.b,o=this.c;let s,a;bb.subVectors(r,i),_b.subVectors(o,i),fO.subVectors(n,i);const c=bb.dot(fO),l=_b.dot(fO);if(c<=0&&l<=0)return e.copy(i);mO.subVectors(n,r);const d=bb.dot(mO),u=_b.dot(mO);if(d>=0&&u<=d)return e.copy(r);const h=c*u-d*l;if(h<=0&&c>=0&&d<=0)return s=c/(c-d),e.copy(i).addScaledVector(bb,s);pO.subVectors(n,o);const f=bb.dot(pO),b=_b.dot(pO);if(b>=0&&f<=b)return e.copy(o);const y=f*l-c*b;if(y<=0&&l>=0&&b<=0)return a=l/(l-b),e.copy(i).addScaledVector(_b,a);const C=d*b-f*u;if(C<=0&&u-d>=0&&f-b>=0)return hX.subVectors(o,r),a=(u-d)/(u-d+(f-b)),e.copy(r).addScaledVector(hX,a);const x=1/(C+y+h);return s=y*x,a=h*x,e.copy(i).addScaledVector(bb,s).addScaledVector(_b,a)}equals(n){return n.a.equals(this.a)&&n.b.equals(this.b)&&n.c.equals(this.c)}}let W1e=0;function eo(){Object.defineProperty(this,"id",{value:W1e++}),this.uuid=Yn.generateUUID(),this.name="",this.type="Material",this.fog=!0,this.blending=sb,this.side=ob,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=UP,this.blendDst=HP,this.blendEquation=mp,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=xS,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=nX,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=DS,this.stencilZFail=DS,this.stencilZPass=DS,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaTest=0,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0}eo.prototype=Object.assign(Object.create(Nu.prototype),{constructor:eo,isMaterial:!0,onBeforeCompile:function(){},customProgramCacheKey:function(){return this.onBeforeCompile.toString()},setValues:function(t){if(void 0!==t)for(const n in t){const e=t[n];if(void 0===e){console.warn("THREE.Material: '"+n+"' parameter is undefined.");continue}if("shading"===n){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=e===DP;continue}const i=this[n];void 0!==i?i&&i.isColor?i.set(e):i&&i.isVector3&&e&&e.isVector3?i.copy(e):this[n]=e:console.warn("THREE."+this.type+": '"+n+"' is not a property of this material.")}},toJSON:function(t){const n=void 0===t||"string"==typeof t;n&&(t={textures:{},images:{}});const e={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function i(r){const o=[];for(const s in r){const a=r[s];delete a.metadata,o.push(a)}return o}if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),this.color&&this.color.isColor&&(e.color=this.color.getHex()),void 0!==this.roughness&&(e.roughness=this.roughness),void 0!==this.metalness&&(e.metalness=this.metalness),this.sheen&&this.sheen.isColor&&(e.sheen=this.sheen.getHex()),this.emissive&&this.emissive.isColor&&(e.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(e.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(e.specular=this.specular.getHex()),void 0!==this.shininess&&(e.shininess=this.shininess),void 0!==this.clearcoat&&(e.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(e.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(e.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(e.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(e.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,e.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(e.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(e.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(e.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(e.lightMap=this.lightMap.toJSON(t).uuid,e.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(e.aoMap=this.aoMap.toJSON(t).uuid,e.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(e.bumpMap=this.bumpMap.toJSON(t).uuid,e.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(e.normalMap=this.normalMap.toJSON(t).uuid,e.normalMapType=this.normalMapType,e.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(e.displacementMap=this.displacementMap.toJSON(t).uuid,e.displacementScale=this.displacementScale,e.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(e.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(e.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(e.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(e.specularMap=this.specularMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(e.envMap=this.envMap.toJSON(t).uuid,e.reflectivity=this.reflectivity,e.refractionRatio=this.refractionRatio,void 0!==this.combine&&(e.combine=this.combine),void 0!==this.envMapIntensity&&(e.envMapIntensity=this.envMapIntensity)),this.gradientMap&&this.gradientMap.isTexture&&(e.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.size&&(e.size=this.size),void 0!==this.sizeAttenuation&&(e.sizeAttenuation=this.sizeAttenuation),this.blending!==sb&&(e.blending=this.blending),this.side!==ob&&(e.side=this.side),this.vertexColors&&(e.vertexColors=!0),this.opacity<1&&(e.opacity=this.opacity),!0===this.transparent&&(e.transparent=this.transparent),e.depthFunc=this.depthFunc,e.depthTest=this.depthTest,e.depthWrite=this.depthWrite,e.stencilWrite=this.stencilWrite,e.stencilWriteMask=this.stencilWriteMask,e.stencilFunc=this.stencilFunc,e.stencilRef=this.stencilRef,e.stencilFuncMask=this.stencilFuncMask,e.stencilFail=this.stencilFail,e.stencilZFail=this.stencilZFail,e.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(e.rotation=this.rotation),!0===this.polygonOffset&&(e.polygonOffset=!0),0!==this.polygonOffsetFactor&&(e.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(e.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(e.linewidth=this.linewidth),void 0!==this.dashSize&&(e.dashSize=this.dashSize),void 0!==this.gapSize&&(e.gapSize=this.gapSize),void 0!==this.scale&&(e.scale=this.scale),!0===this.dithering&&(e.dithering=!0),this.alphaTest>0&&(e.alphaTest=this.alphaTest),!0===this.premultipliedAlpha&&(e.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(e.wireframe=this.wireframe),this.wireframeLinewidth>1&&(e.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(e.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(e.wireframeLinejoin=this.wireframeLinejoin),!0===this.morphTargets&&(e.morphTargets=!0),!0===this.morphNormals&&(e.morphNormals=!0),!0===this.skinning&&(e.skinning=!0),!0===this.flatShading&&(e.flatShading=this.flatShading),!1===this.visible&&(e.visible=!1),!1===this.toneMapped&&(e.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(e.userData=this.userData),n){const r=i(t.textures),o=i(t.images);r.length>0&&(e.textures=r),o.length>0&&(e.images=o)}return e},clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const n=t.clippingPlanes;let e=null;if(null!==n){const i=n.length;e=new Array(i);for(let r=0;r!==i;++r)e[r]=n[r].clone()}return this.clippingPlanes=e,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(eo.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}});const fX={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},Cl={h:0,s:0,l:0},VS={h:0,s:0,l:0};function AO(t,n,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?t+6*(n-t)*e:e<.5?n:e<2/3?t+6*(n-t)*(2/3-e):t}function gO(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function bO(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}let Qt=(()=>{class t{constructor(e,i,r){return void 0===i&&void 0===r?this.set(e):this.setRGB(e,i,r)}set(e){return e&&e.isColor?this.copy(e):"number"==typeof e?this.setHex(e):"string"==typeof e&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,this}setRGB(e,i,r){return this.r=e,this.g=i,this.b=r,this}setHSL(e,i,r){if(e=Yn.euclideanModulo(e,1),i=Yn.clamp(i,0,1),r=Yn.clamp(r,0,1),0===i)this.r=this.g=this.b=r;else{const o=r<=.5?r*(1+i):r+i-r*i,s=2*r-o;this.r=AO(s,o,e+1/3),this.g=AO(s,o,e),this.b=AO(s,o,e-1/3)}return this}setStyle(e){function i(o){void 0!==o&&parseFloat(o)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(e)){let o;const a=r[2];switch(r[1]){case"rgb":case"rgba":if(o=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(255,parseInt(o[1],10))/255,this.g=Math.min(255,parseInt(o[2],10))/255,this.b=Math.min(255,parseInt(o[3],10))/255,i(o[4]),this;if(o=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(100,parseInt(o[1],10))/100,this.g=Math.min(100,parseInt(o[2],10))/100,this.b=Math.min(100,parseInt(o[3],10))/100,i(o[4]),this;break;case"hsl":case"hsla":if(o=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a)){const c=parseFloat(o[1])/360,l=parseInt(o[2],10)/100,d=parseInt(o[3],10)/100;return i(o[4]),this.setHSL(c,l,d)}}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const o=r[1],s=o.length;if(3===s)return this.r=parseInt(o.charAt(0)+o.charAt(0),16)/255,this.g=parseInt(o.charAt(1)+o.charAt(1),16)/255,this.b=parseInt(o.charAt(2)+o.charAt(2),16)/255,this;if(6===s)return this.r=parseInt(o.charAt(0)+o.charAt(1),16)/255,this.g=parseInt(o.charAt(2)+o.charAt(3),16)/255,this.b=parseInt(o.charAt(4)+o.charAt(5),16)/255,this}return e&&e.length>0?this.setColorName(e):this}setColorName(e){const i=fX[e];return void 0!==i?this.setHex(i):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copyGammaToLinear(e,i=2){return this.r=Math.pow(e.r,i),this.g=Math.pow(e.g,i),this.b=Math.pow(e.b,i),this}copyLinearToGamma(e,i=2){const r=i>0?1/i:1;return this.r=Math.pow(e.r,r),this.g=Math.pow(e.g,r),this.b=Math.pow(e.b,r),this}convertGammaToLinear(e){return this.copyGammaToLinear(this,e),this}convertLinearToGamma(e){return this.copyLinearToGamma(this,e),this}copySRGBToLinear(e){return this.r=gO(e.r),this.g=gO(e.g),this.b=gO(e.b),this}copyLinearToSRGB(e){return this.r=bO(e.r),this.g=bO(e.g),this.b=bO(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(e){void 0===e&&(console.warn("THREE.Color: .getHSL() target is now required"),e={h:0,s:0,l:0});const i=this.r,r=this.g,o=this.b,s=Math.max(i,r,o),a=Math.min(i,r,o);let c,l;const d=(a+s)/2;if(a===s)c=0,l=0;else{const u=s-a;switch(l=d<=.5?u/(s+a):u/(2-s-a),s){case i:c=(r-o)/u+(rn&&(n=t[e]);return n}Object.defineProperty(kn.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(kn.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setUsage:function(t){return this.usage=t,this},copy:function(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this},copyAt:function(t,n,e){t*=this.itemSize,e*=n.itemSize;for(let i=0,r=this.itemSize;i65535?Sp:Mp)(t,1):t,this},getAttribute:function(t){return this.attributes[t]},setAttribute:function(t,n){return this.attributes[t]=n,this},deleteAttribute:function(t){return delete this.attributes[t],this},hasAttribute:function(t){return void 0!==this.attributes[t]},addGroup:function(t,n,e=0){this.groups.push({start:t,count:n,materialIndex:e})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,n){this.drawRange.start=t,this.drawRange.count=n},applyMatrix4:function(t){const n=this.attributes.position;void 0!==n&&(n.applyMatrix4(t),n.needsUpdate=!0);const e=this.attributes.normal;if(void 0!==e){const r=(new fs).getNormalMatrix(t);e.applyNormalMatrix(r),e.needsUpdate=!0}const i=this.attributes.tangent;return void 0!==i&&(i.transformDirection(t),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(t){return Ed.makeRotationX(t),this.applyMatrix4(Ed),this},rotateY:function(t){return Ed.makeRotationY(t),this.applyMatrix4(Ed),this},rotateZ:function(t){return Ed.makeRotationZ(t),this.applyMatrix4(Ed),this},translate:function(t,n,e){return Ed.makeTranslation(t,n,e),this.applyMatrix4(Ed),this},scale:function(t,n,e){return Ed.makeScale(t,n,e),this.applyMatrix4(Ed),this},lookAt:function(t){return _O.lookAt(t),_O.updateMatrix(),this.applyMatrix4(_O.matrix),this},center:function(){return this.computeBoundingBox(),this.boundingBox.getCenter(vb).negate(),this.translate(vb.x,vb.y,vb.z),this},setFromPoints:function(t){const n=[];for(let e=0,i=t.length;e0&&(t.userData=this.userData),void 0!==this.parameters){const a=this.parameters;for(const c in a)void 0!==a[c]&&(t[c]=a[c]);return t}t.data={attributes:{}};const n=this.index;null!==n&&(t.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const e=this.attributes;for(const a in e){const c=e[a],l=c.toJSON(t.data);""!==c.name&&(l.name=c.name),t.data.attributes[a]=l}const i={};let r=!1;for(const a in this.morphAttributes){const c=this.morphAttributes[a],l=[];for(let d=0,u=c.length;d0&&(i[a]=l,r=!0)}r&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(t.data.groups=JSON.parse(JSON.stringify(o)));const s=this.boundingSphere;return null!==s&&(t.data.boundingSphere={center:s.center.toArray(),radius:s.radius}),t},clone:function(){return(new En).copy(this)},copy:function(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const n={};this.name=t.name;const e=t.index;null!==e&&this.setIndex(e.clone(n));const i=t.attributes;for(const c in i)this.setAttribute(c,i[c].clone(n));const r=t.morphAttributes;for(const c in r){const l=[],d=r[c];for(let u=0,h=d.length;ue.far?null:{distance:l,point:XS.clone(),object:t}}(t,n,e,i,Sf,kf,Tf,CO);if(f){a&&($S.fromBufferAttribute(a,l),jS.fromBufferAttribute(a,d),KS.fromBufferAttribute(a,u),f.uv=Ho.getUV(CO,Sf,kf,Tf,$S,jS,KS,new ut)),c&&($S.fromBufferAttribute(c,l),jS.fromBufferAttribute(c,d),KS.fromBufferAttribute(c,u),f.uv2=Ho.getUV(CO,Sf,kf,Tf,$S,jS,KS,new ut));const b={a:l,b:d,c:u,normal:new j,materialIndex:0};Ho.getNormal(Sf,kf,Tf,b.normal),f.face=b}return f}Ti.prototype=Object.assign(Object.create(Vn.prototype),{constructor:Ti,isMesh:!0,copy:function(t){return Vn.prototype.copy.call(this,t),void 0!==t.morphTargetInfluences&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),void 0!==t.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this.material=t.material,this.geometry=t.geometry,this},updateMorphTargets:function(){const t=this.geometry;if(t.isBufferGeometry){const n=t.morphAttributes,e=Object.keys(n);if(e.length>0){const i=n[e[0]];if(void 0!==i){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,o=i.length;r0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}},raycast:function(t,n){const e=this.geometry,i=this.material,r=this.matrixWorld;if(void 0===i||(null===e.boundingSphere&&e.computeBoundingSphere(),vO.copy(e.boundingSphere),vO.applyMatrix4(r),!1===t.ray.intersectsSphere(vO))||(pX.copy(r).invert(),yb.copy(t.ray).applyMatrix4(pX),null!==e.boundingBox&&!1===yb.intersectsBox(e.boundingBox)))return;let o;if(e.isBufferGeometry){const s=e.index,a=e.attributes.position,c=e.morphAttributes.position,l=e.morphTargetsRelative,d=e.attributes.uv,u=e.attributes.uv2,h=e.groups,f=e.drawRange;if(null!==s)if(Array.isArray(i))for(let b=0,y=h.length;b0?1:-1,d.push(Pe.x,Pe.y,Pe.z),u.push(Rt/W),u.push(1-nt/se),Ae+=1}for(let nt=0;nt0&&(n.defines=this.defines),n.vertexShader=this.vertexShader,n.fragmentShader=this.fragmentShader;const e={};for(const i in this.extensions)!0===this.extensions[i]&&(e[i]=!0);return Object.keys(e).length>0&&(n.extensions=e),n},Ff.prototype=Object.assign(Object.create(Vn.prototype),{constructor:Ff,isCamera:!0,copy:function(t,n){return Vn.prototype.copy.call(this,t,n),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this},getWorldDirection:function(t){void 0===t&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),t=new j),this.updateWorldMatrix(!0,!1);const n=this.matrixWorld.elements;return t.set(-n[8],-n[9],-n[10]).normalize()},updateMatrixWorld:function(t){Vn.prototype.updateMatrixWorld.call(this,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()},updateWorldMatrix:function(t,n){Vn.prototype.updateWorldMatrix.call(this,t,n),this.matrixWorldInverse.copy(this.matrixWorld).invert()},clone:function(){return(new this.constructor).copy(this)}}),So.prototype=Object.assign(Object.create(Ff.prototype),{constructor:So,isPerspectiveCamera:!0,copy:function(t,n){return Ff.prototype.copy.call(this,t,n),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this},setFocalLength:function(t){const n=.5*this.getFilmHeight()/t;this.fov=2*Yn.RAD2DEG*Math.atan(n),this.updateProjectionMatrix()},getFocalLength:function(){const t=Math.tan(.5*Yn.DEG2RAD*this.fov);return.5*this.getFilmHeight()/t},getEffectiveFOV:function(){return 2*Yn.RAD2DEG*Math.atan(Math.tan(.5*Yn.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(t,n,e,i,r,o){this.aspect=t/n,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=n,this.view.offsetX=e,this.view.offsetY=i,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){const t=this.near;let n=t*Math.tan(.5*Yn.DEG2RAD*this.fov)/this.zoom,e=2*n,i=this.aspect*e,r=-.5*i;const o=this.view;if(null!==this.view&&this.view.enabled){const a=o.fullWidth,c=o.fullHeight;r+=o.offsetX*i/a,n-=o.offsetY*e/c,i*=o.width/a,e*=o.height/c}const s=this.filmOffset;0!==s&&(r+=t*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,n,n-e,t,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()},toJSON:function(t){const n=Vn.prototype.toJSON.call(this,t);return n.object.fov=this.fov,n.object.zoom=this.zoom,n.object.near=this.near,n.object.far=this.far,n.object.focus=this.focus,n.object.aspect=this.aspect,null!==this.view&&(n.object.view=Object.assign({},this.view)),n.object.filmGauge=this.filmGauge,n.object.filmOffset=this.filmOffset,n}});class ZS extends Vn{constructor(n,e,i){if(super(),this.type="CubeCamera",!0!==i.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=i;const r=new So(90,1,n,e);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new j(1,0,0)),this.add(r);const o=new So(90,1,n,e);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new j(-1,0,0)),this.add(o);const s=new So(90,1,n,e);s.layers=this.layers,s.up.set(0,0,1),s.lookAt(new j(0,1,0)),this.add(s);const a=new So(90,1,n,e);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new j(0,-1,0)),this.add(a);const c=new So(90,1,n,e);c.layers=this.layers,c.up.set(0,-1,0),c.lookAt(new j(0,0,1)),this.add(c);const l=new So(90,1,n,e);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new j(0,0,-1)),this.add(l)}update(n,e){null===this.parent&&this.updateMatrixWorld();const i=this.renderTarget,[r,o,s,a,c,l]=this.children,d=n.xr.enabled,u=n.getRenderTarget();n.xr.enabled=!1;const h=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,n.setRenderTarget(i,0),n.render(e,r),n.setRenderTarget(i,1),n.render(e,o),n.setRenderTarget(i,2),n.render(e,s),n.setRenderTarget(i,3),n.render(e,a),n.setRenderTarget(i,4),n.render(e,c),i.texture.generateMipmaps=h,n.setRenderTarget(i,5),n.render(e,l),n.setRenderTarget(u),n.xr.enabled=d}}class Eb extends Jo{constructor(n,e,i,r,o,s,a,c,l,d){super(n=void 0!==n?n:[],e=void 0!==e?e:ow,i,r,o,s,a=void 0!==a?a:wf,c,l,d),this._needsFlipEnvMap=!0,this.flipY=!1}get images(){return this.image}set images(n){this.image=n}}Eb.prototype.isCubeTexture=!0;class JS extends vl{constructor(n,e,i){Number.isInteger(e)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),e=i),super(n,n,e),this.texture=new Eb(void 0,(e=e||{}).mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:Mo,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(n,e){this.texture.type=e.type,this.texture.format=va,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const i_uniforms={tEquirect:{value:null}},i_vertexShader="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",i_fragmentShader="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",r=new El(5,5,5),o=new Vs({name:"CubemapFromEquirect",uniforms:wb(i_uniforms),vertexShader:i_vertexShader,fragmentShader:i_fragmentShader,side:Uo,blending:Pu});o.uniforms.tEquirect.value=e;const s=new Ti(r,o),a=e.minFilter;return e.minFilter===cb&&(e.minFilter=Mo),new ZS(1,10,this).update(n,s),e.minFilter=a,s.geometry.dispose(),s.material.dispose(),this}clear(n,e,i,r){const o=n.getRenderTarget();for(let s=0;s<6;s++)n.setRenderTarget(this,s),n.clear(e,i,r);n.setRenderTarget(o)}}JS.prototype.isWebGLCubeRenderTarget=!0;class Mb extends Jo{constructor(n,e,i,r,o,s,a,c,l,d,u,h){super(null,s,a,c,l,d,r,o,u,h),this.image={data:n||null,width:e||1,height:i||1},this.magFilter=void 0!==l?l:hs,this.minFilter=void 0!==d?d:hs,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}}Mb.prototype.isDataTexture=!0;const Sb=new xd,ek=new j;class Tw{constructor(n=new wl,e=new wl,i=new wl,r=new wl,o=new wl,s=new wl){this.planes=[n,e,i,r,o,s]}set(n,e,i,r,o,s){const a=this.planes;return a[0].copy(n),a[1].copy(e),a[2].copy(i),a[3].copy(r),a[4].copy(o),a[5].copy(s),this}copy(n){const e=this.planes;for(let i=0;i<6;i++)e[i].copy(n.planes[i]);return this}setFromProjectionMatrix(n){const e=this.planes,i=n.elements,r=i[0],o=i[1],s=i[2],a=i[3],c=i[4],l=i[5],d=i[6],u=i[7],h=i[8],f=i[9],b=i[10],y=i[11],C=i[12],x=i[13],w=i[14],S=i[15];return e[0].setComponents(a-r,u-c,y-h,S-C).normalize(),e[1].setComponents(a+r,u+c,y+h,S+C).normalize(),e[2].setComponents(a+o,u+l,y+f,S+x).normalize(),e[3].setComponents(a-o,u-l,y-f,S-x).normalize(),e[4].setComponents(a-s,u-d,y-b,S-w).normalize(),e[5].setComponents(a+s,u+d,y+b,S+w).normalize(),this}intersectsObject(n){const e=n.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),Sb.copy(e.boundingSphere).applyMatrix4(n.matrixWorld),this.intersectsSphere(Sb)}intersectsSprite(n){return Sb.center.set(0,0,0),Sb.radius=.7071067811865476,Sb.applyMatrix4(n.matrixWorld),this.intersectsSphere(Sb)}intersectsSphere(n){const e=this.planes,i=n.center,r=-n.radius;for(let o=0;o<6;o++)if(e[o].distanceToPoint(i)0?n.max.x:n.min.x,ek.y=r.normal.y>0?n.max.y:n.min.y,ek.z=r.normal.z>0?n.max.z:n.min.z,r.distanceToPoint(ek)<0)return!1}return!0}containsPoint(n){const e=this.planes;for(let i=0;i<6;i++)if(e[i].distanceToPoint(n)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function AX(){let t=null,n=!1,e=null,i=null;function r(o,s){e(o,s),i=t.requestAnimationFrame(r)}return{start:function(){!0!==n&&null!==e&&(i=t.requestAnimationFrame(r),n=!0)},stop:function(){t.cancelAnimationFrame(i),n=!1},setAnimationLoop:function(o){e=o},setContext:function(o){t=o}}}function q1e(t,n){const e=n.isWebGL2,i=new WeakMap;return{get:function s(l){return l.isInterleavedBufferAttribute&&(l=l.data),i.get(l)},remove:function a(l){l.isInterleavedBufferAttribute&&(l=l.data);const d=i.get(l);d&&(t.deleteBuffer(d.buffer),i.delete(l))},update:function c(l,d){if(l.isGLBufferAttribute){const h=i.get(l);return void((!h||h.version 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\n\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie(float roughness, float NoH) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\treturn (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);\n}\nfloat V_Neubelt(float NoV, float NoL) {\n\treturn saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));\n}\nvec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor.xyz *= color.xyz;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\n\t\tvec2 f = fract( uv );\n\t\tuv += 0.5 - f;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x += texelSize;\n\t\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.y += texelSize;\n\t\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x -= texelSize;\n\t\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tvec3 tm = mix( tl, tr, f.x );\n\t\tvec3 bm = mix( bl, br, f.x );\n\t\treturn mix( tm, bm, f.y );\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn 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 );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tfogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheen;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat specularRoughness;\n\tvec3 specularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearcoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = ccDotNL * directLight.color;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tccIrradiance *= PI;\n\t\t#endif\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\n\t\t\tmaterial.specularRoughness,\n\t\t\tdirectLight.direction,\n\t\t\tgeometry,\n\t\t\tmaterial.sheenColor\n\t\t);\n\t#else\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\n\t#endif\n\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t\tfloat ccDotNL = ccDotNV;\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\tfloat clearcoatInv = 1.0 - clearcoatDHR;\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\t#ifdef CLEARCOAT\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifndef USE_MORPHNORMALS\n\t\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\t\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmissionmap_fragment:"#ifdef USE_TRANSMISSIONMAP\n\ttotalTransmission *= texture2D( transmissionMap, vUv ).r;\n#endif",transmissionmap_pars_fragment:"#ifdef USE_TRANSMISSIONMAP\n\tuniform sampler2D transmissionMap;\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",cube_frag:"#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_ENVMAP\n\t#include \n\t#include \n\t#include \n\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n\t#define TRANSMISSION\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef TRANSMISSION\n\tuniform float transmission;\n#endif\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#ifdef TRANSMISSION\n\t\tfloat totalTransmission = transmission;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#ifdef TRANSMISSION\n\t\tdiffuseColor.a *= mix( saturate( 1. - totalTransmission + linearToRelativeLuminance( reflectedLight.directSpecular + reflectedLight.indirectSpecular ) ), 1.0, metalness );\n\t#endif\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}"},Xt={common:{diffuse:{value:new Qt(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new fs},uv2Transform:{value:new fs},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new ut(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Qt(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{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 Qt(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},uvTransform:{value:new fs}},sprite:{diffuse:{value:new Qt(15658734)},opacity:{value:1},center:{value:new ut(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},uvTransform:{value:new fs}}},Ml={basic:{uniforms:Js([Xt.common,Xt.specularmap,Xt.envmap,Xt.aomap,Xt.lightmap,Xt.fog]),vertexShader:Li.meshbasic_vert,fragmentShader:Li.meshbasic_frag},lambert:{uniforms:Js([Xt.common,Xt.specularmap,Xt.envmap,Xt.aomap,Xt.lightmap,Xt.emissivemap,Xt.fog,Xt.lights,{emissive:{value:new Qt(0)}}]),vertexShader:Li.meshlambert_vert,fragmentShader:Li.meshlambert_frag},phong:{uniforms:Js([Xt.common,Xt.specularmap,Xt.envmap,Xt.aomap,Xt.lightmap,Xt.emissivemap,Xt.bumpmap,Xt.normalmap,Xt.displacementmap,Xt.fog,Xt.lights,{emissive:{value:new Qt(0)},specular:{value:new Qt(1118481)},shininess:{value:30}}]),vertexShader:Li.meshphong_vert,fragmentShader:Li.meshphong_frag},standard:{uniforms:Js([Xt.common,Xt.envmap,Xt.aomap,Xt.lightmap,Xt.emissivemap,Xt.bumpmap,Xt.normalmap,Xt.displacementmap,Xt.roughnessmap,Xt.metalnessmap,Xt.fog,Xt.lights,{emissive:{value:new Qt(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Li.meshphysical_vert,fragmentShader:Li.meshphysical_frag},toon:{uniforms:Js([Xt.common,Xt.aomap,Xt.lightmap,Xt.emissivemap,Xt.bumpmap,Xt.normalmap,Xt.displacementmap,Xt.gradientmap,Xt.fog,Xt.lights,{emissive:{value:new Qt(0)}}]),vertexShader:Li.meshtoon_vert,fragmentShader:Li.meshtoon_frag},matcap:{uniforms:Js([Xt.common,Xt.bumpmap,Xt.normalmap,Xt.displacementmap,Xt.fog,{matcap:{value:null}}]),vertexShader:Li.meshmatcap_vert,fragmentShader:Li.meshmatcap_frag},points:{uniforms:Js([Xt.points,Xt.fog]),vertexShader:Li.points_vert,fragmentShader:Li.points_frag},dashed:{uniforms:Js([Xt.common,Xt.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Li.linedashed_vert,fragmentShader:Li.linedashed_frag},depth:{uniforms:Js([Xt.common,Xt.displacementmap]),vertexShader:Li.depth_vert,fragmentShader:Li.depth_frag},normal:{uniforms:Js([Xt.common,Xt.bumpmap,Xt.normalmap,Xt.displacementmap,{opacity:{value:1}}]),vertexShader:Li.normal_vert,fragmentShader:Li.normal_frag},sprite:{uniforms:Js([Xt.sprite,Xt.fog]),vertexShader:Li.sprite_vert,fragmentShader:Li.sprite_frag},background:{uniforms:{uvTransform:{value:new fs},t2D:{value:null}},vertexShader:Li.background_vert,fragmentShader:Li.background_frag},cube:{uniforms:Js([Xt.envmap,{opacity:{value:1}}]),vertexShader:Li.cube_vert,fragmentShader:Li.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Li.equirect_vert,fragmentShader:Li.equirect_frag},distanceRGBA:{uniforms:Js([Xt.common,Xt.displacementmap,{referencePosition:{value:new j},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Li.distanceRGBA_vert,fragmentShader:Li.distanceRGBA_frag},shadow:{uniforms:Js([Xt.lights,Xt.fog,{color:{value:new Qt(0)},opacity:{value:1}}]),vertexShader:Li.shadow_vert,fragmentShader:Li.shadow_frag}};function _Me(t,n,e,i,r){const o=new Qt(0);let a,c,s=0,l=null,d=0,u=null;function f(b,y){e.buffers.color.setClear(b.r,b.g,b.b,y,r)}return{getClearColor:function(){return o},setClearColor:function(b,y=1){o.set(b),s=y,f(o,s)},getClearAlpha:function(){return s},setClearAlpha:function(b){s=b,f(o,s)},render:function h(b,y,C,x){let w=!0===y.isScene?y.background:null;w&&w.isTexture&&(w=n.get(w));const S=t.xr,M=S.getSession&&S.getSession();M&&"additive"===M.environmentBlendMode&&(w=null),null===w?f(o,s):w&&w.isColor&&(f(w,1),x=!0),(t.autoClear||x)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),w&&(w.isCubeTexture||w.isWebGLCubeRenderTarget||w.mapping===ab)?(void 0===c&&(c=new Ti(new El(1,1,1),new Vs({name:"BackgroundCubeMaterial",uniforms:wb(Ml.cube.uniforms),vertexShader:Ml.cube.vertexShader,fragmentShader:Ml.cube.fragmentShader,side:Uo,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),c.geometry.deleteAttribute("uv"),c.onBeforeRender=function(P,R,W){this.matrixWorld.copyPosition(W.matrixWorld)},Object.defineProperty(c.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(c)),w.isWebGLCubeRenderTarget&&(w=w.texture),c.material.uniforms.envMap.value=w,c.material.uniforms.flipEnvMap.value=w.isCubeTexture&&w._needsFlipEnvMap?-1:1,(l!==w||d!==w.version||u!==t.toneMapping)&&(c.material.needsUpdate=!0,l=w,d=w.version,u=t.toneMapping),b.unshift(c,c.geometry,c.material,0,0,null)):w&&w.isTexture&&(void 0===a&&(a=new Ti(new Bf(2,2),new Vs({name:"BackgroundMaterial",uniforms:wb(Ml.background.uniforms),vertexShader:Ml.background.vertexShader,fragmentShader:Ml.background.fragmentShader,side:ob,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),Object.defineProperty(a.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(a)),a.material.uniforms.t2D.value=w,!0===w.matrixAutoUpdate&&w.updateMatrix(),a.material.uniforms.uvTransform.value.copy(w.matrix),(l!==w||d!==w.version||u!==t.toneMapping)&&(a.material.needsUpdate=!0,l=w,d=w.version,u=t.toneMapping),b.unshift(a,a.geometry,a.material,0,0,null))}}}function vMe(t,n,e,i){const r=t.getParameter(34921),o=i.isWebGL2?null:n.get("OES_vertex_array_object"),s=i.isWebGL2||null!==o,a={},c=y(null);let l=c;function h(ve){return i.isWebGL2?t.bindVertexArray(ve):o.bindVertexArrayOES(ve)}function f(ve){return i.isWebGL2?t.deleteVertexArray(ve):o.deleteVertexArrayOES(ve)}function y(ve){const $=[],me=[],Y=[];for(let Ae=0;Ae=0){const Rt=Ae[nt];if(void 0!==Rt){const un=Rt.normalized,rn=Rt.itemSize,zn=e.get(Rt);if(void 0===zn)continue;const ht=zn.buffer,hn=zn.type,Bn=zn.bytesPerElement;if(Rt.isInterleavedBufferAttribute){const Gn=Rt.data,In=Gn.stride,Pi=Rt.offset;Gn&&Gn.isInstancedInterleavedBuffer?(M(gt,Gn.meshPerAttribute),void 0===Y._maxInstanceCount&&(Y._maxInstanceCount=Gn.meshPerAttribute*Gn.count)):S(gt),t.bindBuffer(34962,ht),R(gt,rn,hn,un,In*Bn,Pi*Bn)}else Rt.isInstancedBufferAttribute?(M(gt,Rt.meshPerAttribute),void 0===Y._maxInstanceCount&&(Y._maxInstanceCount=Rt.meshPerAttribute*Rt.count)):S(gt),t.bindBuffer(34962,ht),R(gt,rn,hn,un,0,0)}else if("instanceMatrix"===nt){const un=e.get(ve.instanceMatrix);if(void 0===un)continue;const rn=un.buffer,zn=un.type;M(gt+0,1),M(gt+1,1),M(gt+2,1),M(gt+3,1),t.bindBuffer(34962,rn),t.vertexAttribPointer(gt+0,4,zn,!1,64,0),t.vertexAttribPointer(gt+1,4,zn,!1,64,16),t.vertexAttribPointer(gt+2,4,zn,!1,64,32),t.vertexAttribPointer(gt+3,4,zn,!1,64,48)}else if("instanceColor"===nt){const un=e.get(ve.instanceColor);if(void 0===un)continue;const rn=un.buffer,zn=un.type;M(gt,1),t.bindBuffer(34962,rn),t.vertexAttribPointer(gt,3,zn,!1,12,0)}else if(void 0!==Pe){const un=Pe[nt];if(void 0!==un)switch(un.length){case 2:t.vertexAttrib2fv(gt,un);break;case 3:t.vertexAttrib3fv(gt,un);break;case 4:t.vertexAttrib4fv(gt,un);break;default:t.vertexAttrib1fv(gt,un)}}}}P()}(ve,$,me,Y),null!==Ae&&t.bindBuffer(34963,e.get(Ae).buffer))},reset:ue,resetDefaultState:Me,dispose:function se(){ue();for(const ve in a){const $=a[ve];for(const me in $){const Y=$[me];for(const Ae in Y)f(Y[Ae].object),delete Y[Ae];delete $[me]}delete a[ve]}},releaseStatesOfGeometry:function ae(ve){if(void 0===a[ve.id])return;const $=a[ve.id];for(const me in $){const Y=$[me];for(const Ae in Y)f(Y[Ae].object),delete Y[Ae];delete $[me]}delete a[ve.id]},releaseStatesOfProgram:function ce(ve){for(const $ in a){const me=a[$];if(void 0===me[ve.id])continue;const Y=me[ve.id];for(const Ae in Y)f(Y[Ae].object),delete Y[Ae];delete me[ve.id]}},initAttributes:w,enableAttribute:S,disableUnusedAttributes:P}}function yMe(t,n,e,i){const r=i.isWebGL2;let o;this.setMode=function s(l){o=l},this.render=function a(l,d){t.drawArrays(o,l,d),e.update(d,o,1)},this.renderInstances=function c(l,d,u){if(0===u)return;let h,f;if(r)h=t,f="drawArraysInstanced";else if(h=n.get("ANGLE_instanced_arrays"),f="drawArraysInstancedANGLE",null===h)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");h[f](o,l,d,u),e.update(d,o,u)}}function wMe(t,n,e){let i;function o(R){if("highp"===R){if(t.getShaderPrecisionFormat(35633,36338).precision>0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";R="mediump"}return"mediump"===R&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const s=typeof WebGL2RenderingContext<"u"&&t instanceof WebGL2RenderingContext||typeof WebGL2ComputeRenderingContext<"u"&&t instanceof WebGL2ComputeRenderingContext;let a=void 0!==e.precision?e.precision:"highp";const c=o(a);c!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",c,"instead."),a=c);const l=!0===e.logarithmicDepthBuffer,d=t.getParameter(34930),u=t.getParameter(35660),h=t.getParameter(3379),f=t.getParameter(34076),b=t.getParameter(34921),y=t.getParameter(36347),C=t.getParameter(36348),x=t.getParameter(36349),w=u>0,S=s||n.has("OES_texture_float");return{isWebGL2:s,getMaxAnisotropy:function r(){if(void 0!==i)return i;if(!0===n.has("EXT_texture_filter_anisotropic")){const R=n.get("EXT_texture_filter_anisotropic");i=t.getParameter(R.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i},getMaxPrecision:o,precision:a,logarithmicDepthBuffer:l,maxTextures:d,maxVertexTextures:u,maxTextureSize:h,maxCubemapSize:f,maxAttributes:b,maxVertexUniforms:y,maxVaryings:C,maxFragmentUniforms:x,vertexTextures:w,floatFragmentTextures:S,floatVertexTextures:w&&S,maxSamples:s?t.getParameter(36183):0}}function xMe(t){const n=this;let e=null,i=0,r=!1,o=!1;const s=new wl,a=new fs,c={value:null,needsUpdate:!1};function l(){c.value!==e&&(c.value=e,c.needsUpdate=i>0),n.numPlanes=i,n.numIntersection=0}function d(u,h,f,b){const y=null!==u?u.length:0;let C=null;if(0!==y){if(C=c.value,!0!==b||null===C){const x=f+4*y,w=h.matrixWorldInverse;a.getNormalMatrix(w),(null===C||C.length0){const l=t.getRenderTarget(),d=new JS(c.height/2);return d.fromEquirectangularTexture(t,s),n.set(s,d),t.setRenderTarget(l),s.addEventListener("dispose",r),e(d.texture,s.mapping)}return null}}}return s},dispose:function o(){n=new WeakMap}}}function EMe(t){const n={};function e(i){if(void 0!==n[i])return n[i];let r;switch(i){case"WEBGL_depth_texture":r=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:r=t.getExtension(i)}return n[i]=r,r}return{has:function(i){return null!==e(i)},init:function(i){i.isWebGL2?e("EXT_color_buffer_float"):(e("WEBGL_depth_texture"),e("OES_texture_float"),e("OES_texture_half_float"),e("OES_texture_half_float_linear"),e("OES_standard_derivatives"),e("OES_element_index_uint"),e("OES_vertex_array_object"),e("ANGLE_instanced_arrays")),e("OES_texture_float_linear"),e("EXT_color_buffer_half_float")},get:function(i){const r=e(i);return null===r&&console.warn("THREE.WebGLRenderer: "+i+" extension not supported."),r}}}function MMe(t,n,e,i){const r={},o=new WeakMap;function s(u){const h=u.target;null!==h.index&&n.remove(h.index);for(const b in h.attributes)n.remove(h.attributes[b]);h.removeEventListener("dispose",s),delete r[h.id];const f=o.get(h);f&&(n.remove(f),o.delete(h)),i.releaseStatesOfGeometry(h),!0===h.isInstancedBufferGeometry&&delete h._maxInstanceCount,e.memory.geometries--}function l(u){const h=[],f=u.index,b=u.attributes.position;let y=0;if(null!==f){const w=f.array;y=f.version;for(let S=0,M=w.length;S65535?Sp:Mp)(h,1);C.version=y;const x=o.get(u);x&&n.remove(x),o.set(u,C)}return{get:function a(u,h){return!0===r[h.id]||(h.addEventListener("dispose",s),r[h.id]=!0,e.memory.geometries++),h},update:function c(u){const h=u.attributes;for(const b in h)n.update(h[b],34962);const f=u.morphAttributes;for(const b in f){const y=f[b];for(let C=0,x=y.length;C0)return t;const r=n*e;let o=_X[r];if(void 0===o&&(o=new Float32Array(r),_X[r]=o),0!==n){i.toArray(o,0);for(let s=1,a=0;s!==n;++s)a+=e,t[s].toArray(o,a)}return o}function jc(t,n){if(t.length!==n.length)return!1;for(let e=0,i=t.length;e/gm;function kO(t){return t.replace(ySe,wSe)}function wSe(t,n){const e=Li[n];if(void 0===e)throw new Error("Can not resolve #include <"+n+">");return kO(e)}const xSe=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,CSe=/#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 DX(t){return t.replace(CSe,RX).replace(xSe,ESe)}function ESe(t,n,e,i){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),RX(0,n,e,i)}function RX(t,n,e,i){let r="";for(let o=parseInt(n);o0?t.gammaFactor:1,f=e.isWebGL2?"":function bSe(t){return[t.extensionDerivatives||t.envMapCubeUV||t.bumpMap||t.tangentSpaceNormalMap||t.clearcoatNormalMap||t.flatShading||"physical"===t.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Bw).join("\n")}(e),b=function _Se(t){const n=[];for(const e in t){const i=t[e];!1!==i&&n.push("#define "+e+" "+i)}return n.join("\n")}(o),y=r.createProgram();let C,x,w=e.glslVersion?"#version "+e.glslVersion+"\n":"";e.isRawShaderMaterial?(C=[b].filter(Bw).join("\n"),C.length>0&&(C+="\n"),x=[f,b].filter(Bw).join("\n"),x.length>0&&(x+="\n")):(C=[LX(e),"#define SHADER_NAME "+e.shaderName,b,e.instancing?"#define USE_INSTANCING":"",e.instancingColor?"#define USE_INSTANCING_COLOR":"",e.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+h,"#define MAX_BONES "+e.maxBones,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 "+d:"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMap&&e.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",e.normalMap&&e.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.displacementMap&&e.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.vertexTangents?"#define USE_TANGENT":"",e.vertexColors?"#define USE_COLOR":"",e.vertexUvs?"#define USE_UV":"",e.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",e.flatShading?"#define FLAT_SHADED":"",e.skinning?"#define USE_SKINNING":"",e.useVertexTexture?"#define BONE_TEXTURE":"",e.morphTargets?"#define USE_MORPHTARGETS":"",e.morphNormals&&!1===e.flatShading?"#define USE_MORPHNORMALS":"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+c:"",e.sizeAttenuation?"#define USE_SIZEATTENUATION":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",e.logarithmicDepthBuffer&&e.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#ifdef USE_COLOR","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(Bw).join("\n"),x=[f,LX(e),"#define SHADER_NAME "+e.shaderName,b,e.alphaTest?"#define ALPHATEST "+e.alphaTest+(e.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+h,e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.map?"#define USE_MAP":"",e.matcap?"#define USE_MATCAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+l:"",e.envMap?"#define "+d:"",e.envMap?"#define "+u:"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMap&&e.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",e.normalMap&&e.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.sheen?"#define USE_SHEEN":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.vertexTangents?"#define USE_TANGENT":"",e.vertexColors||e.instancingColor?"#define USE_COLOR":"",e.vertexUvs?"#define USE_UV":"",e.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",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 "+c:"",e.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",e.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",e.logarithmicDepthBuffer&&e.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(e.extensionShaderTextureLOD||e.envMap)&&e.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",e.toneMapping!==pp?"#define TONE_MAPPING":"",e.toneMapping!==pp?Li.tonemapping_pars_fragment:"",e.toneMapping!==pp?gSe("toneMapping",e.toneMapping):"",e.dithering?"#define DITHERING":"",Li.encodings_pars_fragment,e.map?Fw("mapTexelToLinear",e.mapEncoding):"",e.matcap?Fw("matcapTexelToLinear",e.matcapEncoding):"",e.envMap?Fw("envMapTexelToLinear",e.envMapEncoding):"",e.emissiveMap?Fw("emissiveMapTexelToLinear",e.emissiveMapEncoding):"",e.lightMap?Fw("lightMapTexelToLinear",e.lightMapEncoding):"",ASe("linearToOutputTexel",e.outputEncoding),e.depthPacking?"#define DEPTH_PACKING "+e.depthPacking:"","\n"].filter(Bw).join("\n")),s=kO(s),s=BX(s,e),s=IX(s,e),a=kO(a),a=BX(a,e),a=IX(a,e),s=DX(s),a=DX(a),e.isWebGL2&&!0!==e.isRawShaderMaterial&&(w="#version 300 es\n",C=["#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+C,x=["#define varying in",e.glslVersion===nO?"":"out highp vec4 pc_fragColor;",e.glslVersion===nO?"":"#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("\n")+"\n"+x);const M=w+x+a,P=kX(r,35633,w+C+s),R=kX(r,35632,M);if(r.attachShader(y,P),r.attachShader(y,R),void 0!==e.index0AttributeName?r.bindAttribLocation(y,0,e.index0AttributeName):!0===e.morphTargets&&r.bindAttribLocation(y,0,"position"),r.linkProgram(y),t.debug.checkShaderErrors){const ae=r.getProgramInfoLog(y).trim(),ce=r.getShaderInfoLog(P).trim(),ue=r.getShaderInfoLog(R).trim();let Me=!0,ve=!0;if(!1===r.getProgramParameter(y,35714)){Me=!1;const $=FX(r,P,"vertex"),me=FX(r,R,"fragment");console.error("THREE.WebGLProgram: shader error: ",r.getError(),"35715",r.getProgramParameter(y,35715),"gl.getProgramInfoLog",ae,$,me)}else""!==ae?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",ae):(""===ce||""===ue)&&(ve=!1);ve&&(this.diagnostics={runnable:Me,programLog:ae,vertexShader:{log:ce,prefix:C},fragmentShader:{log:ue,prefix:x}})}let W,se;return r.deleteShader(P),r.deleteShader(R),this.getUniforms=function(){return void 0===W&&(W=new If(r,y)),W},this.getAttributes=function(){return void 0===se&&(se=function vSe(t,n){const e={},i=t.getProgramParameter(n,35721);for(let r=0;r0,maxBones:me,useVertexTexture:l,morphTargets:R.morphTargets,morphNormals:R.morphNormals,maxMorphTargets:t.maxMorphTargets,maxMorphNormals:t.maxMorphNormals,numDirLights:W.directional.length,numPointLights:W.point.length,numSpotLights:W.spot.length,numRectAreaLights:W.rectArea.length,numHemiLights:W.hemi.length,numDirLightShadows:W.directionalShadowMap.length,numPointLightShadows:W.pointShadowMap.length,numSpotLightShadows:W.spotShadowMap.length,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:R.dithering,shadowMapEnabled:t.shadowMap.enabled&&se.length>0,shadowMapType:t.shadowMap.type,toneMapping:R.toneMapped?t.toneMapping:pp,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:R.premultipliedAlpha,alphaTest:R.alphaTest,doubleSided:R.side===iw,flipSided:R.side===Uo,depthPacking:void 0!==R.depthPacking&&R.depthPacking,index0AttributeName:R.index0AttributeName,extensionDerivatives:R.extensions&&R.extensions.derivatives,extensionFragDepth:R.extensions&&R.extensions.fragDepth,extensionDrawBuffers:R.extensions&&R.extensions.drawBuffers,extensionShaderTextureLOD:R.extensions&&R.extensions.shaderTextureLOD,rendererExtensionFragDepth:a||e.has("EXT_frag_depth"),rendererExtensionDrawBuffers:a||e.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:a||e.has("EXT_shader_texture_lod"),customProgramCacheKey:R.customProgramCacheKey()}},getProgramCacheKey:function w(R){const W=[];if(R.shaderID?W.push(R.shaderID):(W.push(R.fragmentShader),W.push(R.vertexShader)),void 0!==R.defines)for(const se in R.defines)W.push(se),W.push(R.defines[se]);if(!1===R.isRawShaderMaterial){for(let se=0;se1&&i.sort(h||DSe),r.length>1&&r.sort(f||RSe)}}}function LSe(t){let n=new WeakMap;return{get:function e(r,o){let s;return!1===n.has(r)?(s=new PX(t),n.set(r,[s])):o>=n.get(r).length?(s=new PX(t),n.get(r).push(s)):s=n.get(r)[o],s},dispose:function i(){n=new WeakMap}}}function PSe(){const t={};return{get:function(n){if(void 0!==t[n.id])return t[n.id];let e;switch(n.type){case"DirectionalLight":e={direction:new j,color:new Qt};break;case"SpotLight":e={position:new j,direction:new j,color:new Qt,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":e={position:new j,color:new Qt,distance:0,decay:0};break;case"HemisphereLight":e={direction:new j,skyColor:new Qt,groundColor:new Qt};break;case"RectAreaLight":e={color:new Qt,position:new j,halfWidth:new j,halfHeight:new j}}return t[n.id]=e,e}}}let NSe=0;function USe(t,n){return(n.castShadow?1:0)-(t.castShadow?1:0)}function HSe(t,n){const e=new PSe,i=function OSe(){const t={};return{get:function(n){if(void 0!==t[n.id])return t[n.id];let e;switch(n.type){case"DirectionalLight":case"SpotLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ut};break;case"PointLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ut,shadowCameraNear:1,shadowCameraFar:1e3}}return t[n.id]=e,e}}}(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let d=0;d<9;d++)r.probe.push(new j);const o=new j,s=new Tn,a=new Tn;return{setup:function c(d){let u=0,h=0,f=0;for(let W=0;W<9;W++)r.probe[W].set(0,0,0);let b=0,y=0,C=0,x=0,w=0,S=0,M=0,P=0;d.sort(USe);for(let W=0,se=d.length;W0&&(n.isWebGL2||!0===t.has("OES_texture_float_linear")?(r.rectAreaLTC1=Xt.LTC_FLOAT_1,r.rectAreaLTC2=Xt.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(r.rectAreaLTC1=Xt.LTC_HALF_1,r.rectAreaLTC2=Xt.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=u,r.ambient[1]=h,r.ambient[2]=f;const R=r.hash;(R.directionalLength!==b||R.pointLength!==y||R.spotLength!==C||R.rectAreaLength!==x||R.hemiLength!==w||R.numDirectionalShadows!==S||R.numPointShadows!==M||R.numSpotShadows!==P)&&(r.directional.length=b,r.spot.length=C,r.rectArea.length=x,r.point.length=y,r.hemi.length=w,r.directionalShadow.length=S,r.directionalShadowMap.length=S,r.pointShadow.length=M,r.pointShadowMap.length=M,r.spotShadow.length=P,r.spotShadowMap.length=P,r.directionalShadowMatrix.length=S,r.pointShadowMatrix.length=M,r.spotShadowMatrix.length=P,R.directionalLength=b,R.pointLength=y,R.spotLength=C,R.rectAreaLength=x,R.hemiLength=w,R.numDirectionalShadows=S,R.numPointShadows=M,R.numSpotShadows=P,r.version=NSe++)},setupView:function l(d,u){let h=0,f=0,b=0,y=0,C=0;const x=u.matrixWorldInverse;for(let w=0,S=d.length;w=e.get(o).length?(a=new OX(t,n),e.get(o).push(a)):a=e.get(o)[s],a},dispose:function r(){e=new WeakMap}}}class tk extends eo{constructor(n){super(),this.type="MeshDepthMaterial",this.depthPacking=JK,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(n)}copy(n){return super.copy(n),this.depthPacking=n.depthPacking,this.skinning=n.skinning,this.morphTargets=n.morphTargets,this.map=n.map,this.alphaMap=n.alphaMap,this.displacementMap=n.displacementMap,this.displacementScale=n.displacementScale,this.displacementBias=n.displacementBias,this.wireframe=n.wireframe,this.wireframeLinewidth=n.wireframeLinewidth,this}}tk.prototype.isMeshDepthMaterial=!0;class nk extends eo{constructor(n){super(),this.type="MeshDistanceMaterial",this.referencePosition=new j,this.nearDistance=1,this.farDistance=1e3,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(n)}copy(n){return super.copy(n),this.referencePosition.copy(n.referencePosition),this.nearDistance=n.nearDistance,this.farDistance=n.farDistance,this.skinning=n.skinning,this.morphTargets=n.morphTargets,this.map=n.map,this.alphaMap=n.alphaMap,this.displacementMap=n.displacementMap,this.displacementScale=n.displacementScale,this.displacementBias=n.displacementBias,this}}nk.prototype.isMeshDistanceMaterial=!0;var QSe="uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean * HALF_SAMPLE_RATE;\n\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}",zSe="void main() {\n\tgl_Position = vec4( position, 1.0 );\n}";function NX(t,n,e){let i=new Tw;const r=new ut,o=new ut,s=new _r,a=[],c=[],l={},d={0:Uo,1:ob,2:iw},u=new Vs({defines:{SAMPLE_RATE:2/8,HALF_SAMPLE_RATE:1/8},uniforms:{shadow_pass:{value:null},resolution:{value:new ut},radius:{value:4}},vertexShader:zSe,fragmentShader:QSe}),h=u.clone();h.defines.HORIZONTAL_PASS=1;const f=new En;f.setAttribute("position",new kn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const b=new Ti(f,u),y=this;function C(P,R){const W=n.update(b);u.uniforms.shadow_pass.value=P.map.texture,u.uniforms.resolution.value=P.mapSize,u.uniforms.radius.value=P.radius,t.setRenderTarget(P.mapPass),t.clear(),t.renderBufferDirect(R,null,W,u,b,null),h.uniforms.shadow_pass.value=P.mapPass.texture,h.uniforms.resolution.value=P.mapSize,h.uniforms.radius.value=P.radius,t.setRenderTarget(P.map),t.clear(),t.renderBufferDirect(R,null,W,h,b,null)}function x(P,R,W){const se=P|R<<1|W<<2;let ae=a[se];return void 0===ae&&(ae=new tk({depthPacking:eX,morphTargets:P,skinning:R}),a[se]=ae),ae}function w(P,R,W){const se=P|R<<1|W<<2;let ae=c[se];return void 0===ae&&(ae=new nk({morphTargets:P,skinning:R}),c[se]=ae),ae}function S(P,R,W,se,ae,ce,ue){let Me=null,ve=x,$=P.customDepthMaterial;if(!0===se.isPointLight&&(ve=w,$=P.customDistanceMaterial),void 0===$){let me=!1;!0===W.morphTargets&&(me=R.morphAttributes&&R.morphAttributes.position&&R.morphAttributes.position.length>0);let Y=!1;!0===P.isSkinnedMesh&&(!0===W.skinning?Y=!0:console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",P)),Me=ve(me,Y,!0===P.isInstancedMesh)}else Me=$;if(t.localClippingEnabled&&!0===W.clipShadows&&0!==W.clippingPlanes.length){const me=Me.uuid,Y=W.uuid;let Ae=l[me];void 0===Ae&&(Ae={},l[me]=Ae);let Fe=Ae[Y];void 0===Fe&&(Fe=Me.clone(),Ae[Y]=Fe),Me=Fe}return Me.visible=W.visible,Me.wireframe=W.wireframe,Me.side=ue===rb?null!==W.shadowSide?W.shadowSide:W.side:null!==W.shadowSide?W.shadowSide:d[W.side],Me.clipShadows=W.clipShadows,Me.clippingPlanes=W.clippingPlanes,Me.clipIntersection=W.clipIntersection,Me.wireframeLinewidth=W.wireframeLinewidth,Me.linewidth=W.linewidth,!0===se.isPointLight&&!0===Me.isMeshDistanceMaterial&&(Me.referencePosition.setFromMatrixPosition(se.matrixWorld),Me.nearDistance=ae,Me.farDistance=ce),Me}function M(P,R,W,se,ae){if(!1===P.visible)return;if(P.layers.test(R.layers)&&(P.isMesh||P.isLine||P.isPoints)&&(P.castShadow||P.receiveShadow&&ae===rb)&&(!P.frustumCulled||i.intersectsObject(P))){P.modelViewMatrix.multiplyMatrices(W.matrixWorldInverse,P.matrixWorld);const Me=n.update(P),ve=P.material;if(Array.isArray(ve)){const $=Me.groups;for(let me=0,Y=$.length;mee||r.y>e)&&(r.x>e&&(o.x=Math.floor(e/Y.x),r.x=o.x*Y.x,me.mapSize.x=o.x),r.y>e&&(o.y=Math.floor(e/Y.y),r.y=o.y*Y.y,me.mapSize.y=o.y)),null===me.map&&!me.isPointLightShadow&&this.type===rb){const Fe={minFilter:Mo,magFilter:Mo,format:va};me.map=new vl(r.x,r.y,Fe),me.map.texture.name=$.name+".shadowMap",me.mapPass=new vl(r.x,r.y,Fe),me.camera.updateProjectionMatrix()}null===me.map&&(me.map=new vl(r.x,r.y,{minFilter:hs,magFilter:hs,format:va}),me.map.texture.name=$.name+".shadowMap",me.camera.updateProjectionMatrix()),t.setRenderTarget(me.map),t.clear();const Ae=me.getViewportCount();for(let Fe=0;Fe=1):-1!==ve.indexOf("OpenGL ES")&&(Me=parseFloat(/^OpenGL ES (\d)/.exec(ve)[1]),ue=Me>=2);let $=null,me={};const Y=new _r,Ae=new _r;function Fe(Te,Ut,an){const yn=new Uint8Array(4),Nt=t.createTexture();t.bindTexture(Te,Nt),t.texParameteri(Te,10241,9728),t.texParameteri(Te,10240,9728);for(let Wn=0;WnCt||re.height>Ct)&&(Te=Ct/Math.max(re.width,re.height)),Te<1||!0===ne){if(typeof HTMLImageElement<"u"&&re instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&re instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&re instanceof ImageBitmap){const Ut=ne?Yn.floorPowerOfTwo:Math.floor,an=Ut(Te*re.width),yn=Ut(Te*re.height);void 0===f&&(f=y(an,yn));const Nt=wt?y(an,yn):f;return Nt.width=an,Nt.height=yn,Nt.getContext("2d").drawImage(re,0,0,an,yn),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+re.width+"x"+re.height+") to ("+an+"x"+yn+")."),Nt}return"data"in re&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+re.width+"x"+re.height+")."),re}return re}function x(re){return Yn.isPowerOfTwo(re.width)&&Yn.isPowerOfTwo(re.height)}function S(re,ne){return re.generateMipmaps&&ne&&re.minFilter!==hs&&re.minFilter!==Mo}function M(re,ne,wt,Ct){t.generateMipmap(re),i.get(ne).__maxMipLevel=Math.log2(Math.max(wt,Ct))}function P(re,ne,wt){if(!1===a)return ne;if(null!==re){if(void 0!==t[re])return t[re];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+re+"'")}let Ct=ne;return 6403===ne&&(5126===wt&&(Ct=33326),5131===wt&&(Ct=33325),5121===wt&&(Ct=33321)),6407===ne&&(5126===wt&&(Ct=34837),5131===wt&&(Ct=34843),5121===wt&&(Ct=32849)),6408===ne&&(5126===wt&&(Ct=34836),5131===wt&&(Ct=34842),5121===wt&&(Ct=32856)),(33325===Ct||33326===Ct||34842===Ct||34836===Ct)&&n.get("EXT_color_buffer_float"),Ct}function R(re){return re===hs||re===SS||re===kS?9728:9729}function W(re){const ne=re.target;ne.removeEventListener("dispose",W),function ae(re){const ne=i.get(re);void 0!==ne.__webglInit&&(t.deleteTexture(ne.__webglTexture),i.remove(re))}(ne),ne.isVideoTexture&&h.delete(ne),s.memory.textures--}function se(re){const ne=re.target;ne.removeEventListener("dispose",se),function ce(re){const ne=re.texture,wt=i.get(re),Ct=i.get(ne);if(re){if(void 0!==Ct.__webglTexture&&t.deleteTexture(Ct.__webglTexture),re.depthTexture&&re.depthTexture.dispose(),re.isWebGLCubeRenderTarget)for(let Te=0;Te<6;Te++)t.deleteFramebuffer(wt.__webglFramebuffer[Te]),wt.__webglDepthbuffer&&t.deleteRenderbuffer(wt.__webglDepthbuffer[Te]);else t.deleteFramebuffer(wt.__webglFramebuffer),wt.__webglDepthbuffer&&t.deleteRenderbuffer(wt.__webglDepthbuffer),wt.__webglMultisampledFramebuffer&&t.deleteFramebuffer(wt.__webglMultisampledFramebuffer),wt.__webglColorRenderbuffer&&t.deleteRenderbuffer(wt.__webglColorRenderbuffer),wt.__webglDepthRenderbuffer&&t.deleteRenderbuffer(wt.__webglDepthRenderbuffer);i.remove(ne),i.remove(re)}}(ne),s.memory.textures--}let ue=0;function $(re,ne){const wt=i.get(re);if(re.isVideoTexture&&function Ft(re){const ne=s.render.frame;h.get(re)!==ne&&(h.set(re,ne),re.update())}(re),re.version>0&&wt.__version!==re.version){const Ct=re.image;if(void 0===Ct)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==Ct.complete)return void Rt(wt,re,ne);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}e.activeTexture(33984+ne),e.bindTexture(3553,wt.__webglTexture)}function Ae(re,ne){const wt=i.get(re);re.version>0&&wt.__version!==re.version?function un(re,ne,wt){if(6!==ne.image.length)return;gt(re,ne),e.activeTexture(33984+wt),e.bindTexture(34067,re.__webglTexture),t.pixelStorei(37440,ne.flipY),t.pixelStorei(37441,ne.premultiplyAlpha),t.pixelStorei(3317,ne.unpackAlignment),t.pixelStorei(37443,0);const Ct=ne&&(ne.isCompressedTexture||ne.image[0].isCompressedTexture),Te=ne.image[0]&&ne.image[0].isDataTexture,Ut=[];for(let Un=0;Un<6;Un++)Ut[Un]=Ct||Te?Te?ne.image[Un].image:ne.image[Un]:C(ne.image[Un],!1,!0,l);const an=Ut[0],yn=x(an)||a,Nt=o.convert(ne.format),Wn=o.convert(ne.type),jn=P(ne.internalFormat,Nt,Wn);let Pn;if(nt(34067,ne,yn),Ct){for(let Un=0;Un<6;Un++){Pn=Ut[Un].mipmaps;for(let Hn=0;Hn1||i.get(ne).__currentAnisotropy)&&(t.texParameterf(re,Ct.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(ne.anisotropy,r.getMaxAnisotropy())),i.get(ne).__currentAnisotropy=ne.anisotropy)}}function gt(re,ne){void 0===re.__webglInit&&(re.__webglInit=!0,ne.addEventListener("dispose",W),re.__webglTexture=t.createTexture(),s.memory.textures++)}function Rt(re,ne,wt){let Ct=3553;ne.isDataTexture2DArray&&(Ct=35866),ne.isDataTexture3D&&(Ct=32879),gt(re,ne),e.activeTexture(33984+wt),e.bindTexture(Ct,re.__webglTexture),t.pixelStorei(37440,ne.flipY),t.pixelStorei(37441,ne.premultiplyAlpha),t.pixelStorei(3317,ne.unpackAlignment),t.pixelStorei(37443,0);const Te=function w(re){return!a&&(re.wrapS!==_a||re.wrapT!==_a||re.minFilter!==hs&&re.minFilter!==Mo)}(ne)&&!1===x(ne.image),Ut=C(ne.image,Te,!1,d),an=x(Ut)||a,yn=o.convert(ne.format);let jn,Nt=o.convert(ne.type),Wn=P(ne.internalFormat,yn,Nt);nt(Ct,ne,an);const Pn=ne.mipmaps;if(ne.isDepthTexture)Wn=6402,a?Wn=ne.type===Ou?36012:ne.type===dw?33190:ne.type===db?35056:33189:ne.type===Ou&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),ne.format===gp&&6402===Wn&&ne.type!==lw&&ne.type!==dw&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),ne.type=lw,Nt=o.convert(ne.type)),ne.format===ub&&6402===Wn&&(Wn=34041,ne.type!==db&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),ne.type=db,Nt=o.convert(ne.type))),e.texImage2D(3553,0,Wn,Ut.width,Ut.height,0,yn,Nt,null);else if(ne.isDataTexture)if(Pn.length>0&&an){for(let Un=0,Hn=Pn.length;Un0&&an){for(let Un=0,Hn=Pn.length;Un=c&&console.warn("THREE.WebGLTextures: Trying to use "+re+" texture units while this GPU supports only "+c),ue+=1,re},this.resetTextureUnits=function Me(){ue=0},this.setTexture2D=$,this.setTexture2DArray=function me(re,ne){const wt=i.get(re);re.version>0&&wt.__version!==re.version?Rt(wt,re,ne):(e.activeTexture(33984+ne),e.bindTexture(35866,wt.__webglTexture))},this.setTexture3D=function Y(re,ne){const wt=i.get(re);re.version>0&&wt.__version!==re.version?Rt(wt,re,ne):(e.activeTexture(33984+ne),e.bindTexture(32879,wt.__webglTexture))},this.setTextureCube=Ae,this.setupRenderTarget=function Bn(re){const ne=re.texture,wt=i.get(re),Ct=i.get(ne);re.addEventListener("dispose",se),Ct.__webglTexture=t.createTexture(),s.memory.textures++;const Te=!0===re.isWebGLCubeRenderTarget,Ut=!0===re.isWebGLMultisampleRenderTarget,an=ne.isDataTexture3D||ne.isDataTexture2DArray,yn=x(re)||a;if(a&&ne.format===wf&&(ne.type===Ou||ne.type===uw)&&(ne.format=va,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),Te){wt.__webglFramebuffer=[];for(let Nt=0;Nt<6;Nt++)wt.__webglFramebuffer[Nt]=t.createFramebuffer()}else if(wt.__webglFramebuffer=t.createFramebuffer(),Ut)if(a){wt.__webglMultisampledFramebuffer=t.createFramebuffer(),wt.__webglColorRenderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,wt.__webglColorRenderbuffer);const Nt=o.convert(ne.format),Wn=o.convert(ne.type),jn=P(ne.internalFormat,Nt,Wn),Pn=Pi(re);t.renderbufferStorageMultisample(36161,Pn,jn,re.width,re.height),t.bindFramebuffer(36160,wt.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(36160,36064,36161,wt.__webglColorRenderbuffer),t.bindRenderbuffer(36161,null),re.depthBuffer&&(wt.__webglDepthRenderbuffer=t.createRenderbuffer(),zn(wt.__webglDepthRenderbuffer,re,!0)),t.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(Te){e.bindTexture(34067,Ct.__webglTexture),nt(34067,ne,yn);for(let Nt=0;Nt<6;Nt++)rn(wt.__webglFramebuffer[Nt],re,36064,34069+Nt);S(ne,yn)&&M(34067,ne,re.width,re.height),e.bindTexture(34067,null)}else{let Nt=3553;an&&(a?Nt=ne.isDataTexture3D?32879:35866:console.warn("THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.")),e.bindTexture(Nt,Ct.__webglTexture),nt(Nt,ne,yn),rn(wt.__webglFramebuffer,re,36064,Nt),S(ne,yn)&&M(3553,ne,re.width,re.height),e.bindTexture(3553,null)}re.depthBuffer&&function hn(re){const ne=i.get(re),wt=!0===re.isWebGLCubeRenderTarget;if(re.depthTexture){if(wt)throw new Error("target.depthTexture not supported in Cube render targets");!function ht(re,ne){if(ne&&ne.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(36160,re),!ne.depthTexture||!ne.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");(!i.get(ne.depthTexture).__webglTexture||ne.depthTexture.image.width!==ne.width||ne.depthTexture.image.height!==ne.height)&&(ne.depthTexture.image.width=ne.width,ne.depthTexture.image.height=ne.height,ne.depthTexture.needsUpdate=!0),$(ne.depthTexture,0);const Ct=i.get(ne.depthTexture).__webglTexture;if(ne.depthTexture.format===gp)t.framebufferTexture2D(36160,36096,3553,Ct,0);else{if(ne.depthTexture.format!==ub)throw new Error("Unknown depthTexture format");t.framebufferTexture2D(36160,33306,3553,Ct,0)}}(ne.__webglFramebuffer,re)}else if(wt){ne.__webglDepthbuffer=[];for(let Ct=0;Ct<6;Ct++)t.bindFramebuffer(36160,ne.__webglFramebuffer[Ct]),ne.__webglDepthbuffer[Ct]=t.createRenderbuffer(),zn(ne.__webglDepthbuffer[Ct],re,!1)}else t.bindFramebuffer(36160,ne.__webglFramebuffer),ne.__webglDepthbuffer=t.createRenderbuffer(),zn(ne.__webglDepthbuffer,re,!1);t.bindFramebuffer(36160,null)}(re)},this.updateRenderTargetMipmap=function Gn(re){const ne=re.texture;if(S(ne,x(re)||a)){const Ct=re.isWebGLCubeRenderTarget?34067:3553,Te=i.get(ne).__webglTexture;e.bindTexture(Ct,Te),M(Ct,ne,re.width,re.height),e.bindTexture(Ct,null)}},this.updateMultisampleRenderTarget=function In(re){if(re.isWebGLMultisampleRenderTarget)if(a){const ne=i.get(re);t.bindFramebuffer(36008,ne.__webglMultisampledFramebuffer),t.bindFramebuffer(36009,ne.__webglFramebuffer);const wt=re.width,Ct=re.height;let Te=16384;re.depthBuffer&&(Te|=256),re.stencilBuffer&&(Te|=1024),t.blitFramebuffer(0,0,wt,Ct,0,0,wt,Ct,Te,9728),t.bindFramebuffer(36160,ne.__webglMultisampledFramebuffer)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")},this.safeSetTexture2D=function Dn(re,ne){re&&re.isWebGLRenderTarget&&(!1===Pt&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."),Pt=!0),re=re.texture),$(re,ne)},this.safeSetTextureCube=function An(re,ne){re&&re.isWebGLCubeRenderTarget&&(!1===Kt&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),Kt=!0),re=re.texture),Ae(re,ne)}}function UX(t,n,e){const i=e.isWebGL2;return{convert:function r(o){let s;if(o===lb)return 5121;if(o===oK)return 32819;if(o===sK)return 32820;if(o===aK)return 33635;if(o===nK)return 5120;if(o===iK)return 5122;if(o===lw)return 5123;if(o===rK)return 5124;if(o===dw)return 5125;if(o===Ou)return 5126;if(o===uw)return i?5131:(s=n.get("OES_texture_half_float"),null!==s?s.HALF_FLOAT_OES:null);if(o===cK)return 6406;if(o===wf)return 6407;if(o===va)return 6408;if(o===lK)return 6409;if(o===dK)return 6410;if(o===gp)return 6402;if(o===ub)return 34041;if(o===hK)return 6403;if(o===fK)return 36244;if(o===mK)return 33319;if(o===pK)return 33320;if(o===AK)return 36248;if(o===gK)return 36249;if(o===QP||o===zP||o===GP||o===WP){if(s=n.get("WEBGL_compressed_texture_s3tc"),null===s)return null;if(o===QP)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(o===zP)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(o===GP)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(o===WP)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(o===$P||o===jP||o===KP||o===XP){if(s=n.get("WEBGL_compressed_texture_pvrtc"),null===s)return null;if(o===$P)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(o===jP)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(o===KP)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(o===XP)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(o===bK)return s=n.get("WEBGL_compressed_texture_etc1"),null!==s?s.COMPRESSED_RGB_ETC1_WEBGL:null;if((o===YP||o===qP)&&(s=n.get("WEBGL_compressed_texture_etc"),null!==s)){if(o===YP)return s.COMPRESSED_RGB8_ETC2;if(o===qP)return s.COMPRESSED_RGBA8_ETC2_EAC}return o===_K||o===vK||o===yK||o===wK||o===xK||o===CK||o===EK||o===MK||o===SK||o===kK||o===TK||o===FK||o===BK||o===IK||o===RK||o===LK||o===PK||o===OK||o===NK||o===UK||o===HK||o===VK||o===QK||o===zK||o===GK||o===WK||o===$K||o===jK?(s=n.get("WEBGL_compressed_texture_astc"),null!==s?o:null):o===DK?(s=n.get("EXT_texture_compression_bptc"),null!==s?o:null):o===db?i?34042:(s=n.get("WEBGL_depth_texture"),null!==s?s.UNSIGNED_INT_24_8_WEBGL:null):void 0}}}function ik(t=[]){So.call(this),this.cameras=t}ik.prototype=Object.assign(Object.create(So.prototype),{constructor:ik,isArrayCamera:!0});class ks extends Vn{constructor(){super(),this.type="Group"}}function Iw(){this._targetRay=null,this._grip=null,this._hand=null}function HX(t,n){const e=this;let i=null,r=1,o=null,s="local-floor",a=null;const c=[],l=new Map,d=new So;d.layers.enable(1),d.viewport=new _r;const u=new So;u.layers.enable(2),u.viewport=new _r;const h=[d,u],f=new ik;f.layers.enable(1),f.layers.enable(2);let b=null,y=null;function C(ce){const ue=l.get(ce.inputSource);ue&&ue.dispatchEvent({type:ce.type,data:ce.inputSource})}function x(){l.forEach(function(ce,ue){ce.disconnect(ue)}),l.clear(),b=null,y=null,t.setFramebuffer(null),t.setRenderTarget(t.getRenderTarget()),ae.stop(),e.isPresenting=!1,e.dispatchEvent({type:"sessionend"})}function w(ce){const ue=i.inputSources;for(let Me=0;Me0&&Jne(Ki,oe,ft),ri.length>0&&Jne(ri,oe,ft),!0===oe.isScene&&oe.onAfterRender(y,oe,ft),null!==M&&(Pt.updateRenderTargetMipmap(M),Pt.updateMultisampleRenderTarget(M)),In.buffers.depth.setTest(!0),In.buffers.depth.setMask(!0),In.buffers.color.setMask(!0),In.setPolygonOffset(!1),b.pop(),h=b.length>0?b[b.length-1]:null,f.pop(),u=f.length>0?f[f.length-1]:null},this.setFramebuffer=function(oe){x!==oe&&null===M&&ht.bindFramebuffer(36160,oe),x=oe},this.getActiveCubeFace=function(){return w},this.getActiveMipmapLevel=function(){return S},this.getRenderTarget=function(){return M},this.setRenderTarget=function(oe,ft=0,tt=0){M=oe,w=ft,S=tt,oe&&void 0===Ft.get(oe).__webglFramebuffer&&Pt.setupRenderTarget(oe);let _t=x,en=!1,Ki=!1;if(oe){const ri=oe.texture;(ri.isDataTexture3D||ri.isDataTexture2DArray)&&(Ki=!0);const vi=Ft.get(oe).__webglFramebuffer;oe.isWebGLCubeRenderTarget?(_t=vi[ft],en=!0):_t=oe.isWebGLMultisampleRenderTarget?Ft.get(oe).__webglMultisampledFramebuffer:vi,se.copy(oe.viewport),ae.copy(oe.scissor),ce=oe.scissorTest}else se.copy(Y).multiplyScalar(ve).floor(),ae.copy(Ae).multiplyScalar(ve).floor(),ce=Fe;if(P!==_t&&(ht.bindFramebuffer(36160,_t),P=_t),In.viewport(se),In.scissor(ae),In.setScissorTest(ce),en){const ri=Ft.get(oe.texture);ht.framebufferTexture2D(36160,36064,34069+ft,ri.__webglTexture,tt)}else if(Ki){const ri=Ft.get(oe.texture);ht.framebufferTextureLayer(36160,36064,ri.__webglTexture,tt||0,ft||0)}},this.readRenderTargetPixels=function(oe,ft,tt,_t,en,Ki,ri){if(!oe||!oe.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let vi=Ft.get(oe).__webglFramebuffer;if(oe.isWebGLCubeRenderTarget&&void 0!==ri&&(vi=vi[ri]),vi){let Ci=!1;vi!==P&&(ht.bindFramebuffer(36160,vi),Ci=!0);try{const Fo=oe.texture,Kr=Fo.format,bi=Fo.type;if(Kr!==va&&jn.convert(Kr)!==ht.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const yr=bi===uw&&(Bn.has("EXT_color_buffer_half_float")||Gn.isWebGL2&&Bn.has("EXT_color_buffer_float"));if(!(bi===lb||jn.convert(bi)===ht.getParameter(35738)||bi===Ou&&(Gn.isWebGL2||Bn.has("OES_texture_float")||Bn.has("WEBGL_color_buffer_float"))||yr))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");36053===ht.checkFramebufferStatus(36160)?ft>=0&&ft<=oe.width-_t&&tt>=0&&tt<=oe.height-en&&ht.readPixels(ft,tt,_t,en,jn.convert(Kr),jn.convert(bi),Ki):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{Ci&&ht.bindFramebuffer(36160,P)}}},this.copyFramebufferToTexture=function(oe,ft,tt=0){const _t=Math.pow(2,-tt),en=Math.floor(ft.image.width*_t),Ki=Math.floor(ft.image.height*_t),ri=jn.convert(ft.format);Pt.setTexture2D(ft,0),ht.copyTexImage2D(3553,tt,ri,oe.x,oe.y,en,Ki,0),In.unbindTexture()},this.copyTextureToTexture=function(oe,ft,tt,_t=0){const en=ft.image.width,Ki=ft.image.height,ri=jn.convert(tt.format),vi=jn.convert(tt.type);Pt.setTexture2D(tt,0),ht.pixelStorei(37440,tt.flipY),ht.pixelStorei(37441,tt.premultiplyAlpha),ht.pixelStorei(3317,tt.unpackAlignment),ft.isDataTexture?ht.texSubImage2D(3553,_t,oe.x,oe.y,en,Ki,ri,vi,ft.image.data):ft.isCompressedTexture?ht.compressedTexSubImage2D(3553,_t,oe.x,oe.y,ft.mipmaps[0].width,ft.mipmaps[0].height,ri,ft.mipmaps[0].data):ht.texSubImage2D(3553,_t,oe.x,oe.y,ri,vi,ft.image),0===_t&&tt.generateMipmaps&&ht.generateMipmap(3553),In.unbindTexture()},this.copyTextureToTexture3D=function(oe,ft,tt,_t,en=0){if(y.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const{width:Ki,height:ri,data:vi}=tt.image,Ci=jn.convert(_t.format),Fo=jn.convert(_t.type);let Kr;if(_t.isDataTexture3D)Pt.setTexture3D(_t,0),Kr=32879;else{if(!_t.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");Pt.setTexture2DArray(_t,0),Kr=35866}ht.pixelStorei(37440,_t.flipY),ht.pixelStorei(37441,_t.premultiplyAlpha),ht.pixelStorei(3317,_t.unpackAlignment);const bi=ht.getParameter(3314),yr=ht.getParameter(32878),Nl=ht.getParameter(3316),Xr=ht.getParameter(3315),ah=ht.getParameter(32877);ht.pixelStorei(3314,Ki),ht.pixelStorei(32878,ri),ht.pixelStorei(3316,oe.min.x),ht.pixelStorei(3315,oe.min.y),ht.pixelStorei(32877,oe.min.z),ht.texSubImage3D(Kr,en,ft.x,ft.y,ft.z,oe.max.x-oe.min.x+1,oe.max.y-oe.min.y+1,oe.max.z-oe.min.z+1,Ci,Fo,vi),ht.pixelStorei(3314,bi),ht.pixelStorei(32878,yr),ht.pixelStorei(3316,Nl),ht.pixelStorei(3315,Xr),ht.pixelStorei(32877,ah),0===en&&_t.generateMipmaps&&ht.generateMipmap(Kr),In.unbindTexture()},this.initTexture=function(oe){Pt.setTexture2D(oe,0),In.unbindTexture()},this.resetState=function(){In.reset(),Pn.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}ks.prototype.isGroup=!0,Object.assign(Iw.prototype,{constructor:Iw,getHandSpace:function(){return null===this._hand&&(this._hand=new ks,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand},getTargetRaySpace:function(){return null===this._targetRay&&(this._targetRay=new ks,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1),this._targetRay},getGripSpace:function(){return null===this._grip&&(this._grip=new ks,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1),this._grip},dispatchEvent:function(t){return null!==this._targetRay&&this._targetRay.dispatchEvent(t),null!==this._grip&&this._grip.dispatchEvent(t),null!==this._hand&&this._hand.dispatchEvent(t),this},disconnect:function(t){return this.dispatchEvent({type:"disconnected",data:t}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this},update:function(t,n,e){let i=null,r=null,o=null;const s=this._targetRay,a=this._grip,c=this._hand;if(t&&"visible-blurred"!==n.session.visibilityState)if(c&&t.hand){o=!0;for(const b of t.hand.values()){const y=n.getJointPose(b,e);if(void 0===c.joints[b.jointName]){const x=new ks;x.matrixAutoUpdate=!1,x.visible=!1,c.joints[b.jointName]=x,c.add(x)}const C=c.joints[b.jointName];null!==y&&(C.matrix.fromArray(y.transform.matrix),C.matrix.decompose(C.position,C.rotation,C.scale),C.jointRadius=y.radius),C.visible=null!==y}const u=c.joints["index-finger-tip"].position.distanceTo(c.joints["thumb-tip"].position),h=.02,f=.005;c.inputState.pinching&&u>h+f?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!c.inputState.pinching&&u<=h-f&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else null!==s&&(i=n.getPose(t.targetRaySpace,e),null!==i&&(s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale))),null!==a&&t.gripSpace&&(r=n.getPose(t.gripSpace,e),null!==r&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale)));return null!==s&&(s.visible=null!==i),null!==a&&(a.visible=null!==r),null!==c&&(c.visible=null!==o),this}}),Object.assign(HX.prototype,Nu.prototype);class VX extends vr{}VX.prototype.isWebGL1Renderer=!0;class Dw{constructor(n,e){this.name="",this.color=new Qt(n),this.density=void 0!==e?e:25e-5}clone(){return new Dw(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}Dw.prototype.isFogExp2=!0;class Rw{constructor(n,e,i){this.name="",this.color=new Qt(n),this.near=void 0!==e?e:1,this.far=void 0!==i?i:1e3}clone(){return new Rw(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}Rw.prototype.isFog=!0;class Tb extends Vn{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(n,e){return super.copy(n,e),null!==n.background&&(this.background=n.background.clone()),null!==n.environment&&(this.environment=n.environment.clone()),null!==n.fog&&(this.fog=n.fog.clone()),null!==n.overrideMaterial&&(this.overrideMaterial=n.overrideMaterial.clone()),this.autoUpdate=n.autoUpdate,this.matrixAutoUpdate=n.matrixAutoUpdate,this}toJSON(n){const e=super.toJSON(n);return null!==this.background&&(e.object.background=this.background.toJSON(n)),null!==this.environment&&(e.object.environment=this.environment.toJSON(n)),null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}function Ka(t,n){this.array=t,this.stride=n,this.count=void 0!==t?t.length/n:0,this.usage=Aw,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Yn.generateUUID()}Tb.prototype.isScene=!0,Object.defineProperty(Ka.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(Ka.prototype,{isInterleavedBuffer:!0,onUploadCallback:function(){},setUsage:function(t){return this.usage=t,this},copy:function(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this},copyAt:function(t,n,e){t*=this.stride,e*=n.stride;for(let i=0,r=this.stride;in.far||e.push({distance:c,point:Pw.clone(),uv:Ho.getUV(Pw,rk,Nw,ok,zX,TO,GX,new ut),face:null,object:this})}copy(n){return super.copy(n),void 0!==n.center&&this.center.copy(n.center),this.material=n.material,this}}function sk(t,n,e,i,r,o){Db.subVectors(t,e).addScalar(.5).multiply(i),void 0!==r?(Ow.x=o*Db.x-r*Db.y,Ow.y=r*Db.x+o*Db.y):Ow.copy(Db),t.copy(n),t.x+=Ow.x,t.y+=Ow.y,t.applyMatrix4(QX)}Rb.prototype.isSprite=!0;const ak=new j,WX=new j;class FO extends Vn{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(n){super.copy(n,!1);const e=n.levels;for(let i=0,r=e.length;i0){let i,r;for(i=1,r=e.length;i0){ak.setFromMatrixPosition(this.matrixWorld);const r=n.ray.origin.distanceTo(ak);this.getObjectForDistance(r).raycast(n,e)}}update(n){const e=this.levels;if(e.length>1){ak.setFromMatrixPosition(n.matrixWorld),WX.setFromMatrixPosition(this.matrixWorld);const i=ak.distanceTo(WX)/n.zoom;let r,o;for(e[0].object.visible=!0,r=1,o=e.length;r=e[r].distance;r++)e[r-1].object.visible=!1,e[r].object.visible=!0;for(this._currentLevel=r-1;rs)continue;d.applyMatrix4(this.matrixWorld);const P=t.ray.origin.distanceTo(d);Pt.far||n.push({distance:P,point:l.clone().applyMatrix4(this.matrixWorld),index:C,face:null,faceIndex:null,object:this})}}else for(let y=0,C=b.count-1;ys)continue;d.applyMatrix4(this.matrixWorld);const w=t.ray.origin.distanceTo(d);wt.far||n.push({distance:w,point:l.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}}else e.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")},updateMorphTargets:function(){const t=this.geometry;if(t.isBufferGeometry){const n=t.morphAttributes,e=Object.keys(n);if(e.length>0){const i=n[e[0]];if(void 0!==i){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,o=i.length;r0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}});const nY=new j,iY=new j;function xa(t,n){wa.call(this,t,n),this.type="LineSegments"}xa.prototype=Object.assign(Object.create(wa.prototype),{constructor:xa,isLineSegments:!0,computeLineDistances:function(){const t=this.geometry;if(t.isBufferGeometry)if(null===t.index){const n=t.attributes.position,e=[];for(let i=0,r=n.count;ir.far)return;o.push({distance:l,distanceToRay:Math.sqrt(a),point:c,index:n,face:null,object:s})}}Lb.prototype=Object.assign(Object.create(Vn.prototype),{constructor:Lb,isPoints:!0,copy:function(t){return Vn.prototype.copy.call(this,t),this.material=t.material,this.geometry=t.geometry,this},raycast:function(t,n){const e=this.geometry,i=this.matrixWorld,r=t.params.Points.threshold;if(null===e.boundingSphere&&e.computeBoundingSphere(),uk.copy(e.boundingSphere),uk.applyMatrix4(i),uk.radius+=r,!1===t.ray.intersectsSphere(uk))return;rY.copy(i).invert(),DO.copy(t.ray).applyMatrix4(rY);const o=r/((this.scale.x+this.scale.y+this.scale.z)/3),s=o*o;if(e.isBufferGeometry){const a=e.index,l=e.attributes.position;if(null!==a){const d=a.array;for(let u=0,h=d.length;u0){const i=n[e[0]];if(void 0!==i){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let r=0,o=i.length;r0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}});class sY extends Jo{constructor(n,e,i,r,o,s,a,c,l){super(n,e,i,r,o,s,a,c,l),this.format=void 0!==a?a:wf,this.minFilter=void 0!==s?s:Mo,this.magFilter=void 0!==o?o:Mo,this.generateMipmaps=!1;const d=this;"requestVideoFrameCallback"in n&&n.requestVideoFrameCallback(function u(){d.needsUpdate=!0,n.requestVideoFrameCallback(u)})}clone(){return new this.constructor(this.image).copy(this)}update(){const n=this.image;"requestVideoFrameCallback"in n==0&&n.readyState>=n.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}sY.prototype.isVideoTexture=!0;class RO extends Jo{constructor(n,e,i,r,o,s,a,c,l,d,u,h){super(null,s,a,c,l,d,r,o,u,h),this.image={width:e,height:i},this.mipmaps=n,this.flipY=!1,this.generateMipmaps=!1}}RO.prototype.isCompressedTexture=!0;class LO extends Jo{constructor(n,e,i,r,o,s,a,c,l){super(n,e,i,r,o,s,a,c,l),this.needsUpdate=!0}}LO.prototype.isCanvasTexture=!0;class aY extends Jo{constructor(n,e,i,r,o,s,a,c,l,d){if((d=void 0!==d?d:gp)!==gp&&d!==ub)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===i&&d===gp&&(i=lw),void 0===i&&d===ub&&(i=db),super(null,r,o,s,a,c,d,i,l),this.image={width:n,height:e},this.magFilter=void 0!==a?a:hs,this.minFilter=void 0!==c?c:hs,this.flipY=!1,this.generateMipmaps=!1}}aY.prototype.isDepthTexture=!0;class fk extends En{constructor(n=1,e=8,i=0,r=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:n,segments:e,thetaStart:i,thetaLength:r},e=Math.max(3,e);const o=[],s=[],a=[],c=[],l=new j,d=new ut;s.push(0,0,0),a.push(0,0,1),c.push(.5,.5);for(let u=0,h=3;u<=e;u++,h+=3){const f=i+u/e*r;l.x=n*Math.cos(f),l.y=n*Math.sin(f),s.push(l.x,l.y,l.z),a.push(0,0,1),d.x=(s[h]/n+1)/2,d.y=(s[h+1]/n+1)/2,c.push(d.x,d.y)}for(let u=1;u<=e;u++)o.push(u,u+1,0);this.setIndex(o),this.setAttribute("position",new pn(s,3)),this.setAttribute("normal",new pn(a,3)),this.setAttribute("uv",new pn(c,2))}}class Pb extends En{constructor(n=1,e=1,i=1,r=8,o=1,s=!1,a=0,c=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:n,radiusBottom:e,height:i,radialSegments:r,heightSegments:o,openEnded:s,thetaStart:a,thetaLength:c};const l=this;r=Math.floor(r),o=Math.floor(o);const d=[],u=[],h=[],f=[];let b=0;const y=[],C=i/2;let x=0;function S(M){const P=b,R=new ut,W=new j;let se=0;const ae=!0===M?n:e,ce=!0===M?1:-1;for(let Me=1;Me<=r;Me++)u.push(0,C*ce,0),h.push(0,ce,0),f.push(.5,.5),b++;const ue=b;for(let Me=0;Me<=r;Me++){const $=Me/r*c+a,me=Math.cos($),Y=Math.sin($);W.x=ae*Y,W.y=C*ce,W.z=ae*me,u.push(W.x,W.y,W.z),h.push(0,ce,0),R.x=.5*me+.5,R.y=.5*Y*ce+.5,f.push(R.x,R.y),b++}for(let Me=0;Me0&&S(!0),e>0&&S(!1)),this.setIndex(d),this.setAttribute("position",new pn(u,3)),this.setAttribute("normal",new pn(h,3)),this.setAttribute("uv",new pn(f,2))}}class mk extends Pb{constructor(n=1,e=1,i=8,r=1,o=!1,s=0,a=2*Math.PI){super(0,n,e,i,r,o,s,a),this.type="ConeGeometry",this.parameters={radius:n,height:e,radialSegments:i,heightSegments:r,openEnded:o,thetaStart:s,thetaLength:a}}}class Rf extends En{constructor(n,e,i=1,r=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:n,indices:e,radius:i,detail:r};const o=[],s=[];function c(w,S,M,P){const R=P+1,W=[];for(let se=0;se<=R;se++){W[se]=[];const ae=w.clone().lerp(M,se/R),ce=S.clone().lerp(M,se/R),ue=R-se;for(let Me=0;Me<=ue;Me++)W[se][Me]=0===Me&&se===R?ae:ae.clone().lerp(ce,Me/ue)}for(let se=0;se.9&&W<.1&&(S<.2&&(s[w+0]+=1),M<.2&&(s[w+2]+=1),P<.2&&(s[w+4]+=1))}}()}(),this.setAttribute("position",new pn(o,3)),this.setAttribute("normal",new pn(o.slice(),3)),this.setAttribute("uv",new pn(s,2)),0===r?this.computeVertexNormals():this.normalizeNormals()}}class pk extends Rf{constructor(n=1,e=0){const i=(1+Math.sqrt(5))/2,r=1/i;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-r,-i,0,-r,i,0,r,-i,0,r,i,-r,-i,0,-r,i,0,r,-i,0,r,i,0,-i,0,-r,i,0,-r,-i,0,r,i,0,r],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],n,e),this.type="DodecahedronGeometry",this.parameters={radius:n,detail:e}}}const Ak=new j,gk=new j,PO=new j,bk=new Ho;class OO extends En{constructor(n,e){if(super(),this.type="EdgesGeometry",this.parameters={thresholdAngle:e},e=void 0!==e?e:1,!0===n.isGeometry)return void console.error("THREE.EdgesGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");const r=Math.pow(10,4),o=Math.cos(Yn.DEG2RAD*e),s=n.getIndex(),a=n.getAttribute("position"),c=s?s.count:a.count,l=[0,0,0],d=["a","b","c"],u=new Array(3),h={},f=[];for(let b=0;b0)for(o=n;o=n;o-=i)s=uY(o,t[o],t[o+1],s);return s&&_k(s,s.next)&&(Ww(s),s=s.next),s}function Lf(t,n){if(!t)return t;n||(n=t);let i,e=t;do{if(i=!1,e.steiner||!_k(e,e.next)&&0!==go(e.prev,e,e.next))e=e.next;else{if(Ww(e),e=n=e.prev,e===e.next)break;i=!0}}while(i||e!==n);return n}function zw(t,n,e,i,r,o,s){if(!t)return;!s&&o&&function ske(t,n,e,i){let r=t;do{null===r.z&&(r.z=NO(r.x,r.y,n,e,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function ake(t){let n,e,i,r,o,s,a,c,l=1;do{for(e=t,t=null,o=null,s=0;e;){for(s++,i=e,a=0,n=0;n0||c>0&&i;)0!==a&&(0===c||!i||e.z<=i.z)?(r=e,e=e.nextZ,a--):(r=i,i=i.nextZ,c--),o?o.nextZ=r:t=r,r.prevZ=o,o=r;e=i}o.nextZ=null,l*=2}while(s>1)}(r)}(t,i,r,o);let c,l,a=t;for(;t.prev!==t.next;)if(c=t.prev,l=t.next,o?ZSe(t,i,r,o):qSe(t))n.push(c.i/e),n.push(t.i/e),n.push(l.i/e),Ww(t),t=l.next,a=l.next;else if((t=l)===a){s?1===s?zw(t=JSe(Lf(t),n,e),n,e,i,r,o,2):2===s&&eke(t,n,e,i,r,o):zw(Lf(t),n,e,i,r,o,1);break}}function qSe(t){const n=t.prev,e=t,i=t.next;if(go(n,e,i)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(Ob(n.x,n.y,e.x,e.y,i.x,i.y,r.x,r.y)&&go(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function ZSe(t,n,e,i){const r=t.prev,o=t,s=t.next;if(go(r,o,s)>=0)return!1;const l=r.x>o.x?r.x>s.x?r.x:s.x:o.x>s.x?o.x:s.x,d=r.y>o.y?r.y>s.y?r.y:s.y:o.y>s.y?o.y:s.y,u=NO(r.x=u&&b&&b.z<=h;){if(f!==t.prev&&f!==t.next&&Ob(r.x,r.y,o.x,o.y,s.x,s.y,f.x,f.y)&&go(f.prev,f,f.next)>=0||(f=f.prevZ,b!==t.prev&&b!==t.next&&Ob(r.x,r.y,o.x,o.y,s.x,s.y,b.x,b.y)&&go(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;f&&f.z>=u;){if(f!==t.prev&&f!==t.next&&Ob(r.x,r.y,o.x,o.y,s.x,s.y,f.x,f.y)&&go(f.prev,f,f.next)>=0)return!1;f=f.prevZ}for(;b&&b.z<=h;){if(b!==t.prev&&b!==t.next&&Ob(r.x,r.y,o.x,o.y,s.x,s.y,b.x,b.y)&&go(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function JSe(t,n,e){let i=t;do{const r=i.prev,o=i.next.next;!_k(r,o)&&lY(r,i,i.next,o)&&Gw(r,o)&&Gw(o,r)&&(n.push(r.i/e),n.push(i.i/e),n.push(o.i/e),Ww(i),Ww(i.next),i=t=o),i=i.next}while(i!==t);return Lf(i)}function eke(t,n,e,i,r,o){let s=t;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&lke(s,a)){let c=dY(s,a);return s=Lf(s,s.next),c=Lf(c,c.next),zw(s,n,e,i,r,o),void zw(c,n,e,i,r,o)}a=a.next}s=s.next}while(s!==t)}function nke(t,n){return t.x-n.x}function ike(t,n){if(n=function rke(t,n){let e=n;const i=t.x,r=t.y;let s,o=-1/0;do{if(r<=e.y&&r>=e.next.y&&e.next.y!==e.y){const h=e.x+(r-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(h<=i&&h>o){if(o=h,h===i){if(r===e.y)return e;if(r===e.next.y)return e.next}s=e.x=e.x&&e.x>=c&&i!==e.x&&Ob(rs.x||e.x===s.x&&oke(s,e)))&&(s=e,d=u)),e=e.next}while(e!==a);return s}(t,n),n){const e=dY(n,t);Lf(n,n.next),Lf(e,e.next)}}function oke(t,n){return go(t.prev,t,n.prev)<0&&go(n.next,t,t.next)<0}function NO(t,n,e,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-e)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n=32767*(n-i)*r)|n<<8))|n<<4))|n<<2))|n<<1))<<1}function cke(t){let n=t,e=t;do{(n.x=0&&(t-s)*(i-a)-(e-s)*(n-a)>=0&&(e-s)*(o-a)-(r-s)*(i-a)>=0}function lke(t,n){return t.next.i!==n.i&&t.prev.i!==n.i&&!function dke(t,n){let e=t;do{if(e.i!==t.i&&e.next.i!==t.i&&e.i!==n.i&&e.next.i!==n.i&&lY(e,e.next,t,n))return!0;e=e.next}while(e!==t);return!1}(t,n)&&(Gw(t,n)&&Gw(n,t)&&function uke(t,n){let e=t,i=!1;const r=(t.x+n.x)/2,o=(t.y+n.y)/2;do{e.y>o!=e.next.y>o&&e.next.y!==e.y&&r<(e.next.x-e.x)*(o-e.y)/(e.next.y-e.y)+e.x&&(i=!i),e=e.next}while(e!==t);return i}(t,n)&&(go(t.prev,t,n.prev)||go(t,n.prev,n))||_k(t,n)&&go(t.prev,t,t.next)>0&&go(n.prev,n,n.next)>0)}function go(t,n,e){return(n.y-t.y)*(e.x-n.x)-(n.x-t.x)*(e.y-n.y)}function _k(t,n){return t.x===n.x&&t.y===n.y}function lY(t,n,e,i){const r=yk(go(t,n,e)),o=yk(go(t,n,i)),s=yk(go(e,i,t)),a=yk(go(e,i,n));return!!(r!==o&&s!==a||0===r&&vk(t,e,n)||0===o&&vk(t,i,n)||0===s&&vk(e,t,i)||0===a&&vk(e,n,i))}function vk(t,n,e){return n.x<=Math.max(t.x,e.x)&&n.x>=Math.min(t.x,e.x)&&n.y<=Math.max(t.y,e.y)&&n.y>=Math.min(t.y,e.y)}function yk(t){return t>0?1:t<0?-1:0}function Gw(t,n){return go(t.prev,t,t.next)<0?go(t,n,t.next)>=0&&go(t,t.prev,n)>=0:go(t,n,t.prev)<0||go(t,t.next,n)<0}function dY(t,n){const e=new UO(t.i,t.x,t.y),i=new UO(n.i,n.x,n.y),r=t.next,o=n.prev;return t.next=n,n.prev=t,e.next=r,r.prev=e,i.next=e,e.prev=i,o.next=i,i.prev=o,i}function uY(t,n,e,i){const r=new UO(t,n,e);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Ww(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function UO(t,n,e){this.i=t,this.x=n,this.y=e,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}const Wu={area:function(t){const n=t.length;let e=0;for(let i=n-1,r=0;r80*e){a=l=t[0],c=d=t[1];for(let b=e;bl&&(l=u),h>d&&(d=h);f=Math.max(l-a,d-c),f=0!==f?1/f:0}return zw(o,s,e,a,c,f),s}(e,i);for(let a=0;a2&&t[n-1].equals(t[0])&&t.pop()}function fY(t,n){for(let e=0;eNumber.EPSILON){const yn=Math.sqrt(Ut),Nt=Math.sqrt(Ct*Ct+Te*Te),Wn=Pt.x-wt/yn,jn=Pt.y+ne/yn,Hn=((Kt.x-Te/Nt-Wn)*Te-(Kt.y+Ct/Nt-jn)*Ct)/(ne*Te-wt*Ct);Dn=Wn+ne*Hn-Ft.x,An=jn+wt*Hn-Ft.y;const _o=Dn*Dn+An*An;if(_o<=2)return new ut(Dn,An);re=Math.sqrt(_o/2)}else{let yn=!1;ne>Number.EPSILON?Ct>Number.EPSILON&&(yn=!0):ne<-Number.EPSILON?Ct<-Number.EPSILON&&(yn=!0):Math.sign(wt)===Math.sign(Te)&&(yn=!0),yn?(Dn=-wt,An=ne,re=Math.sqrt(Ut)):(Dn=ne,An=wt,re=Math.sqrt(Ut/2))}return new ut(Dn/re,An/re)}const Pe=[];for(let Ft=0,Pt=$.length,Kt=Pt-1,Dn=Ft+1;Ft=0;Ft--){const Pt=Ft/C,Kt=f*Math.cos(Pt*Math.PI/2),Dn=b*Math.sin(Pt*Math.PI/2)+y;for(let An=0,re=$.length;An=0;){const Dn=Kt;let An=Kt-1;An<0&&(An=Ft.length-1);for(let re=0,ne=d+2*C;re=0?(t(x-a,y,d),u.subVectors(l,d)):(t(x+a,y,d),u.subVectors(d,l)),y-a>=0?(t(x,y-a,d),h.subVectors(l,d)):(t(x,y+a,d),h.subVectors(d,l)),c.crossVectors(u,h).normalize(),o.push(c.x,c.y,c.z),s.push(x,y)}}for(let b=0;b0)&&f.push(d[x][w+1],M,R),(x!==i-1||c=i)){u.push(l.times[f]);for(let y=0;yo.tracks[c].times[0]&&(a=o.tracks[c].times[0]);for(let c=0;c=a.times[b]){const x=b*u+d;y=to.arraySlice(a.values,x,x+u-d)}else{const x=a.createInterpolant(),w=d,S=u-d;x.evaluate(o),y=to.arraySlice(x.resultBuffer,w,S)}"quaternion"===c&&(new Ms).fromArray(y).normalize().conjugate().toArray(y);const C=l.times.length;for(let x=0;x=r)break e;{const s=n[1];t=r)break t}o=e,e=0}}for(;e>>1;te;)--s;if(++s,0!==o||s!==r){o>=s&&(s=Math.max(s,1),o=s-1);const a=this.getValueSize();this.times=to.arraySlice(i,o,s),this.values=to.arraySlice(this.values,o*a,s*a)}return this}validate(){let n=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),n=!1);const i=this.times,r=this.values,o=i.length;0===o&&(console.error("THREE.KeyframeTrack: Track is empty.",this),n=!1);let s=null;for(let a=0;a!==o;a++){const c=i[a];if("number"==typeof c&&isNaN(c)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,c),n=!1;break}if(null!==s&&s>c){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,c,s),n=!1;break}s=c}if(void 0!==r&&to.isTypedArray(r))for(let a=0,c=r.length;a!==c;++a){const l=r[a];if(isNaN(l)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,l),n=!1;break}}return n}optimize(){const n=to.arraySlice(this.times),e=to.arraySlice(this.values),i=this.getValueSize(),r=this.getInterpolation()===TS,o=n.length-1;let s=1;for(let a=1;a0){n[s]=n[o];for(let a=o*i,c=s*i,l=0;l!==i;++l)e[c+l]=e[a+l];++s}return s!==n.length?(this.times=to.arraySlice(n,0,s),this.values=to.arraySlice(e,0,s*i)):(this.times=n,this.values=e),this}clone(){const n=to.arraySlice(this.times,0),e=to.arraySlice(this.values,0),r=new(0,this.constructor)(this.name,n,e);return r.createInterpolant=this.createInterpolant,r}}Sl.prototype.TimeBufferType=Float32Array,Sl.prototype.ValueBufferType=Float32Array,Sl.prototype.DefaultInterpolation=fw;class Bp extends Sl{}Bp.prototype.ValueTypeName="bool",Bp.prototype.ValueBufferType=Array,Bp.prototype.DefaultInterpolation=hw,Bp.prototype.InterpolantFactoryMethodLinear=void 0,Bp.prototype.InterpolantFactoryMethodSmooth=void 0;class WO extends Sl{}WO.prototype.ValueTypeName="color";class Yw extends Sl{}function Rk(t,n,e,i){wc.call(this,t,n,e,i)}Yw.prototype.ValueTypeName="number",Rk.prototype=Object.assign(Object.create(wc.prototype),{constructor:Rk,interpolate_:function(t,n,e,i){const r=this.resultBuffer,o=this.sampleValues,s=this.valueSize,a=(e-n)/(i-n);let c=t*s;for(let l=c+s;c!==l;c+=4)Ms.slerpFlat(r,0,o,c-s,o,c,a);return r}});class Hb extends Sl{InterpolantFactoryMethodLinear(n){return new Rk(this.times,this.values,this.getValueSize(),n)}}Hb.prototype.ValueTypeName="quaternion",Hb.prototype.DefaultInterpolation=fw,Hb.prototype.InterpolantFactoryMethodSmooth=void 0;class Ip extends Sl{}Ip.prototype.ValueTypeName="string",Ip.prototype.ValueBufferType=Array,Ip.prototype.DefaultInterpolation=hw,Ip.prototype.InterpolantFactoryMethodLinear=void 0,Ip.prototype.InterpolantFactoryMethodSmooth=void 0;class qw extends Sl{}qw.prototype.ValueTypeName="vector";class Zw{constructor(n,e=-1,i,r=FS){this.name=n,this.tracks=i,this.duration=e,this.blendMode=r,this.uuid=Yn.generateUUID(),this.duration<0&&this.resetDuration()}static parse(n){const e=[],i=n.tracks,r=1/(n.fps||1);for(let s=0,a=i.length;s!==a;++s)e.push(bke(i[s]).scale(r));const o=new this(n.name,n.duration,e,n.blendMode);return o.uuid=n.uuid,o}static toJSON(n){const e=[],i=n.tracks,r={name:n.name,duration:n.duration,tracks:e,uuid:n.uuid,blendMode:n.blendMode};for(let o=0,s=i.length;o!==s;++o)e.push(Sl.toJSON(i[o]));return r}static CreateFromMorphTargetSequence(n,e,i,r){const o=e.length,s=[];for(let a=0;a1){const u=d[1];let h=r[u];h||(r[u]=h=[]),h.push(l)}}const s=[];for(const a in r)s.push(this.CreateFromMorphTargetSequence(a,r[a],e,i));return s}static parseAnimation(n,e){if(!n)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(u,h,f,b,y){if(0!==f.length){const C=[],x=[];to.flattenJSON(f,C,x,b),0!==C.length&&y.push(new u(h,C,x))}},r=[],o=n.name||"default",s=n.fps||30,a=n.blendMode;let c=n.length||-1;const l=n.hierarchy||[];for(let u=0;u0||0===t.search(/^data\:image\/jpeg/);r.format=a?wf:va,r.needsUpdate=!0,void 0!==n&&n(r)},e,i),r}}),Object.assign(Ea.prototype,{getPoint:function(){return console.warn("THREE.Curve: .getPoint() not implemented."),null},getPointAt:function(t,n){const e=this.getUtoTmapping(t);return this.getPoint(e,n)},getPoints:function(t=5){const n=[];for(let e=0;e<=t;e++)n.push(this.getPoint(e/t));return n},getSpacedPoints:function(t=5){const n=[];for(let e=0;e<=t;e++)n.push(this.getPointAt(e/t));return n},getLength:function(){const t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(void 0===t&&(t=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const n=[];let e,i=this.getPoint(0),r=0;n.push(0);for(let o=1;o<=t;o++)e=this.getPoint(o/t),r+=e.distanceTo(i),n.push(r),i=e;return this.cacheArcLengths=n,n},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(t,n){const e=this.getLengths();let i=0;const r=e.length;let o;o=n||t*e[r-1];let c,s=0,a=r-1;for(;s<=a;)if(i=Math.floor(s+(a-s)/2),c=e[i]-o,c<0)s=i+1;else{if(!(c>0)){a=i;break}a=i-1}if(i=a,e[i]===o)return i/(r-1);const l=e[i];return(i+(o-l)/(e[i+1]-l))/(r-1)},getTangent:function(t,n){let i=t-1e-4,r=t+1e-4;i<0&&(i=0),r>1&&(r=1);const o=this.getPoint(i),s=this.getPoint(r),a=n||(o.isVector2?new ut:new j);return a.copy(s).sub(o).normalize(),a},getTangentAt:function(t,n){const e=this.getUtoTmapping(t);return this.getTangent(e,n)},computeFrenetFrames:function(t,n){const e=new j,i=[],r=[],o=[],s=new j,a=new Tn;for(let h=0;h<=t;h++)i[h]=this.getTangentAt(h/t,new j),i[h].normalize();r[0]=new j,o[0]=new j;let c=Number.MAX_VALUE;const l=Math.abs(i[0].x),d=Math.abs(i[0].y),u=Math.abs(i[0].z);l<=c&&(c=l,e.set(1,0,0)),d<=c&&(c=d,e.set(0,1,0)),u<=c&&e.set(0,0,1),s.crossVectors(i[0],e).normalize(),r[0].crossVectors(i[0],s),o[0].crossVectors(i[0],r[0]);for(let h=1;h<=t;h++){if(r[h]=r[h-1].clone(),o[h]=o[h-1].clone(),s.crossVectors(i[h-1],i[h]),s.length()>Number.EPSILON){s.normalize();const f=Math.acos(Yn.clamp(i[h-1].dot(i[h]),-1,1));r[h].applyMatrix4(a.makeRotationAxis(s,f))}o[h].crossVectors(i[h],r[h])}if(!0===n){let h=Math.acos(Yn.clamp(r[0].dot(r[t]),-1,1));h/=t,i[0].dot(s.crossVectors(r[0],r[t]))>0&&(h=-h);for(let f=1;f<=t;f++)r[f].applyMatrix4(a.makeRotationAxis(i[f],h*f)),o[f].crossVectors(i[f],r[f])}return{tangents:i,normals:r,binormals:o}},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this},toJSON:function(){const t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t},fromJSON:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}});class Jw extends Ea{constructor(n=0,e=0,i=1,r=1,o=0,s=2*Math.PI,a=!1,c=0){super(),this.type="EllipseCurve",this.aX=n,this.aY=e,this.xRadius=i,this.yRadius=r,this.aStartAngle=o,this.aEndAngle=s,this.aClockwise=a,this.aRotation=c}getPoint(n,e){const i=e||new ut,r=2*Math.PI;let o=this.aEndAngle-this.aStartAngle;const s=Math.abs(o)r;)o-=r;o0?0:(Math.floor(Math.abs(a)/o)+1)*o:0===c&&a===o-1&&(a=o-2,c=1),this.closed||a>0?l=r[(a-1)%o]:(Nk.subVectors(r[0],r[1]).add(r[0]),l=Nk);const u=r[a%o],h=r[(a+1)%o];if(this.closed||a+2r.length-2?r.length-1:s+1],u=r[s>r.length-3?r.length-1:s+2];return i.set(AY(a,c.x,l.x,d.x,u.x),AY(a,c.y,l.y,d.y,u.y)),i}copy(n){super.copy(n),this.points=[];for(let e=0,i=n.points.length;e=e){const o=i[r]-e,s=this.curves[r],a=s.getLength();return s.getPointAt(0===a?0:1-o/a)}r++}return null}getLength(){const n=this.getCurveLengths();return n[n.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 n=[];let e=0;for(let i=0,r=this.curves.length;i1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(n){super.copy(n),this.curves=[];for(let e=0,i=n.curves.length;e0){const u=l.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(l);const d=l.getPoint(1);return this.currentPoint.copy(d),this}copy(n){return super.copy(n),this.currentPoint.copy(n.currentPoint),this}toJSON(){const n=super.toJSON();return n.currentPoint=this.currentPoint.toArray(),n}fromJSON(n){return super.fromJSON(n),this.currentPoint.fromArray(n.currentPoint),this}}class Of extends ix{constructor(n){super(n),this.uuid=Yn.generateUUID(),this.type="Shape",this.holes=[]}getPointsHoles(n){const e=[];for(let i=0,r=this.holes.length;i0:n.vertexColors),void 0!==n.uniforms)for(const o in n.uniforms){const s=n.uniforms[o];switch(r.uniforms[o]={},s.type){case"t":r.uniforms[o].value=i(s.value);break;case"c":r.uniforms[o].value=(new Qt).setHex(s.value);break;case"v2":r.uniforms[o].value=(new ut).fromArray(s.value);break;case"v3":r.uniforms[o].value=(new j).fromArray(s.value);break;case"v4":r.uniforms[o].value=(new _r).fromArray(s.value);break;case"m3":r.uniforms[o].value=(new fs).fromArray(s.value);break;case"m4":r.uniforms[o].value=(new Tn).fromArray(s.value);break;default:r.uniforms[o].value=s.value}}if(void 0!==n.defines&&(r.defines=n.defines),void 0!==n.vertexShader&&(r.vertexShader=n.vertexShader),void 0!==n.fragmentShader&&(r.fragmentShader=n.fragmentShader),void 0!==n.extensions)for(const o in n.extensions)r.extensions[o]=n.extensions[o];if(void 0!==n.shading&&(r.flatShading=1===n.shading),void 0!==n.size&&(r.size=n.size),void 0!==n.sizeAttenuation&&(r.sizeAttenuation=n.sizeAttenuation),void 0!==n.map&&(r.map=i(n.map)),void 0!==n.matcap&&(r.matcap=i(n.matcap)),void 0!==n.alphaMap&&(r.alphaMap=i(n.alphaMap)),void 0!==n.bumpMap&&(r.bumpMap=i(n.bumpMap)),void 0!==n.bumpScale&&(r.bumpScale=n.bumpScale),void 0!==n.normalMap&&(r.normalMap=i(n.normalMap)),void 0!==n.normalMapType&&(r.normalMapType=n.normalMapType),void 0!==n.normalScale){let o=n.normalScale;!1===Array.isArray(o)&&(o=[o,o]),r.normalScale=(new ut).fromArray(o)}return void 0!==n.displacementMap&&(r.displacementMap=i(n.displacementMap)),void 0!==n.displacementScale&&(r.displacementScale=n.displacementScale),void 0!==n.displacementBias&&(r.displacementBias=n.displacementBias),void 0!==n.roughnessMap&&(r.roughnessMap=i(n.roughnessMap)),void 0!==n.metalnessMap&&(r.metalnessMap=i(n.metalnessMap)),void 0!==n.emissiveMap&&(r.emissiveMap=i(n.emissiveMap)),void 0!==n.emissiveIntensity&&(r.emissiveIntensity=n.emissiveIntensity),void 0!==n.specularMap&&(r.specularMap=i(n.specularMap)),void 0!==n.envMap&&(r.envMap=i(n.envMap)),void 0!==n.envMapIntensity&&(r.envMapIntensity=n.envMapIntensity),void 0!==n.reflectivity&&(r.reflectivity=n.reflectivity),void 0!==n.refractionRatio&&(r.refractionRatio=n.refractionRatio),void 0!==n.lightMap&&(r.lightMap=i(n.lightMap)),void 0!==n.lightMapIntensity&&(r.lightMapIntensity=n.lightMapIntensity),void 0!==n.aoMap&&(r.aoMap=i(n.aoMap)),void 0!==n.aoMapIntensity&&(r.aoMapIntensity=n.aoMapIntensity),void 0!==n.gradientMap&&(r.gradientMap=i(n.gradientMap)),void 0!==n.clearcoatMap&&(r.clearcoatMap=i(n.clearcoatMap)),void 0!==n.clearcoatRoughnessMap&&(r.clearcoatRoughnessMap=i(n.clearcoatRoughnessMap)),void 0!==n.clearcoatNormalMap&&(r.clearcoatNormalMap=i(n.clearcoatNormalMap)),void 0!==n.clearcoatNormalScale&&(r.clearcoatNormalScale=(new ut).fromArray(n.clearcoatNormalScale)),void 0!==n.transmission&&(r.transmission=n.transmission),void 0!==n.transmissionMap&&(r.transmissionMap=i(n.transmissionMap)),r}setTextures(n){return this.textures=n,this}}const lN={decodeText:function(t){if(typeof TextDecoder<"u")return(new TextDecoder).decode(t);let n="";for(let e=0,i=t.length;e0){const c=new $O(e);o=new Lk(c),o.setCrossOrigin(this.crossOrigin);for(let l=0,d=n.length;l"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),ko.call(this,t),this.options={premultiplyAlpha:"none"}}dN.prototype=Object.assign(Object.create(ko.prototype),{constructor:dN,isImageBitmapLoader:!0,setOptions:function(n){return this.options=n,this},load:function(t,n,e,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=this,o=Dp.get(t);if(void 0!==o)return r.manager.itemStart(t),setTimeout(function(){n&&n(o),r.manager.itemEnd(t)},0),o;const s={};s.credentials="anonymous"===this.crossOrigin?"same-origin":"include",s.headers=this.requestHeader,fetch(t,s).then(function(a){return a.blob()}).then(function(a){return createImageBitmap(a,Object.assign(r.options,{colorSpaceConversion:"none"}))}).then(function(a){Dp.add(t,a),n&&n(a),r.manager.itemEnd(t)}).catch(function(a){i&&i(a),r.manager.itemError(t),r.manager.itemEnd(t)}),r.manager.itemStart(t)}});class FY{constructor(){this.type="ShapePath",this.color=new Qt,this.subPaths=[],this.currentPath=null}moveTo(n,e){return this.currentPath=new ix,this.subPaths.push(this.currentPath),this.currentPath.moveTo(n,e),this}lineTo(n,e){return this.currentPath.lineTo(n,e),this}quadraticCurveTo(n,e,i,r){return this.currentPath.quadraticCurveTo(n,e,i,r),this}bezierCurveTo(n,e,i,r,o,s){return this.currentPath.bezierCurveTo(n,e,i,r,o,s),this}splineThru(n){return this.currentPath.splineThru(n),this}toShapes(n,e){function i(w){const S=[];for(let M=0,P=w.length;MNumber.EPSILON){if(ue<0&&(se=S[W],ce=-ce,ae=S[R],ue=-ue),w.yae.y)continue;if(w.y===se.y){if(w.x===se.x)return!0}else{const Me=ue*(w.x-se.x)-ce*(w.y-se.y);if(0===Me)return!0;if(Me<0)continue;P=!P}}else{if(w.y!==se.y)continue;if(ae.x<=w.x&&w.x<=se.x||se.x<=w.x&&w.x<=ae.x)return!0}}return P}const o=Wu.isClockWise,s=this.subPaths;if(0===s.length)return[];if(!0===e)return i(s);let a,c,l;const d=[];if(1===s.length)return c=s[0],l=new Of,l.curves=c.curves,d.push(l),d;let u=!o(s[0].getPoints());u=n?!u:u;const h=[],f=[];let C,x,b=[],y=0;f[y]=void 0,b[y]=[];for(let w=0,S=s.length;w1){let w=!1;const S=[];for(let M=0,P=f.length;M0&&(w||(b=h))}for(let w=0,S=f.length;w"u"?Date:performance).now()}const Pp=new j,OY=new Ms,Dke=new j,Op=new j;class Rke extends Vn{constructor(){super(),this.type="AudioListener",this.context=hN.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new fN}getInput(){return this.gain}removeFilter(){return null!==this.filter&&(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(n){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=n,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(n){return this.gain.gain.setTargetAtTime(n,this.context.currentTime,.01),this}updateMatrixWorld(n){super.updateMatrixWorld(n);const e=this.context.listener,i=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Pp,OY,Dke),Op.set(0,0,-1).applyQuaternion(OY),e.positionX){const r=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(Pp.x,r),e.positionY.linearRampToValueAtTime(Pp.y,r),e.positionZ.linearRampToValueAtTime(Pp.z,r),e.forwardX.linearRampToValueAtTime(Op.x,r),e.forwardY.linearRampToValueAtTime(Op.y,r),e.forwardZ.linearRampToValueAtTime(Op.z,r),e.upX.linearRampToValueAtTime(i.x,r),e.upY.linearRampToValueAtTime(i.y,r),e.upZ.linearRampToValueAtTime(i.z,r)}else e.setPosition(Pp.x,Pp.y,Pp.z),e.setOrientation(Op.x,Op.y,Op.z,i.x,i.y,i.z)}}class mN extends Vn{constructor(n){super(),this.type="Audio",this.listener=n,this.context=n.context,this.gain=this.context.createGain(),this.gain.connect(n.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(n){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=n,this.connect(),this}setMediaElementSource(n){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(n),this.connect(),this}setMediaStreamSource(n){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(n),this.connect(),this}setBuffer(n){return this.buffer=n,this.sourceType="buffer",this.autoplay&&this.play(),this}play(n=0){if(!0===this.isPlaying)return void console.warn("THREE.Audio: Audio is already playing.");if(!1===this.hasPlaybackControl)return void console.warn("THREE.Audio: this Audio has no playback control.");this._startedAt=this.context.currentTime+n;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(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,!0===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")}stop(){if(!1!==this.hasPlaybackControl)return this._progress=0,this.source.stop(),this.source.onended=null,this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let n=1,e=this.filters.length;n0){this.source.disconnect(this.filters[0]);for(let n=1,e=this.filters.length;n0&&this._mixBufferRegionAdditive(i,r,this._addIndex*e,1,e);for(let c=e,l=e+e;c!==l;++c)if(i[c]!==i[c+e]){a.setValue(i,r);break}}saveOriginalState(){const e=this.buffer,i=this.valueSize,r=i*this._origIndex;this.binding.getValue(e,r);for(let o=i,s=r;o!==s;++o)e[o]=e[r+o%i];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){this.binding.setValue(this.buffer,3*this.valueSize)}_setAdditiveIdentityNumeric(){const n=this._addIndex*this.valueSize,e=n+this.valueSize;for(let i=n;i=.5)for(let s=0;s!==o;++s)n[e+s]=n[i+s]}_slerp(n,e,i,r){Ms.slerpFlat(n,e,n,e,n,i,r)}_slerpAdditive(n,e,i,r,o){const s=this._workIndex*o;Ms.multiplyQuaternionsFlat(n,s,n,e,n,i),Ms.slerpFlat(n,e,n,e,n,s,r)}_lerp(n,e,i,r,o){const s=1-r;for(let a=0;a!==o;++a){const c=e+a;n[c]=n[c]*s+n[i+a]*r}}_lerpAdditive(n,e,i,r,o){for(let s=0;s!==o;++s){const a=e+s;n[a]=n[a]+n[i+s]*r}}}const pN="\\[\\]\\.:\\/",Oke=new RegExp("["+pN+"]","g"),AN="[^"+pN+"]",Nke="[^"+pN.replace("\\.","")+"]",Uke=/((?:WC+[\/:])*)/.source.replace("WC",AN),Hke=/(WCOD+)?/.source.replace("WCOD",Nke),Vke=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",AN),Qke=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",AN),zke=new RegExp("^"+Uke+Hke+Vke+Qke+"$"),Gke=["material","materials","bones"];function VY(t,n,e){const i=e||ea.parseTrackName(n);this._targetGroup=t,this._bindings=t.subscribe_(n,i)}function ea(t,n,e){this.path=n,this.parsedPath=e||ea.parseTrackName(n),this.node=ea.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t}Object.assign(VY.prototype,{getValue:function(t,n){this.bind();const i=this._bindings[this._targetGroup.nCachedObjects_];void 0!==i&&i.getValue(t,n)},setValue:function(t,n){const e=this._bindings;for(let i=this._targetGroup.nCachedObjects_,r=e.length;i!==r;++i)e[i].setValue(t,n)},bind:function(){const t=this._bindings;for(let n=this._targetGroup.nCachedObjects_,e=t.length;n!==e;++n)t[n].bind()},unbind:function(){const t=this._bindings;for(let n=this._targetGroup.nCachedObjects_,e=t.length;n!==e;++n)t[n].unbind()}}),Object.assign(ea,{Composite:VY,create:function(t,n,e){return t&&t.isAnimationObjectGroup?new ea.Composite(t,n,e):new ea(t,n,e)},sanitizeNodeName:function(t){return t.replace(/\s/g,"_").replace(Oke,"")},parseTrackName:function(t){const n=zke.exec(t);if(!n)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const e={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},i=e.nodeName&&e.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){const r=e.nodeName.substring(i+1);-1!==Gke.indexOf(r)&&(e.nodeName=e.nodeName.substring(0,i),e.objectName=r)}if(null===e.propertyName||0===e.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return e},findNode:function(t,n){if(!n||""===n||"."===n||-1===n||n===t.name||n===t.uuid)return t;if(t.skeleton){const e=t.skeleton.getBoneByName(n);if(void 0!==e)return e}if(t.children){const e=function(r){for(let o=0;o=o){const u=o++,h=n[u];e[h.uuid]=d,n[d]=h,e[l]=u,n[u]=c;for(let f=0,b=r;f!==b;++f){const y=i[f],x=y[d];y[d]=y[u],y[u]=x}}}this.nCachedObjects_=o}uncache(){const n=this._objects,e=this._indicesByUUID,i=this._bindings,r=i.length;let o=this.nCachedObjects_,s=n.length;for(let a=0,c=arguments.length;a!==c;++a){const d=arguments[a].uuid,u=e[d];if(void 0!==u)if(delete e[d],u0&&(e[f.uuid]=u),n[u]=f,n.pop();for(let b=0,y=r;b!==y;++b){const C=i[b];C[u]=C[h],C.pop()}}}this.nCachedObjects_=o}subscribe_(n,e){const i=this._bindingsIndicesByPath;let r=i[n];const o=this._bindings;if(void 0!==r)return o[r];const s=this._paths,a=this._parsedPaths,c=this._objects,d=this.nCachedObjects_,u=new Array(c.length);r=o.length,i[n]=r,s.push(n),a.push(e),o.push(u);for(let h=d,f=c.length;h!==f;++h)u[h]=new ea(c[h],n,e);return u}unsubscribe_(n){const e=this._bindingsIndicesByPath,i=e[n];if(void 0!==i){const r=this._paths,o=this._parsedPaths,s=this._bindings,a=s.length-1,c=s[a];e[n[a]]=i,s[i]=c,s.pop(),o[i]=o[a],o.pop(),r[i]=r[a],r.pop()}}}QY.prototype.isAnimationObjectGroup=!0;class Wke{constructor(n,e,i=null,r=e.blendMode){this._mixer=n,this._clip=e,this._localRoot=i,this.blendMode=r;const o=e.tracks,s=o.length,a=new Array(s),c={endingStart:bp,endingEnd:bp};for(let l=0;l!==s;++l){const d=o[l].createInterpolant(null);a[l]=d,d.settings=c}this._interpolantSettings=c,this._interpolants=a,this._propertyBindings=new Array(s),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=XK,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&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(n){return this._startTime=n,this}setLoop(n,e){return this.loop=n,this.repetitions=e,this}setEffectiveWeight(n){return this.weight=n,this._effectiveWeight=this.enabled?n:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(n){return this._scheduleFading(n,0,1)}fadeOut(n){return this._scheduleFading(n,1,0)}crossFadeFrom(n,e,i){if(n.fadeOut(e),this.fadeIn(e),i){const r=this._clip.duration,o=n._clip.duration,a=r/o;n.warp(1,o/r,e),this.warp(a,1,e)}return this}crossFadeTo(n,e,i){return n.crossFadeFrom(this,e,i)}stopFading(){const n=this._weightInterpolant;return null!==n&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(n)),this}setEffectiveTimeScale(n){return this.timeScale=n,this._effectiveTimeScale=this.paused?0:n,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(n){return this.timeScale=this._clip.duration/n,this.stopWarping()}syncWith(n){return this.time=n.time,this.timeScale=n.timeScale,this.stopWarping()}halt(n){return this.warp(this._effectiveTimeScale,0,n)}warp(n,e,i){const r=this._mixer,o=r.time,s=this.timeScale;let a=this._timeScaleInterpolant;null===a&&(a=r._lendControlInterpolant(),this._timeScaleInterpolant=a);const c=a.parameterPositions,l=a.sampleValues;return c[0]=o,c[1]=o+i,l[0]=n/s,l[1]=e/s,this}stopWarping(){const n=this._timeScaleInterpolant;return null!==n&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(n)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(n,e,i,r){if(!this.enabled)return void this._updateWeight(n);const o=this._startTime;if(null!==o){const c=(n-o)*i;if(c<0||0===i)return;this._startTime=null,e=i*c}e*=this._updateTimeScale(n);const s=this._updateTime(e),a=this._updateWeight(n);if(a>0){const c=this._interpolants,l=this._propertyBindings;if(this.blendMode===ZP)for(let d=0,u=c.length;d!==u;++d)c[d].evaluate(s),l[d].accumulateAdditive(a);else for(let d=0,u=c.length;d!==u;++d)c[d].evaluate(s),l[d].accumulate(r,a)}}_updateWeight(n){let e=0;if(this.enabled){e=this.weight;const i=this._weightInterpolant;if(null!==i){const r=i.evaluate(n)[0];e*=r,n>i.parameterPositions[1]&&(this.stopFading(),0===r&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(n){let e=0;if(!this.paused){e=this.timeScale;const i=this._timeScaleInterpolant;null!==i&&(e*=i.evaluate(n)[0],n>i.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e))}return this._effectiveTimeScale=e,e}_updateTime(n){const e=this._clip.duration,i=this.loop;let r=this.time+n,o=this._loopCount;const s=i===YK;if(0===n)return-1===o||!s||1&~o?r:e-r;if(i===KK){-1===o&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=e)r=e;else{if(!(r<0)){this.time=r;break e}r=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:n<0?-1:1})}}else{if(-1===o&&(n>=0?(o=0,this._setEndings(!0,0===this.repetitions,s)):this._setEndings(0===this.repetitions,!0,s)),r>=e||r<0){const a=Math.floor(r/e);r-=e*a,o+=Math.abs(a);const c=this.repetitions-o;if(c<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=n>0?e:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:n>0?1:-1});else{if(1===c){const l=n<0;this._setEndings(l,!l,s)}else this._setEndings(!1,!1,s);this._loopCount=o,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=r;if(s&&!(1&~o))return e-r}return r}_setEndings(n,e,i){const r=this._interpolantSettings;i?(r.endingStart=_p,r.endingEnd=_p):(r.endingStart=n?this.zeroSlopeAtStart?_p:bp:mw,r.endingEnd=e?this.zeroSlopeAtEnd?_p:bp:mw)}_scheduleFading(n,e,i){const r=this._mixer,o=r.time;let s=this._weightInterpolant;null===s&&(s=r._lendControlInterpolant(),this._weightInterpolant=s);const a=s.parameterPositions,c=s.sampleValues;return a[0]=o,c[0]=e,a[1]=o+n,c[1]=i,this}}class zY extends Nu{constructor(n){super(),this._root=n,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(n,e){const i=n._localRoot||this._root,r=n._clip.tracks,o=r.length,s=n._propertyBindings,a=n._interpolants,c=i.uuid,l=this._bindingsByRootAndName;let d=l[c];void 0===d&&(d={},l[c]=d);for(let u=0;u!==o;++u){const h=r[u],f=h.name;let b=d[f];if(void 0!==b)s[u]=b;else{if(b=s[u],void 0!==b){null===b._cacheIndex&&(++b.referenceCount,this._addInactiveBinding(b,c,f));continue}b=new HY(ea.create(i,f,e&&e._propertyBindings[u].binding.parsedPath),h.ValueTypeName,h.getValueSize()),++b.referenceCount,this._addInactiveBinding(b,c,f),s[u]=b}a[u].resultBuffer=b.buffer}}_activateAction(n){if(!this._isActiveAction(n)){if(null===n._cacheIndex){const i=(n._localRoot||this._root).uuid,r=n._clip.uuid,o=this._actionsByClip[r];this._bindAction(n,o&&o.knownActions[0]),this._addInactiveAction(n,r,i)}const e=n._propertyBindings;for(let i=0,r=e.length;i!==r;++i){const o=e[i];0==o.useCount++&&(this._lendBinding(o),o.saveOriginalState())}this._lendAction(n)}}_deactivateAction(n){if(this._isActiveAction(n)){const e=n._propertyBindings;for(let i=0,r=e.length;i!==r;++i){const o=e[i];0==--o.useCount&&(o.restoreOriginalState(),this._takeBackBinding(o))}this._takeBackAction(n)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const n=this;this.stats={actions:{get total(){return n._actions.length},get inUse(){return n._nActiveActions}},bindings:{get total(){return n._bindings.length},get inUse(){return n._nActiveBindings}},controlInterpolants:{get total(){return n._controlInterpolants.length},get inUse(){return n._nActiveControlInterpolants}}}}_isActiveAction(n){const e=n._cacheIndex;return null!==e&&e=0;--i)n[i].stop();return this}update(n){const e=this._actions,i=this._nActiveActions,r=this.time+=n*=this.timeScale,o=Math.sign(n),s=this._accuIndex^=1;for(let l=0;l!==i;++l)e[l]._update(r,n,o,s);const a=this._bindings,c=this._nActiveBindings;for(let l=0;l!==c;++l)a[l].apply(s);return this}setTime(n){this.time=0;for(let e=0;ethis.max.x||n.ythis.max.y)}containsBox(n){return this.min.x<=n.min.x&&n.max.x<=this.max.x&&this.min.y<=n.min.y&&n.max.y<=this.max.y}getParameter(n,e){return void 0===e&&(console.warn("THREE.Box2: .getParameter() target is now required"),e=new ut),e.set((n.x-this.min.x)/(this.max.x-this.min.x),(n.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(n){return!(n.max.xthis.max.x||n.max.ythis.max.y)}clampPoint(n,e){return void 0===e&&(console.warn("THREE.Box2: .clampPoint() target is now required"),e=new ut),e.copy(n).clamp(this.min,this.max)}distanceToPoint(n){return WY.copy(n).clamp(this.min,this.max).sub(n).length()}intersect(n){return this.min.max(n.min),this.max.min(n.max),this}union(n){return this.min.min(n.min),this.max.max(n.max),this}translate(n){return this.min.add(n),this.max.add(n),this}equals(n){return n.min.equals(this.min)&&n.max.equals(this.max)}}Vb.prototype.isBox2=!0;const $Y=new j,$k=new j;class jY{constructor(n=new j,e=new j){this.start=n,this.end=e}set(n,e){return this.start.copy(n),this.end.copy(e),this}copy(n){return this.start.copy(n.start),this.end.copy(n.end),this}getCenter(n){return void 0===n&&(console.warn("THREE.Line3: .getCenter() target is now required"),n=new j),n.addVectors(this.start,this.end).multiplyScalar(.5)}delta(n){return void 0===n&&(console.warn("THREE.Line3: .delta() target is now required"),n=new j),n.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(n,e){return void 0===e&&(console.warn("THREE.Line3: .at() target is now required"),e=new j),this.delta(e).multiplyScalar(n).add(this.start)}closestPointToPointParameter(n,e){$Y.subVectors(n,this.start),$k.subVectors(this.end,this.start);const i=$k.dot($k);let o=$k.dot($Y)/i;return e&&(o=Yn.clamp(o,0,1)),o}closestPointToPoint(n,e,i){const r=this.closestPointToPointParameter(n,e);return void 0===i&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),i=new j),this.delta(i).multiplyScalar(r).add(this.start)}applyMatrix4(n){return this.start.applyMatrix4(n),this.end.applyMatrix4(n),this}equals(n){return n.start.equals(this.start)&&n.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}function lx(t){Vn.call(this),this.material=t,this.render=function(){},this.hasPositions=!1,this.hasNormals=!1,this.hasColors=!1,this.hasUvs=!1,this.positionArray=null,this.normalArray=null,this.colorArray=null,this.uvArray=null,this.count=0}(lx.prototype=Object.create(Vn.prototype)).constructor=lx,lx.prototype.isImmediateRenderObject=!0;const KY=new j;class Kke extends Vn{constructor(n,e){super(),this.light=n,this.light.updateMatrixWorld(),this.matrix=n.matrixWorld,this.matrixAutoUpdate=!1,this.color=e;const i=new En,r=[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 s=0,a=1,c=32;s.99999)this.quaternion.set(0,0,0,1);else if(n.y<-.99999)this.quaternion.set(1,0,0,0);else{nq.set(n.z,0,-n.x).normalize();const e=Math.acos(n.y);this.quaternion.setFromAxisAngle(nq,e)}}setLength(n,e=.2*n,i=.2*e){this.line.scale.set(1,Math.max(1e-4,n-e),1),this.line.updateMatrix(),this.cone.scale.set(i,e,i),this.cone.position.y=n,this.cone.updateMatrix()}setColor(n){this.line.material.color.set(n),this.cone.material.color.set(n)}copy(n){return super.copy(n,!1),this.line.copy(n.line),this.cone.copy(n.cone),this}}class xN extends xa{constructor(n=1){const e=[0,0,0,n,0,0,0,0,0,0,n,0,0,0,0,0,0,n],r=new En;r.setAttribute("position",new pn(e,3)),r.setAttribute("color",new pn([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3)),super(r,new es({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}}const rq=new Float32Array(1),iTe=new Int32Array(rq.buffer),rTe={toHalfFloat:function(t){rq[0]=t;const n=iTe[0];let e=n>>16&32768,i=n>>12&2047;const r=n>>23&255;return r<103?e:r>142?(e|=31744,e|=(255==r?0:1)&&8388607&n,e):r<113?(i|=2048,e|=(i>>114-r)+(i>>113-r&1),e):(e|=r-112<<10|i>>1,e+=1&i,e)}},Sd=Math.pow(2,8),oq=[.125,.215,.35,.446,.526,.582],sq=5+oq.length,kd={[ya]:0,[pw]:1,[IS]:2,[JP]:3,[eO]:4,[tO]:5,[BS]:6},Hp=new Cd({side:Uo,depthWrite:!1,depthTest:!1}),oTe=new Ti(new El,Hp),CN=new Rp,{_lodPlanes:dx,_sizeLods:aq,_sigmas:Zk}=cTe(),cq=new Qt;let EN=null;const Vp=(1+Math.sqrt(5))/2,Gb=1/Vp,lq=[new j(1,1,1),new j(-1,1,1),new j(1,1,-1),new j(-1,1,-1),new j(0,Vp,Gb),new j(0,Vp,-Gb),new j(Gb,0,Vp),new j(-Gb,0,Vp),new j(Vp,Gb,0),new j(-Vp,Gb,0)];function dq(t){const n=Math.max(t.r,t.g,t.b),e=Math.min(Math.max(Math.ceil(Math.log2(n)),-128),127);return t.multiplyScalar(Math.pow(2,-e)),(e+128)/255}class sTe{constructor(n){this._renderer=n,this._pingPongRenderTarget=null,this._blurMaterial=function lTe(t){const n=new Float32Array(t),e=new j(0,1,0);return new Nb({name:"SphericalGaussianBlur",defines:{n:t},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:e},inputEncoding:{value:kd[ya]},outputEncoding:{value:kd[ya]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t",blending:Pu,depthTest:!1,depthWrite:!1})}(20),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(n,e=0,i=.1,r=100){EN=this._renderer.getRenderTarget();const o=this._allocateTargets();return this._sceneToCubeUV(n,i,r,o),e>0&&this._blur(o,0,0,e),this._applyPMREM(o),this._cleanup(o),o}fromEquirectangular(n){return this._fromTexture(n)}fromCubemap(n){return this._fromTexture(n)}compileCubemapShader(){null===this._cubemapShader&&(this._cubemapShader=fq(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=hq(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(let n=0;n2?Sd:0,Sd,Sd),d.setRenderTarget(r),b&&d.render(oTe,a),d.render(n,a)}d.toneMapping=f,d.outputEncoding=h,d.autoClear=u}_textureToCubeUV(n,e){const i=this._renderer;n.isCubeTexture?null==this._cubemapShader&&(this._cubemapShader=fq()):null==this._equirectShader&&(this._equirectShader=hq());const r=n.isCubeTexture?this._cubemapShader:this._equirectShader,o=new Ti(dx[0],r),s=r.uniforms;s.envMap.value=n,n.isCubeTexture||s.texelSize.value.set(1/n.image.width,1/n.image.height),s.inputEncoding.value=kd[n.encoding],s.outputEncoding.value=kd[e.texture.encoding],Jk(e,0,0,3*Sd,2*Sd),i.setRenderTarget(e),i.render(o,CN)}_applyPMREM(n){const e=this._renderer,i=e.autoClear;e.autoClear=!1;for(let r=1;r20&&console.warn(`sigmaRadians, ${o}, is too large and will clip, as it requested ${C} samples when the maximum is set to 20`);const x=[];let w=0;for(let R=0;R<20;++R){const W=R/y,se=Math.exp(-W*W/2);x.push(se),0==R?w+=se:R4?r-8+4:0),3*S,2*S),c.setRenderTarget(e),c.render(u,CN)}}function cTe(){const t=[],n=[],e=[];let i=8;for(let r=0;r4?s=oq[r-8+4-1]:0==r&&(s=0),e.push(s);const a=1/(o-1),c=-a/2,l=1+a/2,d=[c,c,l,c,l,l,c,c,l,l,c,l],u=6,h=6,f=3,b=2,y=1,C=new Float32Array(f*h*u),x=new Float32Array(b*h*u),w=new Float32Array(y*h*u);for(let M=0;M2?0:-1;C.set([P,R,0,P+2/3,R,0,P+2/3,R+1,0,P,R,0,P+2/3,R+1,0,P,R+1,0],f*h*M),x.set(d,b*h*M),w.set([M,M,M,M,M,M],y*h*M)}const S=new En;S.setAttribute("position",new kn(C,f)),S.setAttribute("uv",new kn(x,b)),S.setAttribute("faceIndex",new kn(w,y)),t.push(S),i>4&&i--}return{_lodPlanes:t,_sizeLods:n,_sigmas:e}}function uq(t){const n=new vl(3*Sd,3*Sd,t);return n.texture.mapping=ab,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function Jk(t,n,e,i,r){t.viewport.set(n,e,i,r),t.scissor.set(n,e,i,r)}function hq(){const t=new ut(1,1);return new Nb({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:t},inputEncoding:{value:kd[ya]},outputEncoding:{value:kd[ya]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t",blending:Pu,depthTest:!1,depthWrite:!1})}function fq(){return new Nb({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:kd[ya]},outputEncoding:{value:kd[ya]}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ).rgb;\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t",blending:Pu,depthTest:!1,depthWrite:!1})}const dTe=0,uTe=1,hTe=0,fTe=1,mTe=2;function pTe(t){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),t}function ATe(t=[]){return console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),t.isMultiMaterial=!0,t.materials=t,t.clone=function(){return t.slice()},t}function gTe(t,n){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Lb(t,n)}function bTe(t){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Rb(t)}function _Te(t,n){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Lb(t,n)}function vTe(t){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Tp(t)}function yTe(t){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Tp(t)}function wTe(t){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Tp(t)}function xTe(t,n,e){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new j(t,n,e)}function CTe(t,n){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new kn(t,n).setUsage(yp)}function ETe(t,n){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new vw(t,n)}function MTe(t,n){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new yw(t,n)}function STe(t,n){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new ww(t,n)}function kTe(t,n){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new xw(t,n)}function TTe(t,n){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new Mp(t,n)}function FTe(t,n){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new Cw(t,n)}function BTe(t,n){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Sp(t,n)}function ITe(t,n){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new pn(t,n)}function DTe(t,n){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new Mw(t,n)}function RTe(t){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new xN(t)}function LTe(t,n){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new yN(t,n)}function PTe(t,n){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new xa(new OO(t.geometry),new es({color:void 0!==n?n:16777215}))}function OTe(t,n){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new xa(new HO(t.geometry),new es({color:void 0!==n?n:16777215}))}function NTe(t){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Kc(t)}function UTe(t){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new Pk(t)}function HTe(t,n,e){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new JS(t,e)}function VTe(){console.error("THREE.CanvasRenderer has been removed")}function QTe(){console.error("THREE.JSONLoader has been removed.")}Ea.create=function(t,n){return console.log("THREE.Curve.create() has been deprecated"),t.prototype=Object.create(Ea.prototype),t.prototype.constructor=t,t.prototype.getPoint=n,t},ix.prototype.fromPoints=function(t){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(t)},JY.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},XY.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},ko.prototype.extractUrlBase=function(t){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),lN.extractUrlBase(t)},ko.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}},Vb.prototype.center=function(t){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(t)},Vb.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},Vb.prototype.isIntersectionBox=function(t){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},Vb.prototype.size=function(t){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(t)},ms.prototype.center=function(t){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(t)},ms.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},ms.prototype.isIntersectionBox=function(t){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},ms.prototype.isIntersectionSphere=function(t){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},ms.prototype.size=function(t){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(t)},xd.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()},Tw.prototype.setFromMatrix=function(t){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(t)},jY.prototype.center=function(t){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(t)},Yn.random16=function(){return console.warn("THREE.Math: .random16() has been deprecated. Use Math.random() instead."),Math.random()},Yn.nearestPowerOfTwo=function(t){return console.warn("THREE.Math: .nearestPowerOfTwo() has been renamed to .floorPowerOfTwo()."),Yn.floorPowerOfTwo(t)},Yn.nextPowerOfTwo=function(t){return console.warn("THREE.Math: .nextPowerOfTwo() has been renamed to .ceilPowerOfTwo()."),Yn.ceilPowerOfTwo(t)},fs.prototype.flattenToArrayOffset=function(t,n){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,n)},fs.prototype.multiplyVector3=function(t){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},fs.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},fs.prototype.applyToBufferAttribute=function(t){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},fs.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")},fs.prototype.getInverse=function(t){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(t).invert()},Tn.prototype.extractPosition=function(t){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(t)},Tn.prototype.flattenToArrayOffset=function(t,n){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,n)},Tn.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),(new j).setFromMatrixColumn(this,3)},Tn.prototype.setRotationFromQuaternion=function(t){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(t)},Tn.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},Tn.prototype.multiplyVector3=function(t){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Tn.prototype.multiplyVector4=function(t){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Tn.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},Tn.prototype.rotateAxis=function(t){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),t.transformDirection(this)},Tn.prototype.crossVector=function(t){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Tn.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")},Tn.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},Tn.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},Tn.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},Tn.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},Tn.prototype.applyToBufferAttribute=function(t){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},Tn.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},Tn.prototype.makeFrustum=function(t,n,e,i,r,o){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(t,n,i,e,r,o)},Tn.prototype.getInverse=function(t){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(t).invert()},wl.prototype.isIntersectionLine=function(t){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(t)},Ms.prototype.multiplyVector3=function(t){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),t.applyQuaternion(this)},Ms.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()},Vu.prototype.isIntersectionBox=function(t){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},Vu.prototype.isIntersectionPlane=function(t){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(t)},Vu.prototype.isIntersectionSphere=function(t){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},Ho.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},Ho.prototype.barycoordFromPoint=function(t,n){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(t,n)},Ho.prototype.midpoint=function(t){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(t)},Ho.prototypenormal=function(t){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(t)},Ho.prototype.plane=function(t){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(t)},Ho.barycoordFromPoint=function(t,n,e,i,r){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),Ho.getBarycoord(t,n,e,i,r)},Ho.normal=function(t,n,e,i){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),Ho.getNormal(t,n,e,i)},Of.prototype.extractAllPoints=function(t){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(t)},Of.prototype.extrude=function(t){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new $u(this,t)},Of.prototype.makeGeometry=function(t){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new jw(this,t)},ut.prototype.fromAttribute=function(t,n,e){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,n,e)},ut.prototype.distanceToManhattan=function(t){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},ut.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},j.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},j.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},j.prototype.getPositionFromMatrix=function(t){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(t)},j.prototype.getScaleFromMatrix=function(t){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(t)},j.prototype.getColumnFromMatrix=function(t,n){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(n,t)},j.prototype.applyProjection=function(t){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(t)},j.prototype.fromAttribute=function(t,n,e){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,n,e)},j.prototype.distanceToManhattan=function(t){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},j.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},_r.prototype.fromAttribute=function(t,n,e){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,n,e)},_r.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},Vn.prototype.getChildByName=function(t){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(t)},Vn.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},Vn.prototype.translate=function(t,n){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(n,t)},Vn.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")},Vn.prototype.applyMatrix=function(t){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(t)},Object.defineProperties(Vn.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(t){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=t}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),Ti.prototype.setDrawMode=function(){console.error("THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")},Object.defineProperties(Ti.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),qK},set:function(){console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}}),Object.defineProperties(FO.prototype,{objects:{get:function(){return console.warn("THREE.LOD: .objects has been renamed to .levels."),this.levels}}}),Object.defineProperty(Vw.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")},set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}}),Uw.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},Object.defineProperty(Ea.prototype,"__arcLengthDivisions",{get:function(){return console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions},set:function(t){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions=t}}),So.prototype.setLens=function(t,n){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==n&&(this.filmGauge=n),this.setFocalLength(t)},Object.defineProperties(Tl.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(t){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=t}},shadowCameraLeft:{set:function(t){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=t}},shadowCameraRight:{set:function(t){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=t}},shadowCameraTop:{set:function(t){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=t}},shadowCameraBottom:{set:function(t){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=t}},shadowCameraNear:{set:function(t){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=t}},shadowCameraFar:{set:function(t){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=t}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(t){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=t}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(t){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=t}},shadowMapHeight:{set:function(t){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=t}}}),Object.defineProperties(kn.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},dynamic:{get:function(){return console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.usage===yp},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(yp)}}}),kn.prototype.setDynamic=function(t){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===t?yp:Aw),this},kn.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},kn.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},En.prototype.addIndex=function(t){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(t)},En.prototype.addAttribute=function(t,n){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),n&&n.isBufferAttribute||n&&n.isInterleavedBufferAttribute?"index"===t?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(n),this):this.setAttribute(t,n):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(t,new kn(arguments[1],arguments[2])))},En.prototype.addDrawCall=function(t,n,e){void 0!==e&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(t,n)},En.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},En.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},En.prototype.removeAttribute=function(t){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(t)},En.prototype.applyMatrix=function(t){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(t)},Object.defineProperties(En.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Object.defineProperties(ax.prototype,{maxInstancedCount:{get:function(){return console.warn("THREE.InstancedBufferGeometry: .maxInstancedCount has been renamed to .instanceCount."),this.instanceCount},set:function(t){console.warn("THREE.InstancedBufferGeometry: .maxInstancedCount has been renamed to .instanceCount."),this.instanceCount=t}}}),Object.defineProperties(cx.prototype,{linePrecision:{get:function(){return console.warn("THREE.Raycaster: .linePrecision has been deprecated. Use .params.Line.threshold instead."),this.params.Line.threshold},set:function(t){console.warn("THREE.Raycaster: .linePrecision has been deprecated. Use .params.Line.threshold instead."),this.params.Line.threshold=t}}}),Object.defineProperties(Ka.prototype,{dynamic:{get:function(){return console.warn("THREE.InterleavedBuffer: .length has been deprecated. Use .usage instead."),this.usage===yp},set:function(t){console.warn("THREE.InterleavedBuffer: .length has been deprecated. Use .usage instead."),this.setUsage(t)}}}),Ka.prototype.setDynamic=function(t){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===t?yp:Aw),this},Ka.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},$u.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")},$u.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")},$u.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")},Tb.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")},Object.defineProperties(Wk.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this}}}),Object.defineProperties(eo.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new Qt}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(t){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=t===DP}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(t){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=t}}}),Object.defineProperties(Fk.prototype,{metal:{get:function(){return console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead."),!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}}),Object.defineProperties(Pf.prototype,{transparency:{get:function(){return console.warn("THREE.MeshPhysicalMaterial: .transparency has been renamed to .transmission."),this.transmission},set:function(t){console.warn("THREE.MeshPhysicalMaterial: .transparency has been renamed to .transmission."),this.transmission=t}}}),Object.defineProperties(Vs.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(t){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=t}}}),vr.prototype.clearTarget=function(t,n,e,i){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(t),this.clear(n,e,i)},vr.prototype.animate=function(t){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(t)},vr.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},vr.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},vr.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},vr.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},vr.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},vr.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},vr.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},vr.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},vr.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},vr.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},vr.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},vr.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},vr.prototype.enableScissorTest=function(t){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(t)},vr.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},vr.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},vr.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},vr.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},vr.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},vr.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},vr.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},vr.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},vr.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},vr.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()},Object.defineProperties(vr.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=t}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=t}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}},context:{get:function(){return console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead."),this.getContext()}},vr:{get:function(){return console.warn("THREE.WebGLRenderer: .vr has been renamed to .xr"),this.xr}},gammaInput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead."),!1},set:function(){console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.")}},gammaOutput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),!1},set:function(t){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=!0===t?pw:ya}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}}}),Object.defineProperties(NX.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(vl.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=t}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=t}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=t}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=t}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(t){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=t}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(t){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=t}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(t){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=t}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(t){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=t}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(t){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=t}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(t){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=t}}}),Object.defineProperties(mN.prototype,{load:{value:function(t){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");const n=this;return(new BY).load(t,function(i){n.setBuffer(i)}),this}},startTime:{set:function(){console.warn("THREE.Audio: .startTime is now .play( delay ).")}}}),UY.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},ZS.prototype.updateCubeMap=function(t,n){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(t,n)},ZS.prototype.clear=function(t,n,e,i){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(t,n,e,i)},wp.crossOrigin=void 0,wp.loadTexture=function(t,n,e,i){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");const r=new Ok;r.setCrossOrigin(this.crossOrigin);const o=r.load(t,e,void 0,i);return n&&(o.mapping=n),o},wp.loadTextureCube=function(t,n,e,i){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");const r=new pY;r.setCrossOrigin(this.crossOrigin);const o=r.load(t,e,void 0,i);return n&&(o.mapping=n),o},wp.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},wp.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};const zTe={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")}};function GTe(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:FP}})),typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=FP);var WTe=A(3205),mq=A.n(WTe);class pq{constructor(n,e,i){this.h=n,this.s=e,this.l=i}toHex(){return`#${mq().hsl.hex([this.h,this.s,this.l])}`}decreaseLightness(n){this.l-=n}getLightness(){return this.l}setLightness(n){this.l=n}toString(){return`hsl(${this.h}, ${this.s}%, ${this.l}%)`}}class Qi{static{this.colorToVector3Map=new Map}static{this.colorToVector3ArrayMap=new Map}static{this.hexToNumberMap=new Map}static getVector3(n){let e=this.colorToVector3Map.get(n);return void 0===e&&(e=Qi.colorToVector3(n),this.colorToVector3Map.set(n,e)),e}static getVector3Array(n){let e=this.colorToVector3ArrayMap.get(n);return void 0===e&&(e=Qi.colorToVector3Array(n),this.colorToVector3ArrayMap.set(n,e)),e}static getNumber(n){let e=this.hexToNumberMap.get(n);return void 0===e&&(e=Qi.convertHexToNumber(n),this.hexToNumberMap.set(n,e)),e}static convertHexToNumber(n){return+`0x${n.slice(1)}`}static convertNumberToHex(n){const e=n.toString(16);return`#${"0".repeat(6-e.length)}${e}`}static convertHexToRgba(n,e=1){return`rgba(${this.encodeHex(n).join(",")},${e})`}static convertHexToColorObject(n){const e=this.encodeHex(n);return new Qt(...e)}static convertColorToHex(n){return[n.r,n.g,n.b].reduce((e,i)=>e+Math.round(i).toString(16).padStart(2,"0"),"#")}static hexToHSL(n){const e=mq().hex.hsl(n);return new pq(...e)}static colorToVector3(n){const e=Qi.convertHexToNumber(n);return new j((e>>16&255)/255,(e>>8&255)/255,(255&e)/255)}static colorToVector3Array(n){const e=Qi.convertHexToNumber(n);return[(e>>16&255)/255,(e>>8&255)/255,(255&e)/255]}static vector3ToRGB(n){const e=Math.floor(255*n.x),i=Math.floor(255*n.y),r=Math.floor(255*n.z);return new Qt(e,i,r)}static gradient(n,e,i){const r=this.convertHexToColorObject(n),s=this.convertHexToColorObject(e).sub(r),a=[];for(let c=0;c<=i;c++){const l=s.clone().multiplyScalar(1/i*c),d=r.clone().add(l);a[c]=this.convertColorToHex(d)}return a}static getImageDataUri(n){const e=this.encodeHex(n),i=this.encodeRGB(e[0],e[1],e[2]);return this.generatePixel(i)}static encodeHex(n){let e=n.slice(1);return 3===e.length&&(e=`${e[0]}${e[0]}${e[1]}${e[1]}${e[2]}${e[2]}`),[Number.parseInt(`${e[0]}${e[1]}`,16),Number.parseInt(`${e[2]}${e[3]}`,16),Number.parseInt(`${e[4]}${e[5]}`,16)]}static encodeRGB(n,e,i){return this.encodeTriplet(0,n,e)+this.encodeTriplet(i,255,255)}static encodeTriplet(n,e,i){const r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s=(3&n)<<4|e>>4,a=(15&e)<<2|i>>6,c=63&i;return r.charAt(n>>2)+r.charAt(s)+r.charAt(a)+r.charAt(c)}static generatePixel(n){return`data:image/gif;base64,R0lGODlhAQABAPAA${n}/yH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==`}}class eT{static getMapResolutionScaling(n){const{width:e}=document.getElementById("codeMapScene"),i=eT.getScalingThreshold(e);return n>i?i/n:1}static getScalingThreshold(n){return Math.min(4*n,10240)}static isLabelNode(n){return!n.isLeaf&&n.mapNodeDepth<3}}class Wb{constructor(n,e,i,r){this.floorLabelPlanes=[],this.folderGeometryHeight=2.01,this.lastScaling=new j(1,1,1),this.floorLabelPlaneLevel=new Map,this.floorLabelsPerLevel=new Map,this.collectLabelsPerLevel(n),this.rootNode=e,this.mapSize=i,this.scaling=r}collectLabelsPerLevel(n){for(const e of n)eT.isLabelNode(e)&&(this.floorLabelsPerLevel.has(e.mapNodeDepth)||this.floorLabelsPerLevel.set(e.mapNodeDepth,[]),this.floorLabelsPerLevel.get(e.mapNodeDepth).push(e))}draw(){const{width:n,length:e}=this.rootNode,i=eT.getMapResolutionScaling(n),r=n*i,o=e*i;for(const[s,a]of this.floorLabelsPerLevel){const{textCanvas:c,context:l}=Wb.createLabelPlaneCanvas(r,o);this.writeLabelsOnCanvas(l,a,i),this.drawLevelPlaneGeometry(c,r,o,s,i)}return this.floorLabelPlanes}translatePlaneCanvases(n){for(const e of this.floorLabelPlanes){const i=this.floorLabelPlaneLevel.get(e)+1;e.geometry.translate(0,0,this.folderGeometryHeight*(i*this.lastScaling.y-i*n.y))}this.lastScaling=n}static createLabelPlaneCanvas(n,e){const i=document.createElement("canvas");let r=n,o=e;n>e&&(r=e,o=n),i.width=r,i.height=o;const s=i.getContext("2d");return s.fillStyle="white",s.textAlign="center",s.textBaseline="middle",{textCanvas:i,context:s}}writeLabelsOnCanvas(n,e,i){const{width:r,length:o}=this.rootNode;for(const s of e){let a=0===s.depth?Math.max(Math.floor(.03*r),120):Math.max(Math.floor(.023*r),95);a*=i,n.font=`${a}px Arial`;const c=Wb.getLabelAndSetContextFont(s,n,i,a);n.fillText(c.labelText,(o-s.y0-s.length/2)*i,(s.x0+s.width)*i-c.fontSize/2)}}drawLevelPlaneGeometry(n,e,i,r,o){const s=new LO(n);s.wrapS=Ap,s.wrapT=Ap,s.repeat.x=-1,s.needsUpdate=!0,s.rotation=90*Math.PI/180;const a=new Bf(e,i),l=new Ti(a,new Cd({side:Uo,map:s,transparent:!0}));l.rotateX(90*Math.PI/180),a.translate(e/2,i/2,-this.folderGeometryHeight*this.scaling.y*(r+1)-2),l.scale.set(this.scaling.x/o,this.scaling.z/o,1),l.position.set(-this.mapSize*this.scaling.x,0,-this.mapSize*this.scaling.z),this.floorLabelPlanes.push(l),this.floorLabelPlaneLevel.set(l,r)}static getLabelAndSetContextFont(n,e,i,r){const o=n.name,s=n.length*i;e.font=`${r}px Arial`;const a=e.measureText(o),c=Wb.getFontScaleFactor(s,a.width);return c<=.5?(r*=.5,r=Math.floor(Math.min(r,n.width*i)),e.font=`${r}px Arial`,{labelText:Wb.getFittingLabelText(e,s,o),fontSize:r}):(r=Math.floor(Math.min(r*c,n.width*i)),e.font=`${r}px Arial`,{labelText:o,fontSize:r})}static getFontScaleFactor(n,e){return e=e&&o>1;)o-=1,s=`${i.slice(0,o)}\u2026`;return s}}const kN=jt("SET_SELECTED_BUILDING_ID",{_as:"props",_p:void 0}),$Te=/_\d{4}(?:-\d{1,2}){2}_\d{1,2}-\d{1,2}\./;let Hf=(()=>{class t{static{this.JSON_EXTENSION=".json"}static getNewFileName(e,i){return`${this.getFileNameWithoutTimestamp(e,i)}_${this.getNewTimestamp()}`}static getNewTimestamp(){return t.getFormattedTimestamp(new Date)}static getFormattedTimestamp(e){return e.toISOString().slice(0,16).replace("T","_").replace(":","-")}static getFileNameWithoutTimestamp(e,i){if(!i){const r=$Te.exec(e);if(r)return e.slice(0,r.index);if(e.endsWith(Xg.CC_FILE_EXTENSION))return e.slice(0,-Xg.CC_FILE_EXTENSION.length);if(e.endsWith(t.JSON_EXTENSION))return e.slice(0,-t.JSON_EXTENSION.length)}return e}static withoutCCExtension(e){return e.replace(/(\.cc)?(\.json)?(\.gz)?$/,"")}}return t})();function Aq(t,n){return function jTe(t){return t.startsWith(`${bd.rootPath}/`)}(n)?ux(t,n):n}function ux(t,n){const e=bd.rootPath.length+1,i=n.length<=e?"":`/${n.slice(e)}`;return`${bd.rootPath}/${t}${i}`}function TN(t,n){do{n=n.slice(0,n.lastIndexOf("/"));const e=t.get(n);if(e)return e}while(n!==bd.rootPath&&n.length>0)}let gq=(()=>{class t{static{this.projectNameArray=[]}static{this.fileNameArray=[]}static{this.fileChecksumArray=[]}static{this.fileSizesSum=0}static calculateAggregationFile(e){const i=hd(e.map(r=>r.file));if(1===i.length)return i[0];this.resetVariables();for(const r of i)this.projectNameArray.push(r.fileMeta.projectName.replace(" ","_")),this.fileNameArray.push(Hf.withoutCCExtension(r.fileMeta.fileName).replace(" ","_")),this.fileChecksumArray.push(r.fileMeta.fileChecksum),this.fileSizesSum+=r.fileMeta.exportedFileSize;return this.getNewAggregatedMap(i)}static getNewAggregatedMap(e){const i={fileMeta:{projectName:`project_aggregation_of_${this.projectNameArray.join("_and_")}`,fileName:`file_aggregation_of_${this.fileNameArray.join("_and_")}`,fileChecksum:this.fileChecksumArray.join(";"),apiVersion:Ly.f4.X,exportedFileSize:this.fileSizesSum},map:{name:bd.rootName,type:$a.FOLDER,children:[],attributes:{},path:bd.rootPath},settings:{fileSettings:{edges:[],blacklist:[],attributeTypes:{nodes:{},edges:{}},attributeDescriptors:{},markedPackages:[]}}};for(const r of e)i.map.children.push(this.extractNodeFromMap(r));return this.aggregateRootAttributes(i),i}static aggregateRootAttributes(e){for(const{attributes:i}of e.map.children)for(const r of Object.keys(i))void 0===e.map.attributes[r]&&(e.map.attributes[r]=0),e.map.attributes[r]+=i[r]}static extractNodeFromMap(e){const i={name:e.fileMeta.fileName,children:e.map.children,type:e.map.type};e.map.path&&(i.path=ux(e.fileMeta.fileName,e.map.path));for(const r of Object.keys(e.map))"name"!==r&&"path"!==r&&"children"!==r&&(i[r]=e.map[r]);return this.updatePathOfAllChildren(e.fileMeta.fileName,i.children),i}static updatePathOfAllChildren(e,i){for(const r of i)r.path&&(r.path=ux(e,r.path)),r.children&&this.updatePathOfAllChildren(e,r.children)}static resetVariables(){this.projectNameArray=[],this.fileNameArray=[],this.fileChecksumArray=[],this.fileSizesSum=0}}return t})();const KTe=Bt(Cs,t=>t.edgeMetricData.map(n=>n.name));class XTe{static createCodeMapFromHashMap(n){let e;for(const[i,r]of n)i===bd.rootPath?e=r:TN(n,i).children.push(r);return e}static getDeltaFile(n,e){const i=this.getDeltaNodesByPath(n.map,e.map),r=this.createCodeMapFromHashMap(i),o=this.getFileMetaData(n,e);return this.getNewCCFileWithDeltas(r,o)}static getDeltaNodesByPath(n,e){const i=new Map,r=this.getReferenceNodesByPath(n);return this.addExistingAndNewNodesToDeltaMap(r,e,i),this.addDeletedNodesToDeltaMap(r,i),i}static getReferenceNodesByPath(n){const e=new Map;for(const{data:i}of Jr(n))e.set(i.path,i);return e}static addExistingAndNewNodesToDeltaMap(n,e,i){for(const{data:r}of Jr(e)){const o=n.get(r.path);if(o){(o.children||r.children)&&(o.children=[]);const{deltaList:a,differenceExists:c}=this.compareAttributeValues(o.attributes,r.attributes);o.deltas=a;const l=c?1:0;o.attributes=r.attributes,o.fileCount={added:0,removed:0,changed:l}}else r.children&&(r.children=[]),r.deltas={...r.attributes},r.fileCount={added:r.type===$a.FILE?1:0,removed:0,changed:0};const s=o??r;i.set(s.path,s),n.delete(s.path)}}static addDeletedNodesToDeltaMap(n,e){for(const i of n.values()){i.children&&(i.children=[]),i.deltas={},i.fileCount={added:0,removed:i.type===$a.FILE?1:0,changed:0};for(const[r,o]of Object.entries(i.attributes))i.deltas[r]=-o,i.attributes[r]=0;e.set(i.path,i)}}static compareAttributeValues(n,e){const i={};let r=!1;const o=new Set(Object.keys(n));for(const s of Object.keys(e))o.add(s);for(const s of o){const a=n[s]??0,c=e[s]??0;a!==c&&(r=!0),i[s]=c-a}return{deltaList:i,differenceExists:r}}static getFileMetaData(n,e){return{fileName:`delta_between_${Hf.withoutCCExtension(n.fileMeta.fileName)}_and_${Hf.withoutCCExtension(e.fileMeta.fileName)}`,fileChecksum:`${n.fileMeta.fileChecksum};${e.fileMeta.fileChecksum}`,apiVersion:Ly.f4.X,projectName:`delta_between_${n.fileMeta.projectName}_and_${e.fileMeta.projectName}`,exportedFileSize:n.fileMeta.exportedFileSize+e.fileMeta.exportedFileSize}}static getNewCCFileWithDeltas(n,e){return{map:n,fileMeta:e,settings:{fileSettings:{edges:[],blacklist:[],attributeTypes:{nodes:{},edges:{}},attributeDescriptors:{},markedPackages:[]}}}}}const qTe=(t,n,e)=>{const i=new Map;for(const r of e){const o=t.get(r);o&&i.set(r,o.get(n.data.path))}return i},FN=Bt(gy,t=>t.attributeTypes),bq=Object.freeze({unifiedMapNode:void 0,unifiedFileMeta:void 0}),Xc=Bt(Cs,ud,FN,dd,KTe,(t,n,e,i,r)=>{if(!SW(n)||!t.nodeMetricData)return bq;const o=JTe(hd(n));return o?.map?($L.decorateMap(o.map,t,i),((t,n,e)=>{if(0!==e.length)for(const i of Jr(n))if(Ao(i)){const r=qTe(t,i,e);for(const[o,s]of r)i.data.edgeAttributes[o]=s}})(t.nodeEdgeMetricsMap,o.map,r),$L.decorateParentNodesWithAggregatedAttributes(o.map,ld(n),e),{unifiedMapNode:o.map,unifiedFileMeta:o.fileMeta}):bq}),JTe=t=>{if(kW(t))return gq.calculateAggregationFile(t);if(ld(t)){const[n,e]=t;return e&&n.file.map.name!==e.file.map.name?gq.calculateAggregationFile(t):(t=>{if(2===t.length){let[n,e]=t;if(n.selectedAs!==Ri.Reference){const i=e;e=n,n=i}return XTe.getDeltaFile(n.file,e.file)}return t[0].file})(t)}},$b=Bt(Xc,t=>{if(!t.unifiedMapNode)return new Map;const n=new Map([[t.unifiedMapNode.id,t.unifiedMapNode]]);for(const{data:e}of Jr(t.unifiedMapNode))n.set(e.id,e);return n}),jb=Bt(Pr,t=>t.mapColors),Fi=t=>(n,e)=>void 0===e.value?t:e.value,tT=t=>(n,e)=>void 0===e.value?t:{...n,...e.value},Td={positive:"#69AE40",neutral:"#ddcc00",negative:"#820E0E",selected:"#EB8319",positiveDelta:"#64d051",negativeDelta:"#ff0E0E",base:"#666666",flat:"#AAAAAA",markingColors:["#FF1D8E","#1d8eff","#1DFFFF","#8eff1d","#8e1dff"],incomingEdge:"#00ffff",outgoingEdge:"#ff00ff",labelColorAndAlpha:{rgb:"#e0e0e0",alpha:.7}},eFe=ci(Td,Jt(_u,tT(Td)),Jt(pM,t=>({...t,positive:t.negative,negative:t.positive})),Jt(AM,t=>({...t,positiveDelta:t.negativeDelta,negativeDelta:t.positiveDelta}))),xc=t=>t.dynamicSettings,Kb=Bt(xc,t=>t.searchPattern),_q=Bt(Xc,Kb,(t,n)=>function tFe(t,n){if(0===(n=n.trimStart()).length||!t)return[];const e=IW(n),i=[];for(const{data:r}of Jr(t))e.ignoredNodePaths.ignores(Ug(r.path))===e.condition&&i.push(r);return i}(t.unifiedMapNode,n)),BN=Bt(_q,t=>new Set(t.map(n=>n.path))),IN={getColorByTrueGradient(t,n,e,i){const r=(n.from+n.to)/2,o=Qi.convertHexToColorObject(t.neutral);if(i<=r){const c=i/r,l=Qi.convertHexToColorObject(t.positive);return Qi.convertColorToHex((new Qt).lerpColors(l,o,c))}const s=(i-r)/(e.maxValue-r),a=Qi.convertHexToColorObject(t.negative);return Qi.convertColorToHex((new Qt).lerpColors(o,a,s))},getColorByFocusedGradient(t,n,e,i){const r=(n.from+n.to)/2,o=Qi.convertHexToColorObject(t.neutral);if(i=n.to&&n.to!==e.maxValue)return t.negative;if(i===r)return t.neutral;if(it.colorMetric),ju=Bt(Cs,Vf,(t,n)=>{const e=t.nodeMetricData.find(i=>i.name===n);return{values:e?.values??[],minValue:e?.minValue??0,maxValue:e?.maxValue??0}}),Qo=250;function xq(t,n,e,i){const r=RM(t.files);if(i)return 2;let o=n.attributes[t.dynamicSettings.heightMetric]||0;o*=r;const s=t.dynamicSettings.heightMetric;return 1===t.fileSettings.attributeDescriptors[s]?.direction?t.appSettings.invertHeight?o:e-o:t.appSettings.invertHeight?e-o:o}function Cq(t,n,e,i){const r=e.deltas?.[i.dynamicSettings.heightMetric]?0:2;return Math.max(Math.abs(n*t),r)}function RN(t,n,e,i){return!(t.isExcluded||n&&e.appSettings.hideFlatBuildings&&i)&&(!(e.dynamicSettings.focusedNodePath.length>0)||t.path.startsWith(e.dynamicSettings.focusedNodePath[0]))}function iT(t,n,e,i,r){return t>e?new j(i.x-r+t/4,i.y+n,i.z-r+e/2):new j(i.x-r+t/2,i.y+n,i.z-r+e/4)}function Eq(t,n,e,i,r){return t>e?new j(i.x-r+.75*t,i.y+n,i.z-r+e/2):new j(i.x-r+t/2,i.y+n,i.z-r+.75*e)}function rT(t,n){if(t.isFlattened)return!0;const e=BN(n);return e&&n.dynamicSettings.searchPattern?.length>0?0===e.size||function sFe(t,n){return!BN(n).has(t.path)}(t,n):!(!n.appSettings.showOnlyBuildingsWithEdges||!n.fileSettings.edges.some(i=>i.visible))&&function oFe(t,n){return void 0===t.edgeAttributes[n.dynamicSettings.edgeMetric]||!n.fileSettings.edges.some(e=>t.path===e.fromNodeName||t.path===e.toNodeName)}(t,n)}function LN(t,{appSettings:n,dynamicSettings:e},i,r,o){const{mapColors:s}=n;if(r)return s.base;const a=t.attributes[e.colorMetric];if(void 0===a)return s.base;if(o)return s.flat;const{colorRange:c,colorMode:l}=e;return"unary"===e.colorMetric?s.positive:l===Ny.absolute?a0)for(const i of t.children)e+=wq(i,n);return e},buildNodeFrom:function rFe(t,n,e,i,r){const o=RM(i.files),{x0:s,x1:a,y0:c,y1:l,data:d}=t,u=Ao(t),h=rT(d,i),f=xq(i,d,e,h),b=d.path.split("/").length-2,y=u?Cq(f,n,d,i)*o:2,C=a-s,x=l-c,w=2*b,S=(d.deltas?.[i.dynamicSettings.heightMetric]??0)*n*o,M=y+(S<0?Math.abs(S):0);return{name:d.name,id:d.id,width:C,height:y,length:x,depth:b,mapNodeDepth:t.depth,x0:s,z0:w,y0:c,isLeaf:u,attributes:d.attributes,edgeAttributes:d.edgeAttributes,deltas:d.deltas,heightDelta:S,visible:RN(d,u,i,h),path:d.path,link:d.link,markingColor:IM(d,i.fileSettings.markedPackages),flat:h,color:LN(d,i,ju(i),r,h),incomingEdgePoint:iT(C,M,x,new j(s,w,c),Qo),outgoingEdgePoint:Eq(C,M,x,new j(s,w,c),Qo)}},isNodeFlat:rT,resolveHeightValue:Cq,getHeightValue:xq,FOLDER_HEIGHT:2,MIN_BUILDING_HEIGHT:2,HEIGHT_VALUE_WHEN_METRIC_NOT_FOUND:0};class PN{constructor(){this.listeners={}}on(n,e){this.listeners[n]??=[],this.listeners[n].push(e)}emit(n,e){if(!this.listeners[n]?.length)return!1;for(const i of this.listeners[n])i(e);return!0}}let hx=(()=>{class t{constructor(){this.idToBuilding=new Map}setIdToBuilding(e){this.idToBuilding=new Map;for(const i of e)this.idToBuilding.set(i.node.id,i)}get(e){return this.idToBuilding.get(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Fl(){this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}var t,n,e;Object.assign(Fl.prototype,{setSize:function(){},render:function(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}}),Fl.FullScreenQuad=(t=new Rp(-1,1,1,-1,0,1),n=new Bf(2,2),e=function(i){this._mesh=new Ti(n,i)},Object.defineProperty(e.prototype,"material",{get:function(){return this._mesh.material},set:function(i){this._mesh.material=i}}),Object.assign(e.prototype,{dispose:function(){this._mesh.geometry.dispose()},render:function(i){i.render(this._mesh,t)}}),e);var ON=function(t,n,e,i,r){Fl.call(this),this.scene=t,this.camera=n,this.overrideMaterial=e,this.clearColor=i,this.clearAlpha=void 0!==r?r:0,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new Qt};ON.prototype=Object.assign(Object.create(Fl.prototype),{constructor:ON,render:function(t,n,e){var r,o,i=t.autoClear;t.autoClear=!1,void 0!==this.overrideMaterial&&(o=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),this.clearColor&&(t.getClearColor(this._oldClearColor),r=t.getClearAlpha(),t.setClearColor(this.clearColor,this.clearAlpha)),this.clearDepth&&t.clearDepth(),t.setRenderTarget(this.renderToScreen?null:e),this.clear&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),t.render(this.scene,this.camera),this.clearColor&&t.setClearColor(this._oldClearColor,r),void 0!==this.overrideMaterial&&(this.scene.overrideMaterial=o),t.autoClear=i}});var aFe_isWebGL2Available=function(){try{var t=document.createElement("canvas");return!(!window.WebGL2RenderingContext||!t.getContext("webgl2"))}catch{return!1}},fx=function(t,n){Fl.call(this),this.textureID=void 0!==n?n:"tDiffuse",t instanceof Vs?(this.uniforms=t.uniforms,this.material=t):t&&(this.uniforms=qS.clone(t.uniforms),this.material=new Vs({defines:Object.assign({},t.defines),uniforms:this.uniforms,vertexShader:t.vertexShader,fragmentShader:t.fragmentShader})),this.fsQuad=new Fl.FullScreenQuad(this.material)};fx.prototype=Object.assign(Object.create(Fl.prototype),{constructor:fx,render:function(t,n,e){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=e.texture),this.fsQuad.material=this.material,this.renderToScreen?(t.setRenderTarget(null),this.fsQuad.render(t)):(t.setRenderTarget(n),this.clear&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),this.fsQuad.render(t))}});var mx=function(t,n){Fl.call(this),this.scene=t,this.camera=n,this.clear=!0,this.needsSwap=!1,this.inverse=!1};mx.prototype=Object.assign(Object.create(Fl.prototype),{constructor:mx,render:function(t,n,e){var o,s,i=t.getContext(),r=t.state;r.buffers.color.setMask(!1),r.buffers.depth.setMask(!1),r.buffers.color.setLocked(!0),r.buffers.depth.setLocked(!0),this.inverse?(o=0,s=1):(o=1,s=0),r.buffers.stencil.setTest(!0),r.buffers.stencil.setOp(i.REPLACE,i.REPLACE,i.REPLACE),r.buffers.stencil.setFunc(i.ALWAYS,o,4294967295),r.buffers.stencil.setClear(s),r.buffers.stencil.setLocked(!0),t.setRenderTarget(e),this.clear&&t.clear(),t.render(this.scene,this.camera),t.setRenderTarget(n),this.clear&&t.clear(),t.render(this.scene,this.camera),r.buffers.color.setLocked(!1),r.buffers.depth.setLocked(!1),r.buffers.stencil.setLocked(!1),r.buffers.stencil.setFunc(i.EQUAL,1,4294967295),r.buffers.stencil.setOp(i.KEEP,i.KEEP,i.KEEP),r.buffers.stencil.setLocked(!0)}});var oT=function(){Fl.call(this),this.needsSwap=!1};oT.prototype=Object.create(Fl.prototype),Object.assign(oT.prototype,{render:function(t){t.state.buffers.stencil.setLocked(!1),t.state.buffers.stencil.setTest(!1)}});var Mq={uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform float opacity;","uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","\tvec4 texel = texture2D( tDiffuse, vUv );","\tgl_FragColor = opacity * texel;","}"].join("\n")},Sq=function(t,n){if(this.renderer=t,void 0===n){var e={minFilter:Mo,magFilter:Mo,format:va},i=t.getSize(new ut);this._pixelRatio=t.getPixelRatio(),this._width=i.width,this._height=i.height,(n=new vl(this._width*this._pixelRatio,this._height*this._pixelRatio,e)).texture.name="EffectComposer.rt1"}else this._pixelRatio=1,this._width=n.width,this._height=n.height;this.renderTarget1=n,this.renderTarget2=n.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],void 0===Mq&&console.error("THREE.EffectComposer relies on CopyShader"),void 0===fx&&console.error("THREE.EffectComposer relies on ShaderPass"),this.copyPass=new fx(Mq),this.clock=new fN};Object.assign(Sq.prototype,{swapBuffers:function(){var t=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=t},addPass:function(t){this.passes.push(t),t.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)},insertPass:function(t,n){this.passes.splice(n,0,t),t.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)},removePass:function(t){const n=this.passes.indexOf(t);-1!==n&&this.passes.splice(n,1)},isLastEnabledPass:function(t){for(var n=t+1;nt.isWhiteBackground);class cFe{constructor(){this.vertexShader=A(889),this.fragmentShader=A(6655),this.uniforms={tDiffuse:{value:null},resolution:{value:new ut(1/1024,1/512)}}}}class zi{static{this.BACKGROUND_COLOR={white:16777215,normal:16053483}}static{this.CLEAR_COLOR=zi.BACKGROUND_COLOR.normal}static{this.CLEAR_ALPHA=1}static{this.RENDER_OPTIONS={antialias:!0,preserveDrawingBuffer:!0,alpha:!0}}static{this.enableFXAA=!1}static{this.setPixelRatio=!1}constructor(n,e){this.store=n,this.state=e,this.setBackgroundColorToState=i=>{zi.CLEAR_COLOR=i?zi.BACKGROUND_COLOR.white:zi.BACKGROUND_COLOR.normal,this.renderer?.setClearColor(zi.CLEAR_COLOR,zi.CLEAR_ALPHA)},this.initGL=(i,r)=>{if(this.setGLOptions(),this.renderer=new vr(zi.RENDER_OPTIONS),zi.setPixelRatio&&this.renderer.setPixelRatio(window.devicePixelRatio),zi.enableFXAA)if(aFe_isWebGL2Available){const o=this.renderer.getDrawingBufferSize(new ut),s=new vl(o.width,o.height,{format:va});this.composer=new Tq(this.renderer,s)}else this.composer=new Tq(this.renderer);this.renderer.setSize(i,r),this.renderer.domElement.id="codeMapScene",zi.enableFXAA&&this.initComposer()},this.setGLOptions=()=>{switch(this.state.getValue().appSettings.sharpnessMode){case rp.Standard:zi.RENDER_OPTIONS.antialias=!0,zi.enableFXAA=!1,zi.setPixelRatio=!1;break;case rp.PixelRatioNoAA:zi.RENDER_OPTIONS.antialias=!1,zi.enableFXAA=!1,zi.setPixelRatio=!0;break;case rp.PixelRatioFXAA:zi.RENDER_OPTIONS.antialias=!1,zi.enableFXAA=!0,zi.setPixelRatio=!0;break;case rp.PixelRatioAA:zi.RENDER_OPTIONS.antialias=!0,zi.enableFXAA=!1,zi.setPixelRatio=!0}},this.initComposer=()=>{const i=this.renderer.getPixelRatio();this.composer.setSize(window.innerWidth*i,window.innerHeight*i);const r=new ON(this.scene,this.camera);this.composer.addPass(r);const o=new fx(new cFe);o.renderToScreen=!1,o.uniforms.resolution.value.x=1/(window.innerWidth*i),o.uniforms.resolution.value.y=1/(window.innerHeight*i),this.composer.addPass(o)},this.getInfo=()=>zi.enableFXAA?this.composer.getInfo():this.renderer.info.render,this.getMemoryInfo=()=>zi.enableFXAA?this.composer.getMemoryInfo():this.renderer.info.memory}init(n,e,i,r){this.scene=i,this.camera=r,this.initGL(n,e),this.store.select(Fq).subscribe(this.setBackgroundColorToState)}render(){const{scene:n,camera:e,composer:i,renderer:r}=this;zi.enableFXAA?i?.render():r?.render(n,e)}static{this.\u0275fac=function(e){return new(e||zi)(ee(Tt),ee(Dr))}}static{this.\u0275prov=st({token:zi,factory:zi.\u0275fac,providedIn:"root"})}}let Yc=(()=>{class t{constructor(e,i,r,o){this.store=e,this.state=i,this.idToBuilding=r,this.threeRendererService=o,this.eventEmitter=new PN,this.selected=null,this.highlighted=[],this.constantHighlight=new Map,this.folderLabelColorHighlighted=Qi.convertHexToNumber("#FFFFFF"),this.folderLabelColorNotHighlighted=Qi.convertHexToNumber("#7A7777"),this.rayPoint=new j(0,0,0),this.normedTransformVector=new j(0,0,0),this.highlightedLabel=null,this.highlightedLineIndex=-1,this.highlightedLine=null,this.subscription=this.store.select(jb).subscribe(s=>{this.folderLabelColorSelected=s.selected,this.numberSelectionColor=Qi.convertHexToNumber(this.folderLabelColorSelected)}),this.scene=new Tb,this.mapGeometry=new ks,this.lights=new ks,this.labels=new ks,this.floorLabelPlanes=new ks,this.edgeArrows=new ks,this.initLights(),this.scene.add(this.mapGeometry),this.scene.add(this.edgeArrows),this.scene.add(this.labels),this.scene.add(this.lights),this.scene.add(this.floorLabelPlanes)}ngOnDestroy(){this.subscription.unsubscribe()}initFloorLabels(e){this.floorLabelPlanes.clear();const{layoutAlgorithm:i,enableFloorLabels:r}=this.state.getValue().appSettings;if(i!==Ad.SquarifiedTreeMap||!r)return;const o=this.getRootNode(e);if(!o)return;const s=this.state.getValue().appSettings.scaling,a=new j(s.x,s.y,s.z);this.floorLabelDrawer=new Wb(this.mapMesh.getNodes(),o,Qo,a);const c=this.floorLabelDrawer.draw(this.state.getValue());c.length>0&&(this.floorLabelPlanes.add(...c),this.scene.add(this.floorLabelPlanes))}getRootNode(e){return e.find(i=>0===i.id)}getConstantHighlight(){return this.constantHighlight}highlightBuildings(){const e=this.state.getValue();this.getMapMesh().highlightBuilding(this.highlighted,this.selected,e,this.constantHighlight),this.mapGeometry.children[0]&&this.highlightMaterial(this.mapGeometry.children[0].material),this.threeRendererService.render()}selectMaterial(e){e.find(({userData:r})=>r.id===this.selected.node.id)?.color.setHex(this.numberSelectionColor)}resetMaterial(e){const i=this.selected?this.selected.node.id:-1;for(const r of e)r.userData.id!==i&&r.color?.setHex(this.folderLabelColorHighlighted)}scaleHeight(){const e=this.state.getValue().appSettings.scaling;this.floorLabelDrawer?.translatePlaneCanvases(e),this.mapGeometry.scale.set(e.x,e.y,e.z),this.mapGeometry.position.set(-Qo*e.x,0,-Qo*e.z),this.mapMesh.setScale(e)}highlightMaterial(e){const i=new Set(this.highlighted.map(({node:o})=>o.id)),r=new Set;for(const{node:o}of this.constantHighlight.values())r.add(o.id);for(const o of e){const s=o.userData.id;this.selected&&s===this.selected.node.id?o.color.setHex(this.numberSelectionColor):i.has(s)||r.has(s)?o.color.setHex(this.folderLabelColorHighlighted):o.color?.setHex(this.folderLabelColorNotHighlighted)}}highlightSingleBuilding(e){this.highlighted=[],this.addBuildingToHighlightingList(e),this.highlightBuildings()}addBuildingToHighlightingList(e){this.highlighted.push(e)}clearHoverHighlight(){this.highlighted=[],this.highlightBuildings()}clearHighlight(){this.getMapMesh()&&(this.getMapMesh().clearHighlight(this.selected),this.highlighted=[],this.constantHighlight.clear(),this.mapGeometry.children[0]&&this.resetMaterial(this.mapGeometry.children[0].material))}selectBuilding(e){e.id!==this.selected?.id&&this.store.dispatch(kN({value:e.node.id})),this.getMapMesh().selectBuilding(e,this.folderLabelColorSelected),this.selected=e,this.highlightBuildings(),this.eventEmitter.emit("onBuildingSelected",{building:this.selected}),this.mapGeometry.children[0]&&this.selectMaterial(this.mapGeometry.children[0].material)}animateLabel(e,i,r){if(null!==e&&null!==i){this.resetLabel(),e.material&&(e.material.opacity=1),this.highlightedLineIndex=this.getHoveredLabelLineIndex(r,e),this.highlightedLine=r[this.highlightedLineIndex],this.rayPoint=new j,this.rayPoint.subVectors(i.ray.origin,e.position);const o=Math.sqrt(this.rayPoint.x**2+this.rayPoint.y**2+this.rayPoint.z**2);this.normedTransformVector=new j(this.rayPoint.x/o,this.rayPoint.y/o,this.rayPoint.z/o);const a=this.calculateMaxDistance(e,r,i.ray.origin);this.normedTransformVector.multiplyScalar(a),e.position.add(this.normedTransformVector),this.toggleLineAnimation(e),this.highlightedLabel=e}}resetLineHighlight(){this.highlightedLineIndex=-1,this.highlightedLine=null}resetLabel(){null!==this.highlightedLabel&&(this.highlightedLabel.position.sub(this.normedTransformVector),this.highlightedLabel.material.opacity=Td.labelColorAndAlpha.alpha,this.highlightedLine&&this.toggleLineAnimation(this.highlightedLabel),this.highlightedLabel=null)}getHoveredLabelLineIndex(e,i){const r=e.findIndex(({uuid:o})=>o===i.uuid);if(r>=0)return r+1}toggleLineAnimation(e){const i=new j(e.position.x,e.position.y,e.position.z),o=this.highlightedLine.geometry.attributes.position.array,a=new wa((new En).setFromPoints([new j(o[0],o[1],o[2]),i]),this.highlightedLine.material);this.labels.children.splice(this.highlightedLineIndex,1,a)}getLabelForHoveredNode(e,i){for(let r=0;r=i.min[r]&&i.max[r]>=e.min[r])}getIntersectionDistanceFunction(e,i){return r=>{const o=this.normedTransformVector.clone();o.multiplyScalar(r),e.translate(o);const s=this.isOverlapping(i,e,"x")+this.isOverlapping(i,e,"y");return 2===s||1===s&&this.isOverlapping(i,e,"z")?r:0}}calculateMaxDistance(e,i,r){const o=(new ms).setFromObject(e),s=new j;o.getCenter(s);const a=r.distanceTo(s);let c=a/20;for(let l=0;l0&&this.clearHighlight()}clearSelection(){this.selected&&(this.getMapMesh().clearSelection(this.selected),this.store.dispatch(kN({value:null})),this.eventEmitter.emit("onBuildingDeselected")),this.highlighted.length>0&&this.highlightBuildings(),this.selected=null,this.mapGeometry.children[0]&&this.resetMaterial(this.mapGeometry.children[0].material)}initLights(){const e=new ox(7368816),i=new Lp(14737632,1);i.position.set(50,10,8).normalize();const r=new Lp(14737632,1);r.position.set(-50,10,-8).normalize(),this.lights.add(e),this.lights.add(i),this.lights.add(r)}setMapMesh(e,i){this.mapMesh=i,this.initFloorLabels(e),this.mapGeometry.children.length=0,this.mapGeometry.position.x=-Qo,this.mapGeometry.position.y=0,this.mapGeometry.position.z=-Qo,this.mapGeometry.add(this.mapMesh.getThreeMesh()),this.idToBuilding.setIdToBuilding(this.mapMesh.getMeshDescription().buildings)}getMapMesh(){return this.mapMesh}getSelectedBuilding(){return this.selected}getHighlightedBuilding(){return this.highlighted[0]}dispose(){this.mapMesh?.dispose()}subscribe(e,i){this.eventEmitter.on(e,r=>{i(r)})}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(Dr),ee(hx),ee(zi))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),sT=(()=>{class t{constructor(e){this.threeSceneService=e,this.isOpen=!1,this.threeSceneService.subscribe("onBuildingSelected",()=>{this.isOpen=!0}),this.threeSceneService.subscribe("onBuildingDeselected",()=>{this.isOpen=!1})}static{this.\u0275fac=function(i){return new(i||t)(ee(Yc))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Fd=(()=>{class t{static{this.VIEW_ANGLE=45}static{this.NEAR=50}static{this.FAR=2e5}init(e,i){this.camera=new So(t.VIEW_ANGLE,e/i,t.NEAR,t.FAR),this.setPosition(new j(0,300,1e3))}setPosition(e){this.camera.position.set(e.x,e.y,e.z),this.camera.lookAt(0,0,0)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var lFe=A(9146),Bq=A.n(lFe);let Bl=(()=>{class t{static{this.CAMERA_CHANGED_EVENT_NAME="camera-changed"}constructor(e,i,r){this.threeCameraService=e,this.threeSceneService=i,this.threeRendererService=r,this.eventEmitter=new PN}setControlTarget(e){this.controls.target.set(e.x,e.y,e.z)}rotateCameraInVectorDirection(e,i,r){const o=this.getZoom();this.lookAtDirectionFromTarget(e,i,r),this.applyOldZoom(o),this.threeRendererService.render(),this.onInput(this.threeCameraService.camera)}autoFitTo(){setTimeout(()=>{const e=this.getBoundingSphere(),i=this.cameraPerspectiveLengthCalculation(e);this.threeCameraService.camera.position.set(i,i,e.center.z),this.controls.update(),this.focusCameraViewToCenter(e),this.threeRendererService.render(),this.onInput(this.threeCameraService.camera)})}cameraPerspectiveLengthCalculation(e){const o=this.threeCameraService.camera.fov*Math.PI/180*1.3,s=e.radius/Math.tan(o/2);return Math.sqrt(Math.pow(s,2)+Math.pow(s,2))}focusCameraViewToCenter(e){const i=e.center.clone();i.setY(0),this.controls.target.set(i.x,i.y,i.z),this.threeCameraService.camera.lookAt(i),this.threeCameraService.camera.updateProjectionMatrix()}getBoundingSphere(){return(new ms).setFromObject(this.threeSceneService.mapGeometry).getBoundingSphere(new xd)}lookAtDirectionFromTarget(e,i,r){this.threeCameraService.camera.position.set(this.controls.target.x,this.controls.target.y,this.controls.target.z);const o=new Ti(new El(20,20,20),new Bk);this.threeSceneService.scene.add(o),o.position.set(this.controls.target.x,this.controls.target.y,this.controls.target.z),o.translateX(e),o.translateY(i),o.translateZ(r),this.threeCameraService.camera.lookAt(o.getWorldPosition(o.position)),this.threeSceneService.scene.remove(o)}getZoom(){return this.threeCameraService.camera.position.distanceTo(this.controls.target)}applyOldZoom(e){this.threeCameraService.camera.translateZ(e)}init(e){const i=Bq()(K);this.controls=new i(this.threeCameraService.camera,e),this.controls.addEventListener("change",()=>{this.onInput(this.threeCameraService.camera)})}onInput(e){this.setControlTarget(this.controls.target),this.eventEmitter.emit("onCameraChanged",{camera:e})}subscribe(e,i){this.eventEmitter.on(e,r=>{i(r)})}static{this.\u0275fac=function(i){return new(i||t)(ee(Fd),ee(Yc),ee(zi))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var px=function(){var t=0,n=document.createElement("div");function e(d){return n.appendChild(d.dom),d}function i(d){for(var u=0;u=o+1e3&&(a.update(1e3*s/(d-o),100),o=d,s=0,l)){var u=performance.memory;l.update(u.usedJSHeapSize/1048576,u.jsHeapSizeLimit/1048576)}return d},update:function(){r=this.end()},domElement:n,setMode:i}};px.Panel=function(t,n,e){var i=1/0,r=0,o=Math.round,s=o(window.devicePixelRatio||1),a=80*s,c=48*s,l=3*s,d=2*s,u=3*s,h=15*s,f=74*s,b=30*s,y=document.createElement("canvas");y.width=a,y.height=c,y.style.cssText="width:80px;height:48px";var C=y.getContext("2d");return C.font="bold "+9*s+"px Helvetica,Arial,sans-serif",C.textBaseline="top",C.fillStyle=e,C.fillRect(0,0,a,c),C.fillStyle=n,C.fillText(t,l,d),C.fillRect(u,h,f,b),C.fillStyle=e,C.globalAlpha=.9,C.fillRect(u,h,f,b),{dom:y,update:function(x,w){i=Math.min(i,x),r=Math.max(r,x),C.fillStyle=e,C.globalAlpha=1,C.fillRect(0,0,a,h),C.fillStyle=n,C.fillText(o(x)+" "+t+" ("+o(i)+"-"+o(r)+")",l,d),C.drawImage(y,u+s,h,f-s,b,u,h,f-s,b),C.fillRect(u+f-s,h,s,b),C.fillStyle=e,C.globalAlpha=.9,C.fillRect(u+f-s,h,s,o((1-x/w)*b))}}};const Ax=px;let Iq=(()=>{class t{constructor(e){this.threeRendererService=e,this.isDevelopmentMode=!1,this.init=i=>{this.isDevelopmentMode&&(this.stats=Ax(),this.stats.domElement.style.position="absolute",this.stats.domElement.style.left="0",this.stats.domElement.style.top="0",i.append(this.stats.dom),this.generateStatPanels(),this.prevTime=this.getTimeFunctor().now())},this.getTimeFunctor=()=>typeof performance>"u"?Date:performance,this.generateStatPanels=()=>{this.trianglesPanel={panel:this.stats.addPanel(Ax.Panel("triangles","#ff8","#221")),maxHeight:0},this.glCallsPanel={panel:this.stats.addPanel(Ax.Panel("calls","#f8f","#212")),maxHeight:0},this.geometryMemoryPanel={panel:this.stats.addPanel(Ax.Panel("geo. mem","#f08","#221")),maxHeight:0},this.textureMemoryPanel={panel:this.stats.addPanel(Ax.Panel("tex. mem","#0f8","#221")),maxHeight:0},this.stats.showPanel(3)},this.updateStats=()=>{if(this.isDevelopmentMode){const i=this.getTimeFunctor().now();if(i>=this.prevTime+1e3){this.prevTime=i;const r=this.threeRendererService.getInfo(),o=this.threeRendererService.getMemoryInfo();this.processPanel(this.trianglesPanel,r.triangles),this.processPanel(this.glCallsPanel,r.calls),this.processPanel(this.geometryMemoryPanel,o.geometries),this.processPanel(this.textureMemoryPanel,o.textures)}this.stats.update()}},this.resetPanels=()=>{if(this.isDevelopmentMode)for(const i of[this.trianglesPanel,this.glCallsPanel,this.geometryMemoryPanel,this.textureMemoryPanel])void 0!==i&&(i.maxHeight=0)},this.processPanel=(i,r)=>{i.maxHeight=Math.max(i.maxHeight,r),i.panel.update(r,1.3*i.maxHeight)},this.destroy=()=>{this.isDevelopmentMode&&this.stats.domElement.remove()}}static{this.\u0275fac=function(i){return new(i||t)(ee(zi))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Dq=(()=>{class t{constructor(e,i,r,o,s){this.threeSceneService=e,this.threeCameraService=i,this.threeOrbitControlsService=r,this.threeRendererService=o,this.threeStatsService=s,this.onWindowResize=()=>{this.threeSceneService.scene.updateMatrixWorld(!1),this.threeRendererService.renderer.setSize(window.innerWidth,window.innerHeight),this.threeCameraService.camera.aspect=window.innerWidth/window.innerHeight,this.threeCameraService.camera.updateProjectionMatrix(),this.animate()},this.onFocusIn=a=>{"INPUT"===a.target.nodeName&&(this.threeOrbitControlsService.controls.enableKeys=!1)},this.onFocusOut=a=>{"INPUT"===a.target.nodeName&&(this.threeOrbitControlsService.controls.enableKeys=!0)}}init(e){this.threeCameraService.init(window.innerWidth,window.innerHeight);const i=this.threeCameraService.camera,r=this.threeSceneService.scene;i.lookAt(r.position),r.add(i),this.threeRendererService.init(window.innerWidth,window.innerHeight,r,i),this.threeStatsService.init(e),this.threeOrbitControlsService.init(this.threeRendererService.renderer.domElement),e.append(this.threeRendererService.renderer.domElement),window.addEventListener("resize",this.onWindowResize),window.addEventListener("focusin",this.onFocusIn),window.addEventListener("focusout",this.onFocusOut),this.animate(),this.animateStats()}restart(e){this.stopAnimate(),this.destroy(),this.init(e),this.autoFitTo(),this.animate(),this.animateStats()}enableRotation(e){this.threeOrbitControlsService.controls.enableRotate=e}animate(){this.threeOrbitControlsService.controls.update(),this.threeRendererService.render()}animateStats(){this.animationFrameId=requestAnimationFrame(()=>this.animateStats()),this.threeStatsService.updateStats()}getRenderCanvas(){return this.threeRendererService.renderer.domElement}getRenderLoseExtention(){return this.threeRendererService.renderer.getContext().getExtension("WEBGL_lose_context")}autoFitTo(){this.threeOrbitControlsService.autoFitTo()}stopAnimate(){cancelAnimationFrame(this.animationFrameId)}dispose(){this.threeRendererService?.composer?.dispose(),this.threeRendererService?.renderer?.dispose()}destroy(){window.removeEventListener("resize",this.onWindowResize),window.removeEventListener("focusin",this.onFocusIn),window.removeEventListener("focusout",this.onFocusOut),this.dispose(),this.threeStatsService.destroy(),this.getRenderCanvas().remove(),this.dispose()}static{this.\u0275fac=function(i){return new(i||t)(ee(Yc),ee(Fd),ee(Bl),ee(zi),ee(Iq))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();const Xb=jt("SET_HOVERED_NODE_ID",{_as:"props",_p:void 0}),Yb=jt("SET_RIGHT_CLICKED_NODE_DATA",{_as:"props",_p:void 0}),NN=t=>t.appStatus,gx=Bt(NN,t=>t.hoveredNodeId);function Bd(t,n=0){let e;return(...i)=>{clearTimeout(e),e=setTimeout(()=>{t.apply(this,i),e=null},n)}}let Rq=(()=>{class t{constructor(e,i,r,o){this.state=e,this.threeCameraService=i,this.threeSceneService=r,this.threeOrbitControlsService=o,this.mapLabelColors=Td.labelColorAndAlpha,this.LABEL_COLOR_RGB=Qi.convertHexToRgba(this.mapLabelColors.rgb),this.LABEL_WIDTH_DIVISOR=2100,this.LABEL_HEIGHT_DIVISOR=35,this.LABEL_CORNER_RADIUS=40,this.LABEL_SCALE_FACTOR=.7,this.LABEL_HEIGHT_COEFFICIENT=3.75,this.LABEL_HEIGHT_POSITION=60,this.previousScaling=new j(1,1,1),this.lineCount=1,this.nodeHeight=0,this.labels=new Array,this.threeOrbitControlsService.subscribe("onCameraChanged",()=>this.onCameraChanged())}addLeafLabel(e,i,r=!1){const{appSettings:o,dynamicSettings:s}=this.state.getValue(),{scaling:a,layoutAlgorithm:c,showMetricLabelNodeName:l,showMetricLabelNameValue:d}=o,{margin:u,heightMetric:h}=s,f=new j(a.x,a.y,a.z);let b="";if(l||r&&!d)b=`${e.name}`;else if(!d)return;d&&(""!==b&&(b+="\n"),b+=`${e.attributes[h]} ${h}`);const y=this.makeText(b,30,e);let C=e.height+Math.abs(e.heightDelta??0);C=C*f.y>i*f.y?C:i,this.nodeHeight=this.nodeHeight>C?this.nodeHeight:C;const w=e.z0,M=(e.x0-Qo+e.width/2)*f.x,P=(w+this.nodeHeight)*f.y,R=(w+e.height)*f.y,W=(e.y0-Qo+e.length/2)*f.z,se=this.LABEL_HEIGHT_COEFFICIENT*u*this.LABEL_SCALE_FACTOR;let ae=se+y.heightValue/2;switch(c){case Ad.StreetMap:case Ad.TreeMapStreet:ae/=10,this.LABEL_HEIGHT_POSITION=0,y.line=this.makeLine(M,P+ae,R,W);break;default:y.line=this.makeLine(M,P+se/2,R,W)}y.sprite.position.set(M,P+ae,W),y.sprite.material.color=new Qt(this.mapLabelColors.rgb),y.sprite.material.opacity=this.mapLabelColors.alpha,y.sprite.userData={node:e},this.threeSceneService.labels.add(y.sprite),this.threeSceneService.labels.add(y.line),this.labels.push(y)}clearLabels(){this.threeSceneService.resetLabel(),this.threeSceneService.resetLineHighlight(),this.dispose(this.labels),this.labels=[],this.nodeHeight=0,this.LABEL_HEIGHT_POSITION=60,this.dispose(this.threeSceneService.labels.children),this.threeSceneService.labels.children=[]}disposeSprite(e){e.material.dispose(),e.material.map.dispose(),e.geometry.dispose()}disposeLine(e){e.material.dispose(),e.geometry.dispose()}dispose(e){for(const i of e)i instanceof Rb&&this.disposeSprite(i),i instanceof wa&&this.disposeLine(i),void 0!==i.sprite&&this.disposeSprite(i.sprite),void 0!==i.line&&this.disposeLine(i.line)}clearTemporaryLabel(e){const i=this.labels.findIndex(({node:r})=>r===e);i>-1&&(this.labels.splice(i,1),this.dispose(this.threeSceneService.labels.children),this.threeSceneService.labels.children.length-=2,this.threeSceneService.resetLineHighlight())}scale(){const{scaling:e}=this.state.getValue().appSettings,i=new j(e.x,e.y,e.z),{margin:r}=this.state.getValue().dynamicSettings,o=new j(0,this.LABEL_HEIGHT_COEFFICIENT*r*this.LABEL_SCALE_FACTOR,0);for(const s of this.labels){const a=i.clone();s.sprite.position.sub(o).divide(this.previousScaling).multiply(a).add(o),a.y>1&&(a.y=1);const l=s.line.geometry.attributes.position;l.setX(0,l.getX(0)*a.x),l.setY(0,l.getY(0)*a.y),l.setZ(0,l.getZ(0)*a.z),l.setX(1,s.sprite.position.x),l.setY(1,s.sprite.position.y),l.setZ(1,s.sprite.position.z),l.needsUpdate=!0}this.previousScaling.copy(i)}onCameraChanged(){for(const e of this.labels)this.setLabelSize(e.sprite,e,e.sprite.material.map.image.width)}makeText(e,i,r){const o=document.createElement("canvas"),s=o.getContext("2d");s.font=`${i}px Roboto`;const c=e.split("\n"),l=s.measureText(c[0]).width,d=s.measureText(c[1]).width;o.width=l>d?l+25:d+25,o.height=25+i*c.length,s.font=`${i}px Roboto`,s.fillStyle="rgba(255,255,255,1)",s.lineJoin="round",s.lineCap="round",s.lineWidth=5,t.drawRectangleWithRoundedCorners(s,0,0,o.width,o.height,this.LABEL_CORNER_RADIUS),s.fillStyle="rgba(0,0,0,1)",s.textAlign="center",s.textBaseline="middle";for(const[b,y]of c.entries())s.fillText(y,o.width/2,o.height*(b+1)/(c.length+1));const u=new Jo(o);u.minFilter=Mo,u.needsUpdate=!0;const h=new Lw({map:u}),f=new Rb(h);return this.lineCount=c.length,this.setLabelSize(f,null,o.width),{sprite:f,heightValue:o.height,line:null,lineCount:c.length,node:r}}static drawRectangleWithRoundedCorners(e,i,r,o,s,a){o<2*a&&(a=o/2),s<2*a&&(a=s/2),e.beginPath(),e.moveTo(i+a,r),e.arcTo(i+o,r,i+o,r+s,a),e.arcTo(i+o,r+s,i,r+s,a),e.arcTo(i,r+s,i,r,a),e.arcTo(i,r,i+o,r,a),e.closePath(),e.fill()}setLabelSize(e,i,r=e.material.map.image.width){const o=(new ms).setFromObject(this.threeSceneService.mapGeometry).getBoundingSphere(new xd).center;if(this.threeCameraService.camera){const s=this.threeCameraService.camera.position.distanceTo(o);null!==i&&(this.lineCount=i.lineCount),e.scale.set(s/this.LABEL_WIDTH_DIVISOR*r,this.lineCount>1?s/25:s/this.LABEL_HEIGHT_DIVISOR,1)}}makeLine(e,i,r,o){const s=new es({color:this.LABEL_COLOR_RGB,linewidth:2});return new wa((new En).setFromPoints([new j(e,r,o),new j(e,i+this.LABEL_HEIGHT_POSITION,o)]),s)}static{this.\u0275fac=function(i){return new(i||t)(ee(Dr),ee(Fd),ee(Yc),ee(Bl))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Lq=(()=>{class t{constructor(e){this.threeOrbitControlsService=e,this.eventEmitter=new PN,this.currentlyHovered=null,this.isDragging=!1}init(e,i,r){this.cubeGroup=e,this.camera=i,this.renderer=r,this.initOrbitalControl(i,r),this.initRendererEventListeners(r)}resetIsDragging(){this.isDragging=!1}initOrbitalControl(e,i){const r=Bq()(K);this.controls=new r(e,i.domElement),this.controls.enableZoom=!1,this.controls.enableKeys=!1,this.controls.enablePan=!1,this.controls.rotateSpeed=1}initRendererEventListeners(e){e.domElement.addEventListener("mousemove",i=>this.onDocumentMouseMove(i)),e.domElement.addEventListener("mouseup",i=>this.onDocumentMouseUp(i)),e.domElement.addEventListener("mousedown",i=>this.onDocumentMouseClick(i,"mousedown")),e.domElement.addEventListener("dblclick",i=>this.onDocumentMouseClick(i,"dblclick")),e.domElement.addEventListener("mouseleave",i=>this.onWindowMouseLeave(i)),e.domElement.addEventListener("mouseenter",()=>this.onDocumentMouseEnter())}onDocumentMouseClick(e,i){this.isDragging=!0,this.checkMouseIntersection(e,i)}onWindowMouseLeave(e){(null==e.relatedTarget||!(e.relatedTarget instanceof HTMLCanvasElement))&&this.enableRotation(!1)}onDocumentMouseEnter(){this.enableRotation(!0)}enableRotation(e){this.controls.enableRotate=e}checkMouseIntersection(e,i){this.getCubeIntersectedByMouse(e)||this.eventEmitter.emit("viewCubeEventPropagation",{type:i,event:e})}getCubeIntersectedByMouse(e){const i=this.transformIntoCanvasVector(e),r=new cx;r.setFromCamera(i,this.camera);const o=[];for(const a of Jr(this.cubeGroup))Ao(a)&&o.push(a.data);const[s]=r.intersectObjects(o);return s?s.object:null}transformIntoCanvasVector(e){const{domElement:i}=this.renderer,r=this.renderer.getPixelRatio(),o=i.getBoundingClientRect();return new ut((e.clientX-o.left)/i.width*r*2-1,-(e.clientY-o.top)/i.height*r*2+1)}propagateMovement(){if(this.isDragging){const e=this.camera.position;this.threeOrbitControlsService.rotateCameraInVectorDirection(-e.x,-e.y,-e.z)}return this.isDragging}onDocumentMouseMove(e){if(this.propagateMovement())return;const i=this.getCubeIntersectedByMouse(e);i?this.currentlyHovered&&i.uuid!==this.currentlyHovered.uuid?this.triggerViewCubeUnhoverEvent():this.currentlyHovered||this.triggerViewCubeHoverEvent(i):(this.currentlyHovered&&this.triggerViewCubeUnhoverEvent(),this.eventEmitter.emit("viewCubeEventPropagation",{type:"mousemove",event:e}))}onDocumentMouseUp(e){this.isDragging=!1;const i=this.getCubeIntersectedByMouse(e);i?this.eventEmitter.emit("viewCubeClicked",{cube:i}):this.eventEmitter.emit("viewCubeEventPropagation",{type:"mouseup",event:e})}triggerViewCubeHoverEvent(e){this.currentlyHovered=e,bx.changeCursorIndicator(Ku.Pointer),this.eventEmitter.emit("viewCubeHoveredEvent",{cube:e})}triggerViewCubeUnhoverEvent(){this.currentlyHovered=null,bx.changeCursorIndicator(Ku.Default),this.eventEmitter.emit("viewCubeUnHoveredEvent")}subscribe(e,i){this.eventEmitter.on(e,r=>{i(r)})}static{this.\u0275fac=function(i){return new(i||t)(ee(Bl))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var aT=function(t){return t[t.LeftClick=0]="LeftClick",t[t.RightClick=2]="RightClick",t}(aT||{}),Ku=function(t){return t.Default="default",t.Grabbing="grabbing",t.Pointer="pointer",t.Moving="move",t}(Ku||{});let bx=(()=>{class t{constructor(e,i,r,o,s,a,c,l,d){this.threeCameraService=e,this.threeRendererService=i,this.threeSceneService=r,this.store=o,this.state=s,this.codeMapLabelService=a,this.viewCubeMouseEvents=c,this.threeViewerService=l,this.idToBuilding=d,this.THRESHOLD_FOR_MOUSE_MOVEMENT_TRACKING=3,this.mouse={x:0,y:0},this.oldMouse={x:0,y:0},this.mouseOnLastClick={x:0,y:0},this.isGrabbing=!1,this.isMoving=!1,this.raycaster=new cx,this.labelHoveredBuilding=null,this.labelSelectedBuilding=null,this.subscriptions=[this.store.select(ud).pipe(co(()=>this.onFilesSelectionChanged())).subscribe(),this.store.select(dd).pipe(co(u=>this.onBlacklistChanged(u))).subscribe(),this.store.select(gx).pipe(co(u=>{null!==u?this.hoverNode(u):this.unhoverNode(!1)})).subscribe()],this.onViewCubeEventPropagation=u=>{switch(u.type){case"mousemove":this.onDocumentMouseMove(u.event);break;case"mouseup":this.onDocumentMouseUp(u.event);break;case"mousedown":this.onDocumentMouseDown(u.event);break;case"dblclick":this.onDocumentDoubleClick()}},this.onDocumentMouseMove=u=>{this.mouse.x=u.clientX,this.mouse.y=u.clientY,this.updateHovering(),this.viewCubeMouseEvents.propagateMovement()}}ngOnDestroy(){for(const e of this.subscriptions)e.unsubscribe()}static changeCursorIndicator(e){document.body.style.cursor=e}start(){this.threeRendererService.renderer.domElement.addEventListener("mousemove",Bd(this.onDocumentMouseMove,1)),this.threeRendererService.renderer.domElement.addEventListener("mouseup",e=>this.onDocumentMouseUp(e)),this.threeRendererService.renderer.domElement.addEventListener("mousedown",e=>this.onDocumentMouseDown(e)),this.threeRendererService.renderer.domElement.addEventListener("dblclick",()=>this.onDocumentDoubleClick()),this.threeRendererService.renderer.domElement.addEventListener("mouseleave",e=>this.onDocumentMouseLeave(e)),this.threeRendererService.renderer.domElement.addEventListener("mouseenter",()=>this.onDocumentMouseEnter()),this.threeRendererService.renderer.domElement.addEventListener("wheel",Bd(()=>this.threeRendererService.render(),1)),this.viewCubeMouseEvents.subscribe("viewCubeEventPropagation",this.onViewCubeEventPropagation)}hoverNode(e){if(this.isGrabbingOrMoving())return;const{buildings:i}=this.threeSceneService.getMapMesh().getMeshDescription();for(const r of i)if(r.node.id===e){this.hoverBuilding(r,!1);break}this.threeRendererService.render()}unhoverNode(e=!0){this.unhoverBuilding(e),this.threeRendererService.render()}onFilesSelectionChanged(){this.threeSceneService.clearSelection(),this.threeSceneService.clearConstantHighlight(),this.clearLabelHoveredBuilding()}onBlacklistChanged(e){const i=this.threeSceneService.getSelectedBuilding();this.clearLabelHoveredBuilding(),i&&function t_e(t,n){return Cu(t,n,"exclude")||Cu(t,n,"flatten")}(i.node.path,e)&&this.threeSceneService.clearSelection(),this.unhoverBuilding()}updateHovering(){if(this.hasMouseMoved(this.oldMouse)){const e=this.threeSceneService.labels?.children;if(this.isGrabbingOrMoving())return this.threeSceneService.resetLabel(),this.clearLabelHoveredBuilding(),void this.threeRendererService.render();this.oldMouse.x=this.mouse.x,this.oldMouse.y=this.mouse.y;const i=this.threeSceneService.getMapMesh();if(i){this.threeCameraService.camera.updateMatrixWorld(!1);let r="";const o=this.transformHTMLToSceneCoordinates(),s=this.threeCameraService.camera;s.isPerspectiveCamera&&this.raycaster.setFromCamera(o,s);const a=this.calculateHoveredLabel(e);a&&(this.threeSceneService.animateLabel(a.object,this.raycaster,e),r=a.object.userData.node.path),this.intersectedBuilding=""!==r?i.getBuildingByPath(r):i.checkMouseRayMeshIntersection(o,s);const c=this.threeSceneService.getHighlightedBuilding(),l=this.intersectedBuilding;c?.id!==l?.id&&(this.clearLabelHoveredBuilding(),this.threeSceneService.resetLabel(),this.unhoverBuilding(),l&&!this.isGrabbingOrMoving()&&(this.setLabelHoveredLeaf(l,e),this.hoverBuilding(l)))}}}setLabelHoveredLeaf(e,i){if(e?.node?.isLeaf){const r=this.threeSceneService.getLabelForHoveredNode(e,i)??this.drawLabelHoveredBuilding(e);this.threeSceneService.animateLabel(r,this.raycaster,i)}}drawLabelHoveredBuilding(e){this.codeMapLabelService.addLeafLabel(e.node,0,!0);const r=this.threeSceneService.labels?.children,o=this.threeSceneService.getLabelForHoveredNode(e,r);return this.labelHoveredBuilding=e.node,o}drawLabelSelectedBuilding(e){if(this.clearLabelHoveredBuilding(),null!==this.labelSelectedBuilding&&this.codeMapLabelService.clearTemporaryLabel(this.labelSelectedBuilding),!e.node.isLeaf)return;this.codeMapLabelService.addLeafLabel(e.node,0,!0);const i=this.threeSceneService.labels?.children,r=this.threeSceneService.getLabelForHoveredNode(e,i);return this.threeSceneService.animateLabel(r,this.raycaster,i),this.labelSelectedBuilding=e.node,r}clearLabelHoveredBuilding(){null!==this.labelHoveredBuilding&&(this.codeMapLabelService.clearTemporaryLabel(this.labelHoveredBuilding),this.labelHoveredBuilding=null)}clearLabelSelectedBuilding(){null!==this.labelSelectedBuilding&&(this.codeMapLabelService.clearTemporaryLabel(this.labelSelectedBuilding),this.labelSelectedBuilding=null)}EnableOrbitalsRotation(e){this.threeViewerService.enableRotation(e),this.viewCubeMouseEvents.enableRotation(e)}onDocumentMouseEnter(){this.EnableOrbitalsRotation(!0)}onDocumentMouseLeave(e){e.relatedTarget instanceof HTMLCanvasElement||this.EnableOrbitalsRotation(!1)}onDocumentDoubleClick(){const e=this.threeSceneService.getHighlightedBuilding(),i=this.threeSceneService.getSelectedBuilding(),r=e?.node.link;if(r&&!this.hasMouseMoved(this.mouseOnLastClick)&&window.open(r,"_blank"),i?.node.isLeaf){const o=i.node.link;if(o)return void window.open(o,"_blank")}}onDocumentMouseDown(e){e.button===aT.RightClick&&(this.isMoving=!0,t.changeCursorIndicator(Ku.Moving)),e.button===aT.LeftClick&&(this.isGrabbing=!0,t.changeCursorIndicator(Ku.Grabbing)),this.mouseOnLastClick={x:e.clientX,y:e.clientY},document.activeElement.blur()}onDocumentMouseUp(e){this.viewCubeMouseEvents.resetIsDragging(),e.button===aT.LeftClick?this.onLeftClick():this.onRightClick(),t.changeCursorIndicator(void 0!==this.intersectedBuilding?Ku.Pointer:Ku.Default)}calculateHoveredLabel(e){let i=null;for(let r=0;r0&&(i=null===i?o[0]:i.distancethis.THRESHOLD_FOR_MOUSE_MOVEMENT_TRACKING||Math.abs(this.mouse.y-i)>this.THRESHOLD_FOR_MOUSE_MOVEMENT_TRACKING}hasMouseMoved({x:e,y:i}){return this.mouse.x!==e||this.mouse.y!==i}isGrabbingOrMoving(){return this.isGrabbing||this.isMoving}hoverBuilding(e,i=!0){t.changeCursorIndicator(Ku.Pointer);const o=$b(this.state.getValue()).get(e.node.id);for(const{data:s}of Jr(o)){const a=this.idToBuilding.get(s.id);a&&this.threeSceneService.addBuildingToHighlightingList(a)}this.threeSceneService.highlightBuildings(),i&&this.store.dispatch(Xb({value:e.node.id}))}transformHTMLToSceneCoordinates(){const{renderer:e,renderer:{domElement:i}}=this.threeRendererService,r=e.getPixelRatio(),o=i.getBoundingClientRect();return{x:this.mouse.x/i.width*r*2-1,y:-(this.mouse.y-o.top)/i.height*r*2+1}}unhoverBuilding(e=!0){this.isGrabbingOrMoving()||t.changeCursorIndicator(Ku.Default),this.threeSceneService.getConstantHighlight().size>0?this.threeSceneService.clearHoverHighlight():this.threeSceneService.clearHighlight(),e&&this.store.dispatch(Xb({value:null}))}static{this.\u0275fac=function(i){return new(i||t)(ee(Fd),ee(zi),ee(Yc),ee(Tt),ee(Dr),ee(Rq),ee(Lq),ee(Dq),ee(hx))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();const UN=()=>new Ub({color:16580095}),HN=()=>new Ub({color:16580095}),Pq=()=>new Ub({color:16580095});class Il{static buildCube(n){const e=1/n,i=(1-e)/2,r=new El(e,i,i),o=new El(i,i,i),s=new El(e,e,i);return Il.buildCubeGroup(r,o,s)}static buildCubeGroup(n,e,i){const r=new ks,{group:o,topLeft:s,topCenter:a,topRight:c,bottomLeft:l,bottomCenter:d,bottomRight:u,middleLeft:h,middleCenter:f,middleRight:b}=Il.buildFullFace(n,e,i),{group:y,topLeft:C,topCenter:x,topRight:w,bottomLeft:S,bottomCenter:M,bottomRight:P,middleLeft:R,middleCenter:W,middleRight:se}=Il.buildFullFace(n,e,i),ae=n.parameters.width/2+e.parameters.width/2;y.position.z-=ae,o.position.z+=ae;const{group:ce,topLeftMiddle:ue,topMiddleMiddle:Me,topRightMiddle:ve,middleLeftMiddle:$,middleRightMiddle:me,bottomLeftMiddle:Y,bottomMiddleMiddle:Ae,bottomRightMiddle:Fe}=Il.buildMiddleRing(i,n,e);return r.add(o),r.add(y),r.add(ce),{group:r,front:{top:{left:s,middle:a,right:c},middle:{left:b,middle:f,right:h},bottom:{left:l,middle:d,right:u}},back:{top:{left:C,middle:x,right:w},middle:{left:R,middle:W,right:se},bottom:{left:S,middle:M,right:P}},middle:{top:{left:ue,middle:Me,right:ve},middle:{left:$,right:me},bottom:{left:Y,middle:Ae,right:Fe}}}}static buildMiddleRing(n,e,i){const{group:r,left:o,right:s,center:a}=Il.buildMiddleFace(n,e),{group:c,left:l,right:d,center:u}=Il.buildMiddleFace(n,e),h=new Ti(n,HN()),f=new Ti(n,HN()),b=e.parameters.width/2+i.parameters.width/2;r.position.x-=b,r.rotation.x=Math.PI/2,r.rotation.y=Math.PI/2,c.position.x+=b,c.rotation.x=Math.PI/2,c.rotation.y=Math.PI/2,f.position.y-=b,f.rotation.x=Math.PI/2,h.position.y+=b,h.rotation.x=Math.PI/2;const y=new ks;return y.add(r),y.add(c),y.add(f),y.add(h),{group:y,topLeftMiddle:o,topMiddleMiddle:h,topRightMiddle:l,middleLeftMiddle:a,middleRightMiddle:u,bottomLeftMiddle:s,bottomMiddleMiddle:f,bottomRightMiddle:d}}static buildFullFace(n,e,i){const{group:r,left:o,right:s,center:a}=Il.buildFullEdge(n,e),{group:c,left:l,right:d,center:u}=Il.buildFullEdge(n,e),h=n.parameters.height/2+i.parameters.height/2;r.position.y+=h,c.position.y-=h;const{group:f,left:b,right:y,center:C}=Il.buildMiddleFace(i,n),x=new ks;return x.add(r),x.add(c),x.add(f),{group:x,topLeft:o,topCenter:a,topRight:s,bottomLeft:l,bottomCenter:u,bottomRight:d,middleLeft:b,middleCenter:C,middleRight:y}}static buildMiddleFace(n,e){const i=new Ti(n,HN()),r=new Ti(e,UN()),o=new Ti(e,UN()),s=n.parameters.height/2+e.parameters.height/2;r.position.y-=s,o.position.y+=s;const a=new ks;return a.rotation.z=Math.PI/2,a.add(i),a.add(r),a.add(o),{group:a,left:r,right:o,center:i}}static buildFullEdge(n,e){const i=new Ti(n,UN()),r=new Ti(e,Pq()),o=new Ti(e,Pq()),s=n.parameters.width/2+e.parameters.width/2;r.position.x-=s,o.position.x+=s;const a=new ks;return a.add(i),a.add(r),a.add(o),{group:a,left:r,right:o,center:i}}}let uFe=(()=>{class t{constructor(e){this.threeOrbitControlsService=e}centerMap(){this.threeOrbitControlsService.autoFitTo()}static{this.\u0275fac=function(i){return new(i||t)(N(Bl))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-center-map-button"]],decls:2,vars:0,consts:[["aria-label","Center map in View","title","Center map",1,"cc-shadow",3,"click"],[1,"fa","fa-compass"]],template:function(i,r){1&i&&(T(0,"button",0),De("click",function(){return r.centerMap()}),fe(1,"i",1),L())},styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-center-map-button button{position:absolute;right:15px;width:36px;height:36px;font-size:28px;border-radius:100%;color:#fff;background-color:#1b9cfc}cc-center-map-button button i{margin-top:2px}cc-center-map-button button:hover{cursor:pointer;color:#eee}\n'],encapsulation:2})}}return t})(),hFe=(()=>{class t{constructor(e,i,r){this.elementReference=e,this.threeOrbitControlsService=i,this.viewCubeMouseEvents=r,this.WIDTH=200,this.HEIGHT=200,this.LENGTH_VIEWCUBE=1,this.hoverInfo={cube:null,originalMaterial:null},this.cubeDefinition={front:null,middle:null,back:null},this.onCameraChanged=o=>{const s=this.calculateCameraPosition(o.camera);this.setCameraPosition(s),this.renderer.render(this.scene,this.camera)},this.onCubeHovered=o=>{this.hoverInfo={cube:o.cube,originalMaterial:o.cube.material},this.hoverInfo.cube.material.emissive=new Qt(16777215),this.renderer.render(this.scene,this.camera)},this.onCubeUnhovered=()=>{this.hoverInfo.cube.material.emissive=new Qt(0),this.hoverInfo.cube=null,this.renderer.render(this.scene,this.camera)},this.onCubeClicked=o=>{switch(o.cube){case this.cubeDefinition.front.top.middle:this.threeOrbitControlsService.rotateCameraInVectorDirection(0,-1,-1);break;case this.cubeDefinition.front.top.left:this.threeOrbitControlsService.rotateCameraInVectorDirection(1,-1,-1);break;case this.cubeDefinition.front.top.right:this.threeOrbitControlsService.rotateCameraInVectorDirection(-1,-1,-1);break;case this.cubeDefinition.front.middle.middle:this.threeOrbitControlsService.rotateCameraInVectorDirection(0,0,0);break;case this.cubeDefinition.front.middle.left:this.threeOrbitControlsService.rotateCameraInVectorDirection(1,0,-1);break;case this.cubeDefinition.front.middle.right:this.threeOrbitControlsService.rotateCameraInVectorDirection(-1,0,-1);break;case this.cubeDefinition.front.bottom.middle:this.threeOrbitControlsService.rotateCameraInVectorDirection(0,1,-1);break;case this.cubeDefinition.front.bottom.left:this.threeOrbitControlsService.rotateCameraInVectorDirection(1,1,-1);break;case this.cubeDefinition.front.bottom.right:this.threeOrbitControlsService.rotateCameraInVectorDirection(-1,1,-1);break;case this.cubeDefinition.middle.middle.right:this.threeOrbitControlsService.rotateCameraInVectorDirection(-1,0,0);break;case this.cubeDefinition.middle.top.right:this.threeOrbitControlsService.rotateCameraInVectorDirection(-1,-1,0);break;case this.cubeDefinition.middle.bottom.right:this.threeOrbitControlsService.rotateCameraInVectorDirection(-1,1,0);break;case this.cubeDefinition.middle.middle.left:this.threeOrbitControlsService.rotateCameraInVectorDirection(1,0,0);break;case this.cubeDefinition.middle.top.left:this.threeOrbitControlsService.rotateCameraInVectorDirection(1,-1,0);break;case this.cubeDefinition.middle.bottom.left:this.threeOrbitControlsService.rotateCameraInVectorDirection(1,1,0);break;case this.cubeDefinition.middle.top.middle:this.threeOrbitControlsService.rotateCameraInVectorDirection(0,-1,0);break;case this.cubeDefinition.middle.bottom.middle:this.threeOrbitControlsService.rotateCameraInVectorDirection(0,1,0);break;case this.cubeDefinition.back.top.middle:this.threeOrbitControlsService.rotateCameraInVectorDirection(0,-1,1);break;case this.cubeDefinition.back.top.left:this.threeOrbitControlsService.rotateCameraInVectorDirection(1,-1,1);break;case this.cubeDefinition.back.top.right:this.threeOrbitControlsService.rotateCameraInVectorDirection(-1,-1,1);break;case this.cubeDefinition.back.middle.middle:this.threeOrbitControlsService.rotateCameraInVectorDirection(0,0,1);break;case this.cubeDefinition.back.middle.left:this.threeOrbitControlsService.rotateCameraInVectorDirection(-1,0,1);break;case this.cubeDefinition.back.middle.right:this.threeOrbitControlsService.rotateCameraInVectorDirection(1,0,1);break;case this.cubeDefinition.back.bottom.middle:this.threeOrbitControlsService.rotateCameraInVectorDirection(0,1,1);break;case this.cubeDefinition.back.bottom.left:this.threeOrbitControlsService.rotateCameraInVectorDirection(-1,1,1);break;case this.cubeDefinition.back.bottom.right:this.threeOrbitControlsService.rotateCameraInVectorDirection(1,1,1)}}}ngOnInit(){this.initScene(),this.initLights(),this.initRenderer(this.elementReference.nativeElement),this.initCube(),this.initAxesHelper(),this.initCamera(),this.viewCubeMouseEvents.init(this.cubeGroup,this.camera,this.renderer),this.threeOrbitControlsService.subscribe("onCameraChanged",this.onCameraChanged),this.viewCubeMouseEvents.subscribe("viewCubeHoveredEvent",this.onCubeHovered),this.viewCubeMouseEvents.subscribe("viewCubeUnHoveredEvent",this.onCubeUnhovered),this.viewCubeMouseEvents.subscribe("viewCubeClicked",this.onCubeClicked)}initAxesHelper(){const e=new xN(1.3),i=-this.LENGTH_VIEWCUBE/2+.01;e.position.x+=i,e.position.y+=i,e.position.z+=i,this.scene.add(e)}initCube(){const{group:e,front:i,middle:r,back:o}=Il.buildCube(1.6);this.cubeGroup=e,this.cubeDefinition.front=i,this.cubeDefinition.middle=r,this.cubeDefinition.back=o;const s=new yN(this.cubeGroup,new Qt(0));this.scene.add(this.cubeGroup),this.scene.add(s)}setCameraPosition(e){this.camera.position.set(e.x,e.y,e.z),this.camera.lookAt(0,0,0),this.camera.updateProjectionMatrix()}calculateCameraPosition(e){const i=this.threeOrbitControlsService.controls.target.clone();return e.position.clone().sub(i).normalize().multiplyScalar(3)}initScene(){this.scene=new Tb}initRenderer(e){this.renderer=new vr({alpha:!0,antialias:!0}),this.renderer.setSize(this.WIDTH,this.HEIGHT),this.renderer.setPixelRatio(window.devicePixelRatio),e.appendChild(this.renderer.domElement)}initCamera(){this.camera=new So(45,this.WIDTH/this.HEIGHT,.1,1e3),this.camera.position.z=4}initLights(){this.lights=new ks;const e=new ox(7368816,1.2),i=new Lp(14737632,.4);i.position.set(50,10,8).normalize();const r=new Lp(14737632,.4);r.position.set(-50,10,-8).normalize(),this.lights.add(e),this.lights.add(i),this.lights.add(r),this.scene.add(this.lights)}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(Bl),N(Lq))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-view-cube"]],decls:1,vars:0,template:function(i,r){1&i&&fe(0,"cc-center-map-button")},dependencies:[uFe],encapsulation:2})}}return t})();const fFe=Bt(NN,t=>t.selectedBuildingId),Qf=Bt(fFe,$b,(t,n)=>n?.get(t)),mFe=["tooltip"],Nq=new He("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{const t=yt(us);return()=>t.scrollStrategies.reposition({scrollThrottle:20})}}),AFe={provide:Nq,deps:[us],useFactory:function pFe(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},bFe=new He("mat-tooltip-default-options",{providedIn:"root",factory:function gFe(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),Uq="tooltip-panel",Hq=Jm({passive:!0});let Vq=(()=>{class t{get position(){return this._position}set position(e){e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(e){this._positionAtOrigin=Ns(e),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(e){this._disabled=Ns(e),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(e){this._showDelay=hf(e)}get hideDelay(){return this._hideDelay}set hideDelay(e){this._hideDelay=hf(e),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(e){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=e?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}constructor(e,i,r,o,s,a,c,l,d,u,h,f){this._overlay=e,this._elementRef=i,this._scrollDispatcher=r,this._viewContainerRef=o,this._ngZone=s,this._platform=a,this._ariaDescriber=c,this._focusMonitor=l,this._dir=u,this._defaultOptions=h,this._position="below",this._positionAtOrigin=!1,this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._tooltipComponent=xFe,this._viewportMargin=8,this._cssClassPrefix="mat-mdc",this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new It,this._scrollStrategy=d,this._document=f,h&&(this._showDelay=h.showDelay,this._hideDelay=h.hideDelay,h.position&&(this.position=h.position),h.positionAtOrigin&&(this.positionAtOrigin=h.positionAtOrigin),h.touchGestures&&(this.touchGestures=h.touchGestures)),u.change.pipe(Lr(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)}),this._viewportMargin=8}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(Lr(this._destroyed)).subscribe(e=>{e?"keyboard"===e&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const e=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([i,r])=>{e.removeEventListener(i,r,Hq)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}show(e=this.showDelay,i){if(this.disabled||!this.message||this._isTooltipVisible())return void this._tooltipInstance?._cancelPendingAnimations();const r=this._createOverlay(i);this._detach(),this._portal=this._portal||new Ey(this._tooltipComponent,this._viewContainerRef);const o=this._tooltipInstance=r.attach(this._portal).instance;o._triggerElement=this._elementRef.nativeElement,o._mouseLeaveHideDelay=this._hideDelay,o.afterHidden().pipe(Lr(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),o.show(e)}hide(e=this.hideDelay){const i=this._tooltipInstance;i&&(i.isVisible()?i.hide(e):(i._cancelPendingAnimations(),this._detach()))}toggle(e){this._isTooltipVisible()?this.hide():this.show(void 0,e)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(e){if(this._overlayRef){const o=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!e)&&o._origin instanceof Mn)return this._overlayRef;this._detach()}const i=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),r=this._overlay.position().flexibleConnectedTo(this.positionAtOrigin&&e||this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(i);return r.positionChanges.pipe(Lr(this._destroyed)).subscribe(o=>{this._updateCurrentPositionClass(o.connectionPair),this._tooltipInstance&&o.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:r,panelClass:`${this._cssClassPrefix}-${Uq}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(Lr(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(Lr(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(Lr(this._destroyed)).subscribe(o=>{this._isTooltipVisible()&&27===o.keyCode&&!bl(o)&&(o.preventDefault(),o.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(e){const i=e.getConfig().positionStrategy,r=this._getOrigin(),o=this._getOverlayPosition();i.withPositions([this._addOffset({...r.main,...o.main}),this._addOffset({...r.fallback,...o.fallback})])}_addOffset(e){const r=!this._dir||"ltr"==this._dir.value;return"top"===e.originY?e.offsetY=-8:"bottom"===e.originY?e.offsetY=8:"start"===e.originX?e.offsetX=r?-8:8:"end"===e.originX&&(e.offsetX=r?8:-8),e}_getOrigin(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let r;"above"==i||"below"==i?r={originX:"center",originY:"above"==i?"top":"bottom"}:"before"==i||"left"==i&&e||"right"==i&&!e?r={originX:"start",originY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(r={originX:"end",originY:"center"});const{x:o,y:s}=this._invertPosition(r.originX,r.originY);return{main:r,fallback:{originX:o,originY:s}}}_getOverlayPosition(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let r;"above"==i?r={overlayX:"center",overlayY:"bottom"}:"below"==i?r={overlayX:"center",overlayY:"top"}:"before"==i||"left"==i&&e||"right"==i&&!e?r={overlayX:"end",overlayY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(r={overlayX:"start",overlayY:"center"});const{x:o,y:s}=this._invertPosition(r.overlayX,r.overlayY);return{main:r,fallback:{overlayX:o,overlayY:s}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(qo(1),Lr(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(e){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=e,this._tooltipInstance._markForCheck())}_invertPosition(e,i){return"above"===this.position||"below"===this.position?"top"===i?i="bottom":"bottom"===i&&(i="top"):"end"===e?e="start":"start"===e&&(e="end"),{x:e,y:i}}_updateCurrentPositionClass(e){const{overlayY:i,originX:r,originY:o}=e;let s;if(s="center"===i?this._dir&&"rtl"===this._dir.value?"end"===r?"left":"right":"start"===r?"left":"right":"bottom"===i&&"top"===o?"above":"below",s!==this._currentPosition){const a=this._overlayRef;if(a){const c=`${this._cssClassPrefix}-${Uq}-`;a.removePanelClass(c+this._currentPosition),a.addPanelClass(c+s)}this._currentPosition=s}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",e=>{let i;this._setupPointerExitEventsIfNeeded(),void 0!==e.x&&void 0!==e.y&&(i=e),this.show(void 0,i)}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",e=>{const i=e.targetTouches?.[0],r=i?{x:i.clientX,y:i.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(void 0,r),this._defaultOptions.touchLongPressShowDelay??500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const e=[];if(this._platformSupportsMouseEvents())e.push(["mouseleave",i=>{const r=i.relatedTarget;(!r||!this._overlayRef?.overlayElement.contains(r))&&this.hide()}],["wheel",i=>this._wheelListener(i)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const i=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};e.push(["touchend",i],["touchcancel",i])}this._addListeners(e),this._passiveListeners.push(...e)}_addListeners(e){e.forEach(([i,r])=>{this._elementRef.nativeElement.addEventListener(i,r,Hq)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(e){if(this._isTooltipVisible()){const i=this._document.elementFromPoint(e.clientX,e.clientY),r=this._elementRef.nativeElement;i!==r&&!r.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){const e=this.touchGestures;if("off"!==e){const i=this._elementRef.nativeElement,r=i.style;("on"===e||"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName)&&(r.userSelect=r.msUserSelect=r.webkitUserSelect=r.MozUserSelect="none"),("on"===e||!i.draggable)&&(r.webkitUserDrag="none"),r.touchAction="none",r.webkitTapHighlightColor="transparent"}}static{this.\u0275fac=function(i){return new(i||t)(N(us),N(Mn),N(UW),N(ha),N(mn),N(Rr),N(xve),N(ku),N(Nq),N(Mu),N(bFe,8),N(Di))}}static{this.\u0275dir=Et({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function(i,r){2&i&&sn("mat-mdc-tooltip-disabled",r.disabled)},inputs:{position:[Ke.None,"matTooltipPosition","position"],positionAtOrigin:[Ke.None,"matTooltipPositionAtOrigin","positionAtOrigin"],disabled:[Ke.None,"matTooltipDisabled","disabled"],showDelay:[Ke.None,"matTooltipShowDelay","showDelay"],hideDelay:[Ke.None,"matTooltipHideDelay","hideDelay"],touchGestures:[Ke.None,"matTooltipTouchGestures","touchGestures"],message:[Ke.None,"matTooltip","message"],tooltipClass:[Ke.None,"matTooltipClass","tooltipClass"]},exportAs:["matTooltip"],standalone:!0})}}return t})(),xFe=(()=>{class t{constructor(e,i,r){this._changeDetectorRef=e,this._elementRef=i,this._isMultiline=!1,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new It,this._showAnimation="mat-mdc-tooltip-show",this._hideAnimation="mat-mdc-tooltip-hide",this._animationsDisabled="NoopAnimations"===r}show(e){null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},e)}hide(e){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},e)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:e}){(!e||!this._triggerElement.contains(e))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){const e=this._elementRef.nativeElement.getBoundingClientRect();return e.height>24&&e.width>=200}_handleAnimationEnd({animationName:e}){(e===this._showAnimation||e===this._hideAnimation)&&this._finalizeAnimation(e===this._showAnimation)}_cancelPendingAnimations(){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(e){e?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(e){const i=this._tooltip.nativeElement,r=this._showAnimation,o=this._hideAnimation;if(i.classList.remove(e?o:r),i.classList.add(e?r:o),this._isVisible=e,e&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const s=getComputedStyle(i);("0s"===s.getPropertyValue("animation-duration")||"none"===s.getPropertyValue("animation-name"))&&(this._animationsDisabled=!0)}e&&this._onShow(),this._animationsDisabled&&(i.classList.add("_mat-animation-noopable"),this._finalizeAnimation(e))}static{this.\u0275fac=function(i){return new(i||t)(N(ao),N(Mn),N(jo,8))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-tooltip-component"]],viewQuery:function(i,r){if(1&i&&gi(mFe,7),2&i){let o;ln(o=dn())&&(r._tooltip=o.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(i,r){1&i&&De("mouseleave",function(s){return r._handleMouseLeave(s)}),2&i&&xi("zoom",r.isVisible()?1:null)},standalone:!0,features:[br],decls:4,vars:4,consts:[["tooltip",""],[1,"mdc-tooltip","mdc-tooltip--shown","mat-mdc-tooltip",3,"animationend","ngClass"],[1,"mdc-tooltip__surface","mdc-tooltip__surface-animation"]],template:function(i,r){if(1&i){const o=Cn();T(0,"div",1,0),De("animationend",function(a){return Mt(o),St(r._handleAnimationEnd(a))}),T(2,"div",2),ge(3),L()()}2&i&&(sn("mdc-tooltip--multiline",r._isMultiline),le("ngClass",r.tooltipClass),D(3),gr(r.message))},dependencies:[Qm],styles:['.mdc-tooltip__surface{word-break:break-all;word-break:var(--mdc-tooltip-word-break, normal);overflow-wrap:anywhere}.mdc-tooltip--showing-transition .mdc-tooltip__surface-animation{transition:opacity 150ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-tooltip--hide-transition .mdc-tooltip__surface-animation{transition:opacity 75ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-tooltip{position:fixed;display:none;z-index:9}.mdc-tooltip-wrapper--rich{position:relative}.mdc-tooltip--shown,.mdc-tooltip--showing,.mdc-tooltip--hide{display:inline-flex}.mdc-tooltip--shown.mdc-tooltip--rich,.mdc-tooltip--showing.mdc-tooltip--rich,.mdc-tooltip--hide.mdc-tooltip--rich{display:inline-block;left:-320px;position:absolute}.mdc-tooltip__surface{line-height:16px;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center}.mdc-tooltip__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-tooltip__surface::before{border-color:CanvasText}}.mdc-tooltip--rich .mdc-tooltip__surface{align-items:flex-start;display:flex;flex-direction:column;min-height:24px;min-width:40px;max-width:320px;position:relative}.mdc-tooltip--multiline .mdc-tooltip__surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mdc-tooltip__surface,.mdc-tooltip--multiline .mdc-tooltip__surface[dir=rtl]{text-align:right}.mdc-tooltip__surface .mdc-tooltip__title{margin:0 8px}.mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(200px - 2*8px);margin:8px;text-align:left}[dir=rtl] .mdc-tooltip__surface .mdc-tooltip__content,.mdc-tooltip__surface .mdc-tooltip__content[dir=rtl]{text-align:right}.mdc-tooltip--rich .mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(320px - 2*8px);align-self:stretch}.mdc-tooltip__surface .mdc-tooltip__content-link{text-decoration:none}.mdc-tooltip--rich-actions,.mdc-tooltip__content,.mdc-tooltip__title{z-index:1}.mdc-tooltip__surface-animation{opacity:0;transform:scale(0.8);will-change:transform,opacity}.mdc-tooltip--shown .mdc-tooltip__surface-animation{transform:scale(1);opacity:1}.mdc-tooltip--hide .mdc-tooltip__surface-animation{transform:scale(1)}.mdc-tooltip__caret-surface-top,.mdc-tooltip__caret-surface-bottom{position:absolute;height:24px;width:24px;transform:rotate(35deg) skewY(20deg) scaleX(0.9396926208)}.mdc-tooltip__caret-surface-top .mdc-elevation-overlay,.mdc-tooltip__caret-surface-bottom .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-tooltip__caret-surface-bottom{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);outline:1px solid rgba(0,0,0,0);z-index:-1}@media screen and (forced-colors: active){.mdc-tooltip__caret-surface-bottom{outline-color:CanvasText}}.mat-mdc-tooltip .mdc-tooltip__surface{background-color:var(--mdc-plain-tooltip-container-color)}.mat-mdc-tooltip .mdc-tooltip__surface{border-radius:var(--mdc-plain-tooltip-container-shape)}.mat-mdc-tooltip .mdc-tooltip__caret-surface-top,.mat-mdc-tooltip .mdc-tooltip__caret-surface-bottom{border-radius:var(--mdc-plain-tooltip-container-shape)}.mat-mdc-tooltip .mdc-tooltip__surface{color:var(--mdc-plain-tooltip-supporting-text-color)}.mat-mdc-tooltip .mdc-tooltip__surface{font-family:var(--mdc-plain-tooltip-supporting-text-font);line-height:var(--mdc-plain-tooltip-supporting-text-line-height);font-size:var(--mdc-plain-tooltip-supporting-text-size);font-weight:var(--mdc-plain-tooltip-supporting-text-weight);letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking)}.mat-mdc-tooltip{position:relative;transform:scale(0)}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}'],encapsulation:2,changeDetection:0})}}return t})(),Qq=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[AFe],imports:[BL,nn,Ty,nr,nr,Cy]})}}return t})();const zf=Bt(xu,t=>ld(t)),CFe=Bt(Qf,t=>{if(t)return{all:t.attributes?.unary??0,added:t.fileCount?.added??0,removed:t.fileCount?.removed??0,changed:t.fileCount?.changed??0}});function EFe(t,n){if(1&t&&(T(0,"span",2),ge(1," | "),T(2,"span",3),ge(3),L(),ge(4," | "),T(5,"span",4),ge(6),L(),ge(7," | "),T(8,"span",5),ge(9),L()()),2&t){const e=Se();D(3),qt(" \u0394",e.added,""),D(3),qt(" \u0394",e.removed>0?-e.removed:0,""),D(3),qt(" \u0394",e.changed,"")}}function MFe(t,n){if(1&t&&(T(0,"span",2),ge(1),$e(2,EFe,10,3,"span",2),Ee(3,"async"),ge(4,") "),L()),2&t){const e=n,i=Se(2);D(),wg(" ( ",e.all," ",1===e.all?"file":"files"," "),D(),at(2,null!=i.node.children&&i.node.children.length&&Re(3,3,i.isDeltaMode$)?2:-1)}}function SFe(t,n){if(1&t&&(T(0,"span",1),ge(1),$e(2,MFe,5,5,"span",2),Ee(3,"async"),L()),2&t){let e;const i=Se();D(),qt(" ",i.node.path," "),D(),at(2,(e=Re(3,2,(null==i.node.children?null:i.node.children.length)&&i.fileCount$))?2:-1,e)}}let kFe=(()=>{class t{constructor(e){this.fileCount$=e.select(CFe),this.isDeltaMode$=e.select(zf)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-node-path"]],inputs:{node:"node"},decls:2,vars:1,consts:[[1,"cc-node-path"],[1,"file-path"],[1,"cc-node-file-count"],["title","Number of added files",1,"added-files"],["title","Number of removed files",1,"removed-files"],["title","Number of files with metric changes",1,"files-with-metric-changes"]],template:function(i,r){1&i&&(T(0,"p",0),$e(1,SFe,4,4,"span",1),L()),2&i&&(D(),at(1,r.node?1:-1))},dependencies:[Ln],encapsulation:2})}}return t})(),VN=(()=>{class t{transform(e){return Hf.withoutCCExtension(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"removeExtension",type:t,pure:!0})}}return t})();function TFe(t,n){if(1&t&&(T(0,"div",1)(1,"a",4)(2,"h2"),ge(3),L(),fe(4,"i",5),L()()),2&t){const e=Se(2);Ga("matTooltip",e.node.link),le("matTooltipShowDelay",200),D(),Ga("href",e.node.link,Tm),D(2),qt("",e.node.name,"\xa0")}}function FFe(t,n){if(1&t){const e=Cn();T(0,"i",0),De("click",function(){return Mt(e),St(Se().closeSideBar())}),L(),$e(1,TFe,5,4,"div",1),T(2,"p",2),ge(3),Ee(4,"removeExtension"),L(),fe(5,"cc-node-path",3)}if(2&t){const e=Se();D(),at(1,e.node.link?1:-1),D(2),gr(Re(4,3,e.fileName)),D(2),le("node",e.node)}}let BFe=(()=>{class t{constructor(e){this.isAttributeSideBarVisibleService=e}closeSideBar(){this.isAttributeSideBarVisibleService.isOpen=!1}static{this.\u0275fac=function(i){return new(i||t)(N(sT))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-attribute-side-bar-header-section"]],inputs:{node:"node",fileName:"fileName"},decls:1,vars:1,consts:[[1,"close-icon","fa","fa-times",3,"click"],["data-testid","file-link",1,"node-name",3,"matTooltip","matTooltipShowDelay"],[1,"node-origin"],[3,"node"],["target","_blank","rel","noopener noreferrer",1,"node-link",3,"href"],[1,"fa","fa-external-link"]],template:function(i,r){1&i&&$e(0,FFe,6,5),2&i&&at(0,r.node?0:-1)},dependencies:[Vq,kFe,VN],styles:["cc-attribute-side-bar-header-section{display:flex;flex-direction:column}cc-attribute-side-bar-header-section .close-icon,cc-attribute-side-bar-header-section .node-link{color:gray;padding:0;cursor:pointer;outline:none;transition:.2s}cc-attribute-side-bar-header-section .close-icon:hover,cc-attribute-side-bar-header-section .node-link:hover{color:#444}cc-attribute-side-bar-header-section .close-icon{align-self:flex-end;font-size:20px}cc-attribute-side-bar-header-section .node-name{width:90%;cursor:pointer}cc-attribute-side-bar-header-section .node-name .node-link{font-size:11pt}cc-attribute-side-bar-header-section .node-name .node-link h2{color:#000;display:inline}cc-attribute-side-bar-header-section .node-origin,cc-attribute-side-bar-header-section .cc-node-path{color:gray;margin:5px 0}cc-attribute-side-bar-header-section .node-origin .file-path,cc-attribute-side-bar-header-section .cc-node-path .file-path{word-wrap:break-word}cc-attribute-side-bar-header-section .node-origin .cc-node-file-count,cc-attribute-side-bar-header-section .cc-node-path .cc-node-file-count{background:#f0f0f0;border-radius:3px;padding:1px 3px;color:#000}cc-attribute-side-bar-header-section .node-origin .cc-node-file-count .added-files,cc-attribute-side-bar-header-section .cc-node-path .cc-node-file-count .added-files{color:#64d051}cc-attribute-side-bar-header-section .node-origin .cc-node-file-count .removed-files,cc-attribute-side-bar-header-section .cc-node-path .cc-node-file-count .removed-files{color:#ff0e0e}cc-attribute-side-bar-header-section .node-origin .cc-node-file-count .changed-files,cc-attribute-side-bar-header-section .cc-node-path .cc-node-file-count .changed-files{color:#0e2eff}cc-attribute-side-bar-header-section .node-name,cc-attribute-side-bar-header-section .node-origin,cc-attribute-side-bar-header-section .node-path{word-break:break-all;-webkit-user-select:text;user-select:text}\n"],encapsulation:2})}}return t})();const QN=Bt(Qf,t=>t&&!Ao(t)),qb=Bt(xc,t=>t.areaMetric),Xu=Bt(xc,t=>t.edgeMetric),_x=Bt(xc,t=>t.heightMetric),cT=Bt(qb,_x,Vf,Xu,(t,n,e,i)=>({areaMetric:t,heightMetric:n,colorMetric:e,edgeMetric:i})),IFe=Bt(Qf,cT,(t,n)=>{if(t)return{area:{name:n.areaMetric,value:t.attributes[n.areaMetric]},height:{name:n.heightMetric,value:t.attributes[n.heightMetric]},color:{name:n.colorMetric,value:t.attributes[n.colorMetric]},edge:DFe(n.edgeMetric,t)}});function DFe(t,n){return null==t?null:{name:t,incoming:n.edgeAttributes[t]?.incoming,outgoing:n.edgeAttributes[t]?.outgoing}}const lT=Bt(gy,t=>t.attributeDescriptors);class dT{get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}constructor(n=!1,e,i=!0,r){this._multiple=n,this._emitChanges=i,this.compareWith=r,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new It,e&&e.length&&(n?e.forEach(o=>this._markSelected(o)):this._markSelected(e[0]),this._selectedToEmit.length=0)}select(...n){this._verifyValueAssignment(n),n.forEach(i=>this._markSelected(i));const e=this._hasQueuedChanges();return this._emitChangeEvent(),e}deselect(...n){this._verifyValueAssignment(n),n.forEach(i=>this._unmarkSelected(i));const e=this._hasQueuedChanges();return this._emitChangeEvent(),e}setSelection(...n){this._verifyValueAssignment(n);const e=this.selected,i=new Set(n);n.forEach(o=>this._markSelected(o)),e.filter(o=>!i.has(this._getConcreteValue(o,i))).forEach(o=>this._unmarkSelected(o));const r=this._hasQueuedChanges();return this._emitChangeEvent(),r}toggle(n){return this.isSelected(n)?this.deselect(n):this.select(n)}clear(n=!0){this._unmarkAll();const e=this._hasQueuedChanges();return n&&this._emitChangeEvent(),e}isSelected(n){return this._selection.has(this._getConcreteValue(n))}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(n){this._multiple&&this.selected&&this._selected.sort(n)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(n){n=this._getConcreteValue(n),this.isSelected(n)||(this._multiple||this._unmarkAll(),this.isSelected(n)||this._selection.add(n),this._emitChanges&&this._selectedToEmit.push(n))}_unmarkSelected(n){n=this._getConcreteValue(n),this.isSelected(n)&&(this._selection.delete(n),this._emitChanges&&this._deselectedToEmit.push(n))}_unmarkAll(){this.isEmpty()||this._selection.forEach(n=>this._unmarkSelected(n))}_verifyValueAssignment(n){}_hasQueuedChanges(){return!(!this._deselectedToEmit.length&&!this._selectedToEmit.length)}_getConcreteValue(n,e){if(this.compareWith){e=e??this._selection;for(let i of e)if(this.compareWith(n,i))return i;return n}return n}}let zq=(()=>{class t{constructor(){this._listeners=[]}notify(e,i){for(let r of this._listeners)r(e,i)}listen(e){return this._listeners.push(e),()=>{this._listeners=this._listeners.filter(i=>e!==i)}}ngOnDestroy(){this._listeners=[]}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();const PFe=["button"],OFe=["*"];function NFe(t,n){1&t&&fe(0,"mat-pseudo-checkbox",3),2&t&&le("disabled",Se().disabled)}function UFe(t,n){1&t&&fe(0,"mat-pseudo-checkbox",3),2&t&&le("disabled",Se().disabled)}const Gq=new He("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS",{providedIn:"root",factory:function HFe(){return{hideSingleSelectionIndicator:!1,hideMultipleSelectionIndicator:!1}}}),Wq=new He("MatButtonToggleGroup"),VFe={provide:xs,useExisting:di(()=>zN),multi:!0};let $q=0;class jq{constructor(n,e){this.source=n,this.value=e}}let zN=(()=>{class t{get name(){return this._name}set name(e){this._name=e,this._markButtonsForCheck()}get value(){const e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e.map(i=>i.value):e[0]?e[0].value:void 0}set value(e){this._setSelectionByValue(e),this.valueChange.emit(this.value)}get selected(){const e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e:e[0]||null}get multiple(){return this._multiple}set multiple(e){this._multiple=e,this._markButtonsForCheck()}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._markButtonsForCheck()}get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._markButtonsForCheck()}get hideMultipleSelectionIndicator(){return this._hideMultipleSelectionIndicator}set hideMultipleSelectionIndicator(e){this._hideMultipleSelectionIndicator=e,this._markButtonsForCheck()}constructor(e,i){this._changeDetector=e,this._multiple=!1,this._disabled=!1,this._controlValueAccessorChangeFn=()=>{},this._onTouched=()=>{},this._name="mat-button-toggle-group-"+$q++,this.valueChange=new vn,this.change=new vn,this.appearance=i&&i.appearance?i.appearance:"standard",this.hideSingleSelectionIndicator=i?.hideSingleSelectionIndicator??!1,this.hideMultipleSelectionIndicator=i?.hideMultipleSelectionIndicator??!1}ngOnInit(){this._selectionModel=new dT(this.multiple,void 0,!1)}ngAfterContentInit(){this._selectionModel.select(...this._buttonToggles.filter(e=>e.checked))}writeValue(e){this.value=e,this._changeDetector.markForCheck()}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}_emitChangeEvent(e){const i=new jq(e,this.value);this._rawValue=i.value,this._controlValueAccessorChangeFn(i.value),this.change.emit(i)}_syncButtonToggle(e,i,r=!1,o=!1){!this.multiple&&this.selected&&!e.checked&&(this.selected.checked=!1),this._selectionModel?i?this._selectionModel.select(e):this._selectionModel.deselect(e):o=!0,o?Promise.resolve().then(()=>this._updateModelValue(e,r)):this._updateModelValue(e,r)}_isSelected(e){return this._selectionModel&&this._selectionModel.isSelected(e)}_isPrechecked(e){return!(typeof this._rawValue>"u")&&(this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some(i=>null!=e.value&&i===e.value):e.value===this._rawValue)}_setSelectionByValue(e){this._rawValue=e,this._buttonToggles&&(this.multiple&&e?(Array.isArray(e),this._clearSelection(),e.forEach(i=>this._selectValue(i))):(this._clearSelection(),this._selectValue(e)))}_clearSelection(){this._selectionModel.clear(),this._buttonToggles.forEach(e=>e.checked=!1)}_selectValue(e){const i=this._buttonToggles.find(r=>null!=r.value&&r.value===e);i&&(i.checked=!0,this._selectionModel.select(i))}_updateModelValue(e,i){i&&this._emitChangeEvent(e),this.valueChange.emit(this.value)}_markButtonsForCheck(){this._buttonToggles?.forEach(e=>e._markForCheck())}static{this.\u0275fac=function(i){return new(i||t)(N(ao),N(Gq,8))}}static{this.\u0275dir=Et({type:t,selectors:[["mat-button-toggle-group"]],contentQueries:function(i,r,o){if(1&i&&kr(o,uT,5),2&i){let s;ln(s=dn())&&(r._buttonToggles=s)}},hostAttrs:["role","group",1,"mat-button-toggle-group"],hostVars:5,hostBindings:function(i,r){2&i&&(ni("aria-disabled",r.disabled),sn("mat-button-toggle-vertical",r.vertical)("mat-button-toggle-group-appearance-standard","standard"===r.appearance))},inputs:{appearance:"appearance",name:"name",vertical:[Ke.HasDecoratorInputTransform,"vertical","vertical",Nn],value:"value",multiple:[Ke.HasDecoratorInputTransform,"multiple","multiple",Nn],disabled:[Ke.HasDecoratorInputTransform,"disabled","disabled",Nn],hideSingleSelectionIndicator:[Ke.HasDecoratorInputTransform,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",Nn],hideMultipleSelectionIndicator:[Ke.HasDecoratorInputTransform,"hideMultipleSelectionIndicator","hideMultipleSelectionIndicator",Nn]},outputs:{valueChange:"valueChange",change:"change"},exportAs:["matButtonToggleGroup"],standalone:!0,features:[Zn([VFe,{provide:Wq,useExisting:t}]),Ro]})}}return t})(),uT=(()=>{class t{get buttonId(){return`${this.id}-button`}get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(e){this._appearance=e}get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(e){e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(e){this._disabled=e}constructor(e,i,r,o,s,a){this._changeDetectorRef=i,this._elementRef=r,this._focusMonitor=o,this._checked=!1,this.ariaLabelledby=null,this._disabled=!1,this.change=new vn;const c=Number(s);this.tabIndex=c||0===c?c:null,this.buttonToggleGroup=e,this.appearance=a&&a.appearance?a.appearance:"standard"}ngOnInit(){const e=this.buttonToggleGroup;this.id=this.id||"mat-button-toggle-"+$q++,e&&(e._isPrechecked(this)?this.checked=!0:e._isSelected(this)!==this._checked&&e._syncButtonToggle(this,this._checked))}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){const e=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),e&&e._isSelected(this)&&e._syncButtonToggle(this,!1,!1,!0)}focus(e){this._buttonElement.nativeElement.focus(e)}_onButtonClick(){const e=!!this._isSingleSelector()||!this._checked;e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.change.emit(new jq(this,this.value))}_markForCheck(){this._changeDetectorRef.markForCheck()}_getButtonName(){return this._isSingleSelector()?this.buttonToggleGroup.name:this.name||null}_isSingleSelector(){return this.buttonToggleGroup&&!this.buttonToggleGroup.multiple}static{this.\u0275fac=function(i){return new(i||t)(N(Wq,8),N(ao),N(Mn),N(ku),Oc("tabindex"),N(Gq,8))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-button-toggle"]],viewQuery:function(i,r){if(1&i&&gi(PFe,5),2&i){let o;ln(o=dn())&&(r._buttonElement=o.first)}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:12,hostBindings:function(i,r){1&i&&De("focus",function(){return r.focus()}),2&i&&(ni("aria-label",null)("aria-labelledby",null)("id",r.id)("name",null),sn("mat-button-toggle-standalone",!r.buttonToggleGroup)("mat-button-toggle-checked",r.checked)("mat-button-toggle-disabled",r.disabled)("mat-button-toggle-appearance-standard","standard"===r.appearance))},inputs:{ariaLabel:[Ke.None,"aria-label","ariaLabel"],ariaLabelledby:[Ke.None,"aria-labelledby","ariaLabelledby"],id:"id",name:"name",value:"value",tabIndex:"tabIndex",disableRipple:[Ke.HasDecoratorInputTransform,"disableRipple","disableRipple",Nn],appearance:"appearance",checked:[Ke.HasDecoratorInputTransform,"checked","checked",Nn],disabled:[Ke.HasDecoratorInputTransform,"disabled","disabled",Nn]},outputs:{change:"change"},exportAs:["matButtonToggle"],standalone:!0,features:[Ro,br],ngContentSelectors:OFe,decls:8,vars:11,consts:[["button",""],["type","button",1,"mat-button-toggle-button","mat-focus-indicator",3,"click","id","disabled"],[1,"mat-button-toggle-label-content"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"mat-button-toggle-focus-overlay"],["matRipple","",1,"mat-button-toggle-ripple",3,"matRippleTrigger","matRippleDisabled"]],template:function(i,r){if(1&i){const o=Cn();so(),T(0,"button",1,0),De("click",function(){return Mt(o),St(r._onButtonClick())}),T(2,"span",2),$e(3,NFe,1,1,"mat-pseudo-checkbox",3)(4,UFe,1,1,"mat-pseudo-checkbox",3),Rn(5),L()(),fe(6,"span",4)(7,"span",5)}if(2&i){const o=xo(1);le("id",r.buttonId)("disabled",r.disabled||null),ni("tabindex",r.disabled?-1:r.tabIndex)("aria-pressed",r.checked)("name",r._getButtonName())("aria-label",r.ariaLabel)("aria-labelledby",r.ariaLabelledby),D(3),at(3,r.buttonToggleGroup&&r.checked&&!r.buttonToggleGroup.multiple&&!r.buttonToggleGroup.hideSingleSelectionIndicator?3:-1),D(),at(4,r.buttonToggleGroup&&r.checked&&r.buttonToggleGroup.multiple&&!r.buttonToggleGroup.hideMultipleSelectionIndicator?4:-1),D(3),le("matRippleTrigger",o)("matRippleDisabled",r.disableRipple||r.disabled)}},dependencies:[Tu,M$],styles:[".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0);border-radius:var(--mat-legacy-button-toggle-shape)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:var(--mat-standard-button-toggle-shape);border:solid 1px var(--mat-standard-button-toggle-divider-color)}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-selected-checkmark-color: var( --mat-standard-button-toggle-selected-state-text-color )}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-legacy-button-toggle-text-color);font-family:var(--mat-legacy-button-toggle-label-text-font);font-size:var(--mat-legacy-button-toggle-label-text-size);line-height:var(--mat-legacy-button-toggle-label-text-line-height);font-weight:var(--mat-legacy-button-toggle-label-text-weight);letter-spacing:var(--mat-legacy-button-toggle-label-text-tracking);--mat-minimal-pseudo-checkbox-selected-checkmark-color: var( --mat-legacy-button-toggle-selected-state-text-color )}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-legacy-button-toggle-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle .mat-pseudo-checkbox{margin-right:12px}[dir=rtl] .mat-button-toggle .mat-pseudo-checkbox{margin-right:0;margin-left:12px}.mat-button-toggle-checked{color:var(--mat-legacy-button-toggle-selected-state-text-color);background-color:var(--mat-legacy-button-toggle-selected-state-background-color)}.mat-button-toggle-disabled{color:var(--mat-legacy-button-toggle-disabled-state-text-color);background-color:var(--mat-legacy-button-toggle-disabled-state-background-color);--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var( --mat-legacy-button-toggle-disabled-state-text-color )}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-legacy-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-appearance-standard{color:var(--mat-standard-button-toggle-text-color);background-color:var(--mat-standard-button-toggle-background-color);font-family:var(--mat-standard-button-toggle-label-text-font);font-size:var(--mat-standard-button-toggle-label-text-size);line-height:var(--mat-standard-button-toggle-label-text-line-height);font-weight:var(--mat-standard-button-toggle-label-text-weight);letter-spacing:var(--mat-standard-button-toggle-label-text-tracking)}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-standard-button-toggle-divider-color)}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-standard-button-toggle-divider-color)}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-standard-button-toggle-divider-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-selected-state-text-color);background-color:var(--mat-standard-button-toggle-selected-state-background-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-standard-button-toggle-disabled-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-state-background-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var( --mat-standard-button-toggle-disabled-selected-state-text-color )}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-disabled-selected-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-standard-button-toggle-state-layer-color)}.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-hover-state-layer-opacity)}.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-focus-state-layer-opacity)}@media(hover: none){.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-legacy-button-toggle-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-standard-button-toggle-height)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-legacy-button-toggle-state-layer-color)}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{--mat-focus-indicator-border-radius:var(--mat-standard-button-toggle-shape)}.mat-button-toggle-group-appearance-standard .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-standard-button-toggle-shape);border-bottom-right-radius:var(--mat-standard-button-toggle-shape)}.mat-button-toggle-group-appearance-standard .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-left-radius:var(--mat-standard-button-toggle-shape);border-bottom-left-radius:var(--mat-standard-button-toggle-shape)}"],encapsulation:2,changeDetection:0})}}return t})(),Kq=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nr,jg,uT,nr]})}}return t})(),GN=(()=>{class t{constructor(e){this.store=e,this.attributeTypes$=this.store.select(FN)}setToAbsolute(){this.setAttributeType(Af.absolute)}setToRelative(){this.setAttributeType(Af.relative)}setAttributeType(e){this.store.dispatch(DR({category:this.metricType,name:this.metricName,attributeType:e}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-attribute-type-selector"]],inputs:{metricName:"metricName",metricType:"metricType"},decls:6,vars:3,consts:[[3,"value"],["title","Select Sum","value","absolute",3,"click"],["title","Select Median","value","relative",3,"click"]],template:function(i,r){if(1&i&&(T(0,"mat-button-toggle-group",0),Ee(1,"async"),T(2,"mat-button-toggle",1),De("click",function(){return r.setToAbsolute()}),ge(3,"\u03a3"),L(),T(4,"mat-button-toggle",2),De("click",function(){return r.setToRelative()}),ge(5,"x\u0342"),L()()),2&i){let o;le("value",null!==(o=Re(1,1,r.attributeTypes$)[r.metricType][r.metricName])&&void 0!==o?o:"absolute")}},dependencies:[zN,uT,Ln],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-attribute-type-selector .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{display:flex;align-items:center;height:100%}cc-attribute-type-selector button{align-items:center;height:100%}cc-attribute-type-selector button:hover{background-color:#0000000d;color:#1b9cfc}cc-attribute-type-selector .mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),cc-attribute-type-selector .mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){height:22px;border:.5px solid darkgrey}\n'],encapsulation:2})}}return t})();function QFe(t,n){if(1&t&&(T(0,"span"),Ee(1,"async"),ge(2),Ee(3,"number"),L()),2&t){const e=n;xi("color",Re(1,3,Se().mapColors$)[e>0?"positiveDelta":"negativeDelta"]),D(2),qt(" \u0394",po(3,5,e,"1.1-2"),"\n")}}let Xq=(()=>{class t{constructor(e){this.store=e}ngOnInit(){this.selectedNode$=this.store.select(Qf),this.mapColors$=this.store.select(jb)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-metric-delta-selected"]],inputs:{metricName:"metricName"},decls:2,vars:3,consts:[[3,"color"]],template:function(i,r){if(1&i&&($e(0,QFe,4,8,"span",0),Ee(1,"async")),2&i){let o;at(0,(o=null==(o=Re(1,1,r.selectedNode$))||null==o.deltas?null:o.deltas[r.metricName])?0:-1,o)}},dependencies:[Ln,S0],encapsulation:2})}}return t})();function zFe(t,n){1&t&&fe(0,"cc-attribute-type-selector",2),2&t&&le("metricName",Se().metric.name)("metricType","nodes")}function GFe(t,n){if(1&t&&(T(0,"a",5),ge(1),fe(2,"i",6),L()),2&t){const e=Se();le("href",n,Tm),D(),qt(" ",e.metric.name," ")}}function WFe(t,n){if(1&t&&(T(0,"span",7),ge(1),L()),2&t){const e=Se();D(),gr(e.metric.name)}}let $Fe=(()=>{class t{constructor(e){this.showAttributeTypeSelector$=e.select(QN)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-attribute-side-bar-primary-metric"]],inputs:{iconName:"iconName",metric:"metric",metricLink:"metricLink"},decls:11,vars:11,consts:[[1,"primary-metric-box"],[1,"primary-metric-row"],[1,"attribute-type-select",3,"metricName","metricType"],[1,"primary-metric-value"],[3,"metricName"],["target","_blank",1,"metric-name",3,"href"],[1,"fa","fa-external-link"],[1,"metric-name"]],template:function(i,r){if(1&i&&(T(0,"div",0)(1,"div",1),fe(2,"i"),$e(3,zFe,1,2,"cc-attribute-type-selector",2),Ee(4,"async"),T(5,"span",3),ge(6),Ee(7,"number"),L()(),fe(8,"cc-metric-delta-selected",4),$e(9,GFe,3,2,"a",5)(10,WFe,2,1),L()),2&i){let o;D(2),ll(r.iconName),D(),at(3,Re(4,6,r.showAttributeTypeSelector$)?3:-1),D(3),gr(po(7,8,r.metric.value,"1.0-0")),D(2),le("metricName",r.metric.name),D(),at(9,(o=r.metricLink)?9:10,o)}},dependencies:[GN,Xq,Ln,S0],encapsulation:2})}}return t})();const WN=new Map([["loc","Lines of Code"],["rloc","Real Lines of Code"],["comment_lines","Number of Code Lines with Comments"],["mcc","Cyclomatic Complexity"],["avgCommits","Average Number of Commits from this file"],["functions","Number of Functions"],["pairingRate","Pairing Rate of selected building"],["unary","-"],["line_coverage","Number of Code Lines covered by tests"],["sonar_code_smells","Number of Smells Sonar has identified"],["avg_code_churn","Average Number of Lines added or removed from this file"],["number_of_authors","Number of Authors that have edited this file"],["statements","Number of Statements"]]);let hT=(()=>{class t{transform(e,i){if(null==e)return WN.get(i)??"";const r=e.title?`${e.title} (${i})`:`${i}`;let o=e.description?`\n${e.description}`:"";return o+=e.hintHighValue?`\nHigh Values: ${e.hintHighValue}`:"",o+=e.hintLowValue?`\nLow Values: ${e.hintLowValue}`:"",o.length>0?`${r}:${o}`:r}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"attributeDescriptorTooltip",type:t,pure:!0})}}return t})();function jFe(t,n){1&t&&fe(0,"cc-attribute-type-selector",8),2&t&&le("metricName",Se().name)("metricType","edges")}function KFe(t,n){if(1&t&&(T(0,"a",9),ge(1),fe(2,"i",10),L()),2&t){const e=Se();le("href",n,Tm),D(),qt(" ",e.name," (in/out) ")}}function XFe(t,n){if(1&t&&(T(0,"span",11),ge(1),L()),2&t){const e=Se();D(),qt("",e.name," (in/out)")}}function YFe(t,n){if(1&t&&(T(0,"td",3),Ee(1,"attributeDescriptorTooltip"),T(2,"div",5)(3,"div",6),fe(4,"i",7),$e(5,jFe,1,2,"cc-attribute-type-selector",8),Ee(6,"async"),T(7,"span"),ge(8),Ee(9,"number"),T(10,"span"),ge(11,"/"),L(),ge(12),Ee(13,"number"),L()(),$e(14,KFe,3,2,"a",9)(15,XFe,2,1),L()()),2&t){let e;const i=n,r=Se(2),o=Se();le("title",po(1,5,r[i.name],i.name)),D(5),at(5,Re(6,8,o.showAttributeTypeSelector$)?5:-1),D(3),qt(" ",po(9,10,i.incoming,"1.0-0")," "),D(4),qt(" ",po(13,13,i.outgoing,"1.0-0")," "),D(2),at(14,(e=null==r[i.name]?null:r[i.name].link)?14:15,e)}}function qFe(t,n){1&t&&(T(0,"td")(1,"span",11),ge(2,"No edge metric available"),L()())}function ZFe(t,n){if(1&t&&(T(0,"table",1)(1,"th",2),ge(2,"Primary Metrics"),L(),T(3,"tr")(4,"td",3),Ee(5,"attributeDescriptorTooltip"),fe(6,"cc-attribute-side-bar-primary-metric",4),L(),T(7,"td",3),Ee(8,"attributeDescriptorTooltip"),fe(9,"cc-attribute-side-bar-primary-metric",4),L()(),T(10,"tr")(11,"td",3),Ee(12,"attributeDescriptorTooltip"),fe(13,"cc-attribute-side-bar-primary-metric",4),L(),$e(14,YFe,16,16,"td",3)(15,qFe,3,0),L()()),2&t){let e;const i=n,r=Se();D(4),le("title",po(5,13,r[i.area.name],i.area.name)),D(2),le("iconName","fa fa-arrows-alt")("metric",i.area)("metricLink",null==r[i.area.name]?null:r[i.area.name].link),D(),le("title",po(8,16,r[i.height.name],i.height.name)),D(2),le("iconName","fa fa-arrows-v")("metric",i.height)("metricLink",null==r[i.height.name]?null:r[i.height.name].link),D(2),le("title",po(12,19,r[i.color.name],i.color.name)),D(2),le("iconName","fa fa-paint-brush")("metric",i.color)("metricLink",null==r[i.color.name]?null:r[i.color.name].link),D(),at(14,(e=i.edge)?14:15,e)}}function JFe(t,n){if(1&t&&(T(0,"div",0),$e(1,ZFe,16,22,"table",1),Ee(2,"async"),L()),2&t){let e;const i=Se();D(),at(1,(e=Re(2,1,i.primaryMetrics$))?1:-1,e)}}let eBe=(()=>{class t{constructor(e){this.store=e,this.primaryMetrics$=this.store.select(IFe),this.showAttributeTypeSelector$=this.store.select(QN),this.attributeDescriptors$=this.store.select(lT)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-attribute-side-bar-primary-metrics"]],decls:2,vars:3,consts:[[1,"metric-box"],["aria-hidden","true",1,"primary-metrics"],["scope","col"],[3,"title"],[3,"iconName","metric","metricLink"],[1,"primary-metric-box"],[1,"primary-metric-row"],[1,"fa","fa-exchange"],[1,"attribute-type-select",3,"metricName","metricType"],["target","_blank",1,"metric-name",3,"href"],[1,"fa","fa-external-link"],[1,"metric-name"]],template:function(i,r){if(1&i&&($e(0,JFe,3,3,"div",0),Ee(1,"async")),2&i){let o;at(0,(o=Re(1,1,r.attributeDescriptors$))?0:-1,o)}},dependencies:[GN,$Fe,Ln,S0,hT],encapsulation:2})}}return t})();const tBe=Bt(Qf,t=>!!t?.deltas),nBe=Bt(cT,Qf,(t,n)=>{if(!n)return[];const e=Object.values(t);return Object.keys(n.attributes).filter(r=>"unary"!==r&&!e.includes(r)).sort((r,o)=>r.localeCompare(o)).map(r=>({name:r,value:n.attributes[r]}))});function iBe(t,n){1&t&&fe(0,"cc-attribute-type-selector",8),2&t&&le("metricName",Se().$implicit.name)("metricType","nodes")}function rBe(t,n){if(1&t&&(T(0,"a",12),ge(1),fe(2,"i",13),L()),2&t){const e=Se().$implicit;le("href",n,Tm),D(),qt(" ",e.name," ")}}function oBe(t,n){if(1&t&&(T(0,"span",14),ge(1),L()),2&t){const e=Se().$implicit;D(),gr(e.name)}}function sBe(t,n){if(1&t&&(T(0,"tr",5),Ee(1,"attributeDescriptorTooltip"),T(2,"td",6)(3,"div",7),$e(4,iBe,1,2,"cc-attribute-type-selector",8),Ee(5,"async"),T(6,"span",9),ge(7),Ee(8,"number"),L()()(),T(9,"td",10),Ee(10,"async"),fe(11,"cc-metric-delta-selected",11),L(),T(12,"td"),$e(13,rBe,3,2,"a",12)(14,oBe,2,1),L()()),2&t){let e;const i=n.$implicit,r=Se(),o=Se();le("title",po(1,6,r[i.name],i.name)),D(4),at(4,Re(5,9,o.showAttributeTypeSelector$)?4:-1),D(3),gr(po(8,11,i.value,"1.0-0")),D(2),le("hidden",!Re(10,14,o.showDeltaValue$)),D(2),le("metricName",i.name),D(2),at(13,(e=null==r[i.name]?null:r[i.name].link)?13:14,e)}}function aBe(t,n){if(1&t&&(T(0,"div",2)(1,"table",3)(2,"tr")(3,"th",4),ge(4,"Secondary Metrics"),L()(),xr(5,sBe,15,16,"tr",5,Sr),Ee(7,"async"),L()()),2&t){const e=Se();D(5),Cr(Re(7,0,e.secondaryMetrics$))}}let cBe=(()=>{class t{constructor(e){this.store=e,this.secondaryMetrics$=this.store.select(nBe),this.showAttributeTypeSelector$=this.store.select(QN),this.showDeltaValue$=this.store.select(tBe),this.attributeDescriptors$=this.store.select(lT)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-attribute-side-bar-secondary-metrics"]],decls:4,vars:3,consts:[[1,"secondary-metrics-wrapper"],[1,"metrics-wrapper"],[1,"metric-box","scrollable-content"],["aria-hidden","true",1,"secondary-metrics"],["scope","col","colspan","2"],[3,"title"],[1,"secondary-metric-box"],[1,"secondary-metric-row"],[1,"attribute-type-select",3,"metricName","metricType"],[1,"metric-value"],[1,"delta-value-box",3,"hidden"],[3,"metricName"],["target","_blank",1,"metric-name",3,"href"],[1,"fa","fa-external-link"],[1,"metric-name"]],template:function(i,r){if(1&i&&(T(0,"div",0)(1,"div",1),$e(2,aBe,8,2,"div",2),Ee(3,"async"),L()()),2&i){let o;D(2),at(2,(o=Re(3,1,r.attributeDescriptors$))?2:-1,o)}},dependencies:[GN,Xq,Ln,S0,hT],encapsulation:2})}}return t})(),lBe=(()=>{class t{constructor(e,i){this.isAttributeSideBarVisibleService=e,this.store=i,this.selectedNode$=this.store.select(Qf),this.fileName$=this.store.select(Xc).pipe(mt(r=>r.unifiedFileMeta?.fileName??""))}static{this.\u0275fac=function(i){return new(i||t)(N(sT),N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-attribute-side-bar"]],decls:6,vars:8,consts:[[1,"side-bar-container","cc-shadow"],[3,"node","fileName"]],template:function(i,r){1&i&&(T(0,"div",0),fe(1,"cc-attribute-side-bar-header-section",1),Ee(2,"async"),Ee(3,"async"),fe(4,"cc-attribute-side-bar-primary-metrics")(5,"cc-attribute-side-bar-secondary-metrics"),L()),2&i&&(sn("expanded",r.isAttributeSideBarVisibleService.isOpen),D(),le("node",Re(2,4,r.selectedNode$))("fileName",Re(3,6,r.fileName$)))},dependencies:[BFe,eBe,cBe,Ln],styles:['cc-attribute-side-bar .side-bar-container{width:350px;height:calc(100% - 98px);padding:8px;font-size:11pt;position:absolute;right:-355px;background:#fff}cc-attribute-side-bar .side-bar-container.expanded{display:block;right:0}cc-attribute-side-bar .side-bar-container:before{content:"";height:100%;float:left}cc-attribute-side-bar .side-bar-container .secondary-metrics-wrapper{position:relative}cc-attribute-side-bar .side-bar-container .secondary-metrics-wrapper:after{content:"";clear:both;display:block}cc-attribute-side-bar .side-bar-container .secondary-metrics-wrapper .metrics-wrapper{position:absolute;width:100%;height:100%;padding-top:12px}cc-attribute-side-bar .side-bar-container .metric-box{border-radius:5px;background-color:#f0f0f0;padding:5px}cc-attribute-side-bar .side-bar-container .metric-box.scrollable-content{max-height:100%;overflow:auto}cc-attribute-side-bar .side-bar-container .metric-box table th{text-align:left}cc-attribute-side-bar .side-bar-container .metric-box table.primary-metrics{table-layout:fixed;width:100%;border-collapse:collapse}cc-attribute-side-bar .side-bar-container .metric-box table.primary-metrics tr:not(:last-child) td{border-bottom:3px solid white}cc-attribute-side-bar .side-bar-container .metric-box table.primary-metrics td{padding:5px}cc-attribute-side-bar .side-bar-container .metric-box table.primary-metrics td:first-child{border-right:3px solid white}cc-attribute-side-bar .side-bar-container .metric-box table.primary-metrics .primary-metric-box{display:flex;flex-direction:column;height:100%;width:100%}cc-attribute-side-bar .side-bar-container .metric-box table.primary-metrics .metric-name{margin-top:5px}cc-attribute-side-bar .side-bar-container .metric-box table.primary-metrics .primary-metric-value{margin-right:-5px}cc-attribute-side-bar .side-bar-container .metric-box table.primary-metrics i.fa{font-size:12pt;min-width:17px;text-align:center}cc-attribute-side-bar .side-bar-container .metric-box table.secondary-metrics td{padding-left:5px}cc-attribute-side-bar .side-bar-container .metric-box table.secondary-metrics td:first-child{padding-left:4px}cc-attribute-side-bar .side-bar-container .metric-box table.secondary-metrics .secondary-metric-box{border-radius:3px;padding:4px;vertical-align:middle;background:#d5d5d5}cc-attribute-side-bar .side-bar-container .metric-box table.secondary-metrics .secondary-metric-row{flex-wrap:nowrap}cc-attribute-side-bar .side-bar-container .metric-box table .primary-metric-row,cc-attribute-side-bar .side-bar-container .metric-box table .secondary-metric-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px}cc-attribute-side-bar .side-bar-container .metric-box table .metric-name{color:gray;word-break:break-word;vertical-align:middle}cc-attribute-side-bar .side-bar-container .metric-box table .delta-value-box{vertical-align:middle}cc-attribute-side-bar .side-bar-container .metric-box cc-metric-delta-selected:has(span){margin-top:5px}cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-primary-metrics .metric-box i.fa.fa-external-link,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-primary-metrics .metrics-wrapper i.fa.fa-external-link,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-secondary-metrics .metric-box i.fa.fa-external-link,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-secondary-metrics .metrics-wrapper i.fa.fa-external-link{font-size:10px;min-width:10px;text-align:center}cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-primary-metrics .metric-box a:link,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-primary-metrics .metric-box a:visited,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-primary-metrics .metrics-wrapper a:link,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-primary-metrics .metrics-wrapper a:visited,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-secondary-metrics .metric-box a:link,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-secondary-metrics .metric-box a:visited,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-secondary-metrics .metrics-wrapper a:link,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-secondary-metrics .metrics-wrapper a:visited{text-decoration:none}cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-primary-metrics .metric-box a:hover,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-primary-metrics .metrics-wrapper a:hover,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-secondary-metrics .metric-box a:hover,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-secondary-metrics .metrics-wrapper a:hover{color:#00f;-webkit-text-decoration:solid;text-decoration:solid;text-decoration-line:underline}cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-primary-metrics .metric-box a:active,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-primary-metrics .metrics-wrapper a:active,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-secondary-metrics .metric-box a:active,cc-attribute-side-bar .side-bar-container cc-attribute-side-bar-secondary-metrics .metrics-wrapper a:active{color:red}\n'],encapsulation:2})}}return t})(),dBe=(()=>{class t{constructor(e,i,r,o,s){this.isAttributeSideBarVisibleService=e,this.store=i,this.threeViewerService=r,this.codeMapMouseEventService=o,this.elementReference=s,this.isLoadingFile$=this.store.select(TP),this.restartOnSharpnessModeChangesSubscription=this.store.select(M7).pipe(Fy(1),co(()=>{this.threeViewerService.restart(this.elementReference.nativeElement.querySelector("#codeMap")),this.codeMapMouseEventService.start()})).subscribe()}ngAfterViewInit(){this.threeViewerService.init(this.elementReference.nativeElement.querySelector("#codeMap")),this.codeMapMouseEventService.start()}ngOnDestroy(){this.restartOnSharpnessModeChangesSubscription.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(N(sT),N(Tt),N(Dq),N(bx),N(Mn))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-code-map"]],decls:4,vars:6,consts:[["id","codeMap"]],template:function(i,r){1&i&&(T(0,"div",0),Ee(1,"async"),fe(2,"cc-view-cube")(3,"cc-attribute-side-bar"),L()),2&i&&(sn("hidden",Re(1,4,r.isLoadingFile$)),D(2),sn("sideBarVisible",r.isAttributeSideBarVisibleService.isOpen))},dependencies:[hFe,lBe,Ln],styles:["cc-code-map .hidden{display:none}cc-code-map cc-view-cube{position:absolute;z-index:11;right:0;top:10px}cc-code-map cc-view-cube.sideBarVisible{right:350px}cc-code-map unfocus-button-component.sideBarVisible{right:390px}\n"],encapsulation:2})}}return t})();const Yq=Bt(gy,t=>t.markedPackages),uBe=Bt(Yq,t=>t.reduce((n,{color:e,path:i})=>(Object.prototype.hasOwnProperty.call(n,e)||(n[e]=[]),n[e].push(i),n),{}));function Qs(t,n){(function hBe(t){return"string"==typeof t&&-1!==t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var e=function fBe(t){return"string"==typeof t&&-1!==t.indexOf("%")}(t);return t=360===n?t:Math.min(n,Math.max(0,parseFloat(t))),e&&(t=parseInt(String(t*n),10)/100),Math.abs(t-n)<1e-6?1:t=360===n?(t<0?t%n+n:t%n)/parseFloat(String(n)):t%n/parseFloat(String(n))}function fT(t){return Math.min(1,Math.max(0,t))}function qq(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function mT(t){return t<=1?"".concat(100*Number(t),"%"):t}function Qp(t){return 1===t.length?"0"+t:String(t)}function Zq(t,n,e){t=Qs(t,255),n=Qs(n,255),e=Qs(e,255);var i=Math.max(t,n,e),r=Math.min(t,n,e),o=0,s=0,a=(i+r)/2;if(i===r)s=0,o=0;else{var c=i-r;switch(s=a>.5?c/(2-i-r):c/(i+r),i){case t:o=(n-e)/c+(n1&&(e-=1),e<1/6?t+6*e*(n-t):e<.5?n:e<2/3?t+(n-t)*(2/3-e)*6:t}function Jq(t,n,e){t=Qs(t,255),n=Qs(n,255),e=Qs(e,255);var i=Math.max(t,n,e),r=Math.min(t,n,e),o=0,s=i,a=i-r,c=0===i?0:a/i;if(i===r)o=0;else{switch(i){case t:o=(n-e)/a+(n>16,g:(65280&t)>>8,b:255&t}}(n)),this.originalInput=n;var r=function _Be(t){var n={r:0,g:0,b:0},e=1,i=null,r=null,o=null,s=!1,a=!1;return"string"==typeof t&&(t=function wBe(t){if(0===(t=t.trim().toLowerCase()).length)return!1;var n=!1;if(jN[t])t=jN[t],n=!0;else if("transparent"===t)return{r:0,g:0,b:0,a:0,format:"name"};var e=Dl.rgb.exec(t);return e?{r:e[1],g:e[2],b:e[3]}:(e=Dl.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=Dl.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=Dl.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=Dl.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=Dl.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=Dl.hex8.exec(t))?{r:Cc(e[1]),g:Cc(e[2]),b:Cc(e[3]),a:nZ(e[4]),format:n?"name":"hex8"}:(e=Dl.hex6.exec(t))?{r:Cc(e[1]),g:Cc(e[2]),b:Cc(e[3]),format:n?"name":"hex"}:(e=Dl.hex4.exec(t))?{r:Cc(e[1]+e[1]),g:Cc(e[2]+e[2]),b:Cc(e[3]+e[3]),a:nZ(e[4]+e[4]),format:n?"name":"hex8"}:!!(e=Dl.hex3.exec(t))&&{r:Cc(e[1]+e[1]),g:Cc(e[2]+e[2]),b:Cc(e[3]+e[3]),format:n?"name":"hex"}}(t)),"object"==typeof t&&(Yu(t.r)&&Yu(t.g)&&Yu(t.b)?(n=function mBe(t,n,e){return{r:255*Qs(t,255),g:255*Qs(n,255),b:255*Qs(e,255)}}(t.r,t.g,t.b),s=!0,a="%"===String(t.r).substr(-1)?"prgb":"rgb"):Yu(t.h)&&Yu(t.s)&&Yu(t.v)?(i=mT(t.s),r=mT(t.v),n=function ABe(t,n,e){t=6*Qs(t,360),n=Qs(n,100),e=Qs(e,100);var i=Math.floor(t),r=t-i,o=e*(1-n),s=e*(1-r*n),a=e*(1-(1-r)*n),c=i%6;return{r:255*[e,s,o,o,a,e][c],g:255*[a,e,e,s,o,o][c],b:255*[o,o,a,e,e,s][c]}}(t.h,i,r),s=!0,a="hsv"):Yu(t.h)&&Yu(t.s)&&Yu(t.l)&&(i=mT(t.s),o=mT(t.l),n=function pBe(t,n,e){var i,r,o;if(t=Qs(t,360),n=Qs(n,100),e=Qs(e,100),0===n)r=e,o=e,i=e;else{var s=e<.5?e*(1+n):e+n-e*n,a=2*e-s;i=$N(a,s,t+1/3),r=$N(a,s,t),o=$N(a,s,t-1/3)}return{r:255*i,g:255*r,b:255*o}}(t.h,i,o),s=!0,a="hsl"),Object.prototype.hasOwnProperty.call(t,"a")&&(e=t.a)),e=qq(e),{ok:s,format:t.format||a,r:Math.min(255,Math.max(n.r,0)),g:Math.min(255,Math.max(n.g,0)),b:Math.min(255,Math.max(n.b,0)),a:e}}(n);this.originalInput=n,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(i=e.format)&&void 0!==i?i:r.format,this.gradientType=e.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return t.prototype.isDark=function(){return this.getBrightness()<128},t.prototype.isLight=function(){return!this.isDark()},t.prototype.getBrightness=function(){var n=this.toRgb();return(299*n.r+587*n.g+114*n.b)/1e3},t.prototype.getLuminance=function(){var n=this.toRgb(),o=n.r/255,s=n.g/255,a=n.b/255;return.2126*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.7152*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.0722*(a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},t.prototype.getAlpha=function(){return this.a},t.prototype.setAlpha=function(n){return this.a=qq(n),this.roundA=Math.round(100*this.a)/100,this},t.prototype.isMonochrome=function(){return 0===this.toHsl().s},t.prototype.toHsv=function(){var n=Jq(this.r,this.g,this.b);return{h:360*n.h,s:n.s,v:n.v,a:this.a}},t.prototype.toHsvString=function(){var n=Jq(this.r,this.g,this.b),e=Math.round(360*n.h),i=Math.round(100*n.s),r=Math.round(100*n.v);return 1===this.a?"hsv(".concat(e,", ").concat(i,"%, ").concat(r,"%)"):"hsva(".concat(e,", ").concat(i,"%, ").concat(r,"%, ").concat(this.roundA,")")},t.prototype.toHsl=function(){var n=Zq(this.r,this.g,this.b);return{h:360*n.h,s:n.s,l:n.l,a:this.a}},t.prototype.toHslString=function(){var n=Zq(this.r,this.g,this.b),e=Math.round(360*n.h),i=Math.round(100*n.s),r=Math.round(100*n.l);return 1===this.a?"hsl(".concat(e,", ").concat(i,"%, ").concat(r,"%)"):"hsla(".concat(e,", ").concat(i,"%, ").concat(r,"%, ").concat(this.roundA,")")},t.prototype.toHex=function(n){return void 0===n&&(n=!1),eZ(this.r,this.g,this.b,n)},t.prototype.toHexString=function(n){return void 0===n&&(n=!1),"#"+this.toHex(n)},t.prototype.toHex8=function(n){return void 0===n&&(n=!1),function gBe(t,n,e,i,r){var o=[Qp(Math.round(t).toString(16)),Qp(Math.round(n).toString(16)),Qp(Math.round(e).toString(16)),Qp(tZ(i))];return r&&o[0].startsWith(o[0].charAt(1))&&o[1].startsWith(o[1].charAt(1))&&o[2].startsWith(o[2].charAt(1))&&o[3].startsWith(o[3].charAt(1))?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0):o.join("")}(this.r,this.g,this.b,this.a,n)},t.prototype.toHex8String=function(n){return void 0===n&&(n=!1),"#"+this.toHex8(n)},t.prototype.toHexShortString=function(n){return void 0===n&&(n=!1),1===this.a?this.toHexString(n):this.toHex8String(n)},t.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},t.prototype.toRgbString=function(){var n=Math.round(this.r),e=Math.round(this.g),i=Math.round(this.b);return 1===this.a?"rgb(".concat(n,", ").concat(e,", ").concat(i,")"):"rgba(".concat(n,", ").concat(e,", ").concat(i,", ").concat(this.roundA,")")},t.prototype.toPercentageRgb=function(){var n=function(e){return"".concat(Math.round(100*Qs(e,255)),"%")};return{r:n(this.r),g:n(this.g),b:n(this.b),a:this.a}},t.prototype.toPercentageRgbString=function(){var n=function(e){return Math.round(100*Qs(e,255))};return 1===this.a?"rgb(".concat(n(this.r),"%, ").concat(n(this.g),"%, ").concat(n(this.b),"%)"):"rgba(".concat(n(this.r),"%, ").concat(n(this.g),"%, ").concat(n(this.b),"%, ").concat(this.roundA,")")},t.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var n="#"+eZ(this.r,this.g,this.b,!1),e=0,i=Object.entries(jN);e=0&&(n.startsWith("hex")||"name"===n)?"name"===n&&0===this.a?this.toName():this.toRgbString():("rgb"===n&&(i=this.toRgbString()),"prgb"===n&&(i=this.toPercentageRgbString()),("hex"===n||"hex6"===n)&&(i=this.toHexString()),"hex3"===n&&(i=this.toHexString(!0)),"hex4"===n&&(i=this.toHex8String(!0)),"hex8"===n&&(i=this.toHex8String()),"name"===n&&(i=this.toName()),"hsl"===n&&(i=this.toHslString()),"hsv"===n&&(i=this.toHsvString()),i||this.toHexString())},t.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},t.prototype.clone=function(){return new t(this.toString())},t.prototype.lighten=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.l+=n/100,e.l=fT(e.l),new t(e)},t.prototype.brighten=function(n){void 0===n&&(n=10);var e=this.toRgb();return e.r=Math.max(0,Math.min(255,e.r-Math.round(-n/100*255))),e.g=Math.max(0,Math.min(255,e.g-Math.round(-n/100*255))),e.b=Math.max(0,Math.min(255,e.b-Math.round(-n/100*255))),new t(e)},t.prototype.darken=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.l-=n/100,e.l=fT(e.l),new t(e)},t.prototype.tint=function(n){return void 0===n&&(n=10),this.mix("white",n)},t.prototype.shade=function(n){return void 0===n&&(n=10),this.mix("black",n)},t.prototype.desaturate=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.s-=n/100,e.s=fT(e.s),new t(e)},t.prototype.saturate=function(n){void 0===n&&(n=10);var e=this.toHsl();return e.s+=n/100,e.s=fT(e.s),new t(e)},t.prototype.greyscale=function(){return this.desaturate(100)},t.prototype.spin=function(n){var e=this.toHsl(),i=(e.h+n)%360;return e.h=i<0?360+i:i,new t(e)},t.prototype.mix=function(n,e){void 0===e&&(e=50);var i=this.toRgb(),r=new t(n).toRgb(),o=e/100;return new t({r:(r.r-i.r)*o+i.r,g:(r.g-i.g)*o+i.g,b:(r.b-i.b)*o+i.b,a:(r.a-i.a)*o+i.a})},t.prototype.analogous=function(n,e){void 0===n&&(n=6),void 0===e&&(e=30);var i=this.toHsl(),r=360/e,o=[this];for(i.h=(i.h-(r*n>>1)+720)%360;--n;)i.h=(i.h+r)%360,o.push(new t(i));return o},t.prototype.complement=function(){var n=this.toHsl();return n.h=(n.h+180)%360,new t(n)},t.prototype.monochromatic=function(n){void 0===n&&(n=6);for(var e=this.toHsv(),i=e.h,r=e.s,o=e.v,s=[],a=1/n;n--;)s.push(new t({h:i,s:r,v:o})),o=(o+a)%1;return s},t.prototype.splitcomplement=function(){var n=this.toHsl(),e=n.h;return[this,new t({h:(e+72)%360,s:n.s,l:n.l}),new t({h:(e+216)%360,s:n.s,l:n.l})]},t.prototype.onBackground=function(n){var e=this.toRgb(),i=new t(n).toRgb(),r=e.a+i.a*(1-e.a);return new t({r:(e.r*e.a+i.r*i.a*(1-e.a))/r,g:(e.g*e.a+i.g*i.a*(1-e.a))/r,b:(e.b*e.a+i.b*i.a*(1-e.a))/r,a:r})},t.prototype.triad=function(){return this.polyad(3)},t.prototype.tetrad=function(){return this.polyad(4)},t.prototype.polyad=function(n){for(var e=this.toHsl(),i=e.h,r=[this],o=360/n,s=1;s{class t{constructor(){this.white="transparent",this.size=8,this.grey="rgba(0,0,0,.08)"}ngOnInit(){const e=function MBe(t,n,e){const i=`${t}-${n}-${e}`;if(YN[i])return YN[i];const r=function EBe(t,n,e){if(typeof document>"u")return null;const i=document.createElement("canvas");i.width=2*e,i.height=2*e;const r=i.getContext("2d");return r?(r.fillStyle=t,r.fillRect(0,0,i.width,i.height),r.fillStyle=n,r.fillRect(0,0,e,e),r.translate(e,e),r.fillRect(0,0,e,e),i.toDataURL()):null}(t,n,e);return r?(YN[i]=r,r):null}(this.white,this.grey,this.size);this.gridStyles={borderRadius:this.borderRadius,boxShadow:this.boxShadow,background:`url(${e}) center left`}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["color-checkboard"]],inputs:{white:"white",size:"size",grey:"grey",boxShadow:"boxShadow",borderRadius:"borderRadius"},decls:1,vars:1,consts:[[1,"grid",3,"ngStyle"]],template:function(e,i){1&e&&fe(0,"div",0),2&e&&le("ngStyle",i.gridStyles)},dependencies:[Fg],styles:[".grid[_ngcontent-%COMP%]{top:0px;right:0px;bottom:0px;left:0px;position:absolute}"],changeDetection:0}),t})(),rZ=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=pt({type:t}),t.\u0275inj=dt({imports:[[nn]]}),t})(),qN=(()=>{class t{constructor(e){this.el=e,this.coordinatesChange=new It,this.mousechange=new It,this.mouseListening=!1}mousemove(e,i,r,o=!1){this.mouseListening&&(e.preventDefault(),this.mousechange.next({$event:e,x:i,y:r,isTouch:o}))}mouseup(){this.mouseListening=!1}mousedown(e,i,r,o=!1){e.preventDefault(),this.mouseListening=!0,this.mousechange.next({$event:e,x:i,y:r,isTouch:o})}ngOnInit(){this.sub=this.mousechange.pipe(j0((e,i)=>e.x===i.x&&e.y===i.y)).subscribe(e=>this.handleChange(e.x,e.y,e.$event,e.isTouch))}ngOnDestroy(){this.sub.unsubscribe()}handleChange(e,i,r,o){const s=this.el.nativeElement.clientWidth,a=this.el.nativeElement.clientHeight,c=e-(this.el.nativeElement.getBoundingClientRect().left+window.pageXOffset);let l=i-this.el.nativeElement.getBoundingClientRect().top;o||(l-=window.pageYOffset),this.coordinatesChange.next({x:e,y:i,top:l,left:c,containerWidth:s,containerHeight:a,$event:r})}}return t.\u0275fac=function(e){return new(e||t)(N(Mn))},t.\u0275dir=Et({type:t,selectors:[["","ngx-color-coordinates",""]],hostBindings:function(e,i){1&e&&De("mousemove",function(o){return i.mousemove(o,o.pageX,o.pageY)},0,Uv)("touchmove",function(o){return i.mousemove(o,o.touches[0].clientX,o.touches[0].clientY,!0)},!1,Uv)("mouseup",function(){return i.mouseup()},!1,Uv)("touchend",function(){return i.mouseup()},!1,Uv)("mousedown",function(o){return i.mousedown(o,o.pageX,o.pageY)})("touchstart",function(o){return i.mousedown(o,o.touches[0].clientX,o.touches[0].clientY,!0)})},outputs:{coordinatesChange:"coordinatesChange"}}),t})(),ZN=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=pt({type:t}),t.\u0275inj=dt({}),t})(),SBe=(()=>{class t{constructor(){this.direction="horizontal",this.onChange=new vn}ngOnChanges(){"vertical"===this.direction?(this.pointerLeft=0,this.pointerTop=100*this.rgb.a,this.gradient={background:`linear-gradient(to bottom, rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 0) 0%,\n rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 1) 100%)`}):(this.gradient={background:`linear-gradient(to right, rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 0) 0%,\n rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 1) 100%)`},this.pointerLeft=100*this.rgb.a)}handleChange({top:e,left:i,containerHeight:r,containerWidth:o,$event:s}){let a;if("vertical"===this.direction){let c;c=e<0?0:e>r?1:Math.round(100*e/r)/100,this.hsl.a!==c&&(a={h:this.hsl.h,s:this.hsl.s,l:this.hsl.l,a:c,source:"rgb"})}else{let c;c=i<0?0:i>o?1:Math.round(100*i/o)/100,this.hsl.a!==c&&(a={h:this.hsl.h,s:this.hsl.s,l:this.hsl.l,a:c,source:"rgb"})}a&&this.onChange.emit({data:a,$event:s})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["color-alpha"]],inputs:{hsl:"hsl",rgb:"rgb",pointer:"pointer",shadow:"shadow",radius:"radius",direction:"direction"},outputs:{onChange:"onChange"},features:[ar],decls:7,vars:15,consts:[[1,"alpha"],[1,"alpha-checkboard"],[1,"alpha-gradient",3,"ngStyle"],["ngx-color-coordinates","",3,"coordinatesChange"],[1,"alpha-pointer"],[1,"alpha-slider",3,"ngStyle"]],template:function(e,i){1&e&&(T(0,"div",0)(1,"div",1),fe(2,"color-checkboard"),L(),fe(3,"div",2),T(4,"div",3),De("coordinatesChange",function(o){return i.handleChange(o)}),T(5,"div",4),fe(6,"div",5),L()()()),2&e&&(xi("border-radius",i.radius),D(3),xi("box-shadow",i.shadow)("border-radius",i.radius),le("ngStyle",i.gradient),D(),du("alpha-container color-alpha-",i.direction,""),D(),xi("left",i.pointerLeft,"%")("top",i.pointerTop,"%"),D(),le("ngStyle",i.pointer))},dependencies:[iZ,Fg,qN],styles:[".alpha[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.alpha-checkboard[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.alpha-gradient[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.alpha-container[_ngcontent-%COMP%]{position:relative;height:100%;margin:0 3px}.alpha-pointer[_ngcontent-%COMP%]{position:absolute}.alpha-slider[_ngcontent-%COMP%]{width:4px;border-radius:1px;height:8px;box-shadow:0 0 2px #0009;background:#fff;margin-top:1px;transform:translate(-2px)}"],changeDetection:0}),t})(),kBe=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=pt({type:t}),t.\u0275inj=dt({imports:[[nn,rZ,ZN]]}),t})();function oZ(t){let e=0,i=0;return["r","g","b","a","h","s","l","v"].forEach(r=>{t[r]&&(e+=1,isNaN(t[r])||(i+=1),("s"===r||"l"===r)&&/^\d+%$/.test(t[r])&&(i+=1))}),e===i&&t}function yx(t,n,e){const i=new vx(t.hex?t.hex:t);e&&i.setAlpha(1);const r=i.toHsl(),o=i.toHsv(),s=i.toRgb(),a=i.toHex();return 0===r.s&&(r.h=n||0,o.h=n||0),{hsl:r,hex:"000000"===a&&0===s.a?"transparent":i.toHexString(),rgb:s,hsv:o,oldHue:t.h||n||r.h,source:t.source}}var Zb=function(t){return t.HEX="hex",t.HSL="hsl",t.HSV="hsv",t.RGB="rgb",t}(Zb||{});let sZ=(()=>{class t{constructor(){this.mode=Zb.HEX,this.color={h:250,s:.5,l:.2,a:1},this.colorChange=new vn,this.onChange=new vn,this.onChangeComplete=new vn,this.onSwatchHover=new vn,this._onChangeCompleteSubscription=new zt,this._onSwatchHoverSubscription=new zt}ngOnInit(){this.changes=this.onChange.pipe(Ng(100),co(e=>{switch(this.onChangeComplete.emit(e),this.mode){case Zb.HEX:this.colorChange.emit(e.color.hex);break;case Zb.HSL:this.colorChange.emit(e.color.hsl);break;case Zb.HSV:this.colorChange.emit(e.color.hsv);break;case Zb.RGB:this.colorChange.emit(e.color.rgb);break;default:console.warn(`The mode '${this.mode}' is not supported`)}})).subscribe(),this.setState(yx(this.color,0)),this.currentColor=this.hex}ngOnChanges(){this.setState(yx(this.color,this.oldHue))}ngOnDestroy(){this.changes?.unsubscribe(),this._onChangeCompleteSubscription.unsubscribe(),this._onSwatchHoverSubscription.unsubscribe()}setState(e){this.oldHue=e.oldHue,this.hsl=e.hsl,this.hsv=e.hsv,this.rgb=e.rgb,this.hex=e.hex,this.source=e.source,this.afterValidChange()}handleChange(e,i){if(oZ(e)){const o=yx(e,e.h||this.oldHue,this.disableAlpha);this.setState(o),this.onChange.emit({color:o,$event:i}),this.afterValidChange()}}afterValidChange(){}handleSwatchHover(e,i){if(oZ(e)){const o=yx(e,e.h||this.oldHue);this.setState(o),this.onSwatchHover.emit({color:o,$event:i})}}registerOnChange(e){this._onChangeCompleteSubscription.add(this.onChangeComplete.pipe(co(i=>e(i.color.hex))).subscribe())}registerOnTouched(e){this._onSwatchHoverSubscription.add(this.onSwatchHover.pipe(co(()=>e())).subscribe())}setDisabledState(e){}writeValue(e){this.color=e}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["color-wrap"]],inputs:{className:"className",mode:"mode",color:"color"},outputs:{colorChange:"colorChange",onChange:"onChange",onChangeComplete:"onChangeComplete",onSwatchHover:"onSwatchHover"},features:[Zn([{provide:xs,useExisting:di(()=>t),multi:!0}]),ar],decls:0,vars:0,template:function(e,i){},encapsulation:2}),t})(),FBe=0,BBe=(()=>{class t{constructor(){this.placeholder="",this.onChange=new vn,this.focus=!1,this.uniqueId="editableInput-"+ ++FBe}ngOnInit(){this.wrapStyle=this.style&&this.style.wrap?this.style.wrap:{},this.inputStyle=this.style&&this.style.input?this.style.input:{},this.labelStyle=this.style&&this.style.label?this.style.label:{},this.dragLabel&&(this.labelStyle.cursor="ew-resize")}handleFocus(e){this.focus=!0}handleFocusOut(e){this.focus=!1,this.currentValue=this.blurValue}handleKeydown(e){const i=String(e.target.value),r=i.indexOf("%")>-1,o=Number(i.replace(/%/g,""));if(isNaN(o))return;const s=this.arrowOffset||1;38===e.keyCode&&(this.onChange.emit(this.label?{data:{[this.label]:o+s},$event:e}:{data:o+s,$event:e}),this.currentValue=r?`${o+s}%`:o+s),40===e.keyCode&&(this.onChange.emit(this.label?{data:{[this.label]:o-s},$event:e}:{data:o-s,$event:e}),this.currentValue=r?o-s+"%":o-s)}handleKeyup(e){40===e.keyCode||38===e.keyCode||`${this.currentValue}`!==e.target.value&&this.onChange.emit(this.label?{data:{[this.label]:e.target.value},$event:e}:{data:e.target.value,$event:e})}ngOnChanges(){this.focus||(this.currentValue=String(this.value).toUpperCase()),this.blurValue=String(this.value).toUpperCase()}ngOnDestroy(){this.unsubscribe()}subscribe(){this.mousemove=Vg(document,"mousemove").subscribe(e=>this.handleDrag(e)),this.mouseup=Vg(document,"mouseup").subscribe(()=>this.unsubscribe())}unsubscribe(){this.mousemove&&this.mousemove.unsubscribe(),this.mouseup&&this.mouseup.unsubscribe()}handleMousedown(e){this.dragLabel&&(e.preventDefault(),this.handleDrag(e),this.subscribe())}handleDrag(e){if(this.dragLabel){const i=Math.round(this.value+e.movementX);i>=0&&i<=this.dragMax&&this.onChange.emit({data:{[this.label]:i},$event:e})}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["color-editable-input"]],inputs:{style:"style",label:"label",value:"value",arrowOffset:"arrowOffset",dragLabel:"dragLabel",dragMax:"dragMax",placeholder:"placeholder"},outputs:{onChange:"onChange"},features:[ar],decls:3,vars:6,consts:[[1,"wrap",3,"ngStyle"],["spellCheck","false",3,"keydown","keyup","focus","focusout","ngStyle","value","placeholder"],[3,"id","ngStyle","mousedown",4,"ngIf"],[3,"mousedown","id","ngStyle"]],template:function(e,i){1&e&&(T(0,"div",0)(1,"input",1),De("keydown",function(o){return i.handleKeydown(o)})("keyup",function(o){return i.handleKeyup(o)})("focus",function(o){return i.handleFocus(o)})("focusout",function(o){return i.handleFocusOut(o)}),L(),$e(2,xBe,2,3,"span",2),L()),2&e&&(le("ngStyle",i.wrapStyle),D(),le("ngStyle",i.inputStyle)("value",i.currentValue)("placeholder",i.placeholder),ni("aria-labelledby",i.uniqueId),D(),le("ngIf",i.label))},dependencies:[Fg,E0],styles:["[_nghost-%COMP%]{display:flex}.wrap[_ngcontent-%COMP%]{position:relative}"],changeDetection:0}),t})(),IBe=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=pt({type:t}),t.\u0275inj=dt({imports:[[nn]]}),t})(),DBe=(()=>{class t{constructor(){this.hidePointer=!1,this.direction="horizontal",this.onChange=new vn,this.left="0px",this.top=""}ngOnChanges(){"horizontal"===this.direction?this.left=100*this.hsl.h/360+"%":this.top=-100*this.hsl.h/360+100+"%"}handleChange({top:e,left:i,containerHeight:r,containerWidth:o,$event:s}){let a;if("vertical"===this.direction){let c;c=e<0?359:e>r?0:360*(-100*e/r+100)/100,this.hsl.h!==c&&(a={h:c,s:this.hsl.s,l:this.hsl.l,a:this.hsl.a,source:"rgb"})}else{let c;c=i<0?0:i>o?359:100*i/o*360/100,this.hsl.h!==c&&(a={h:c,s:this.hsl.s,l:this.hsl.l,a:this.hsl.a,source:"rgb"})}a&&this.onChange.emit({data:a,$event:s})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["color-hue"]],inputs:{hsl:"hsl",pointer:"pointer",radius:"radius",shadow:"shadow",hidePointer:"hidePointer",direction:"direction"},outputs:{onChange:"onChange"},features:[ar],decls:3,vars:8,consts:[["ngx-color-coordinates","",1,"color-hue-container",3,"coordinatesChange"],["class","color-hue-pointer",3,"left","top",4,"ngIf"],[1,"color-hue-pointer"],[1,"color-hue-slider",3,"ngStyle"]],template:function(e,i){1&e&&(T(0,"div")(1,"div",0),De("coordinatesChange",function(o){return i.handleChange(o)}),$e(2,CBe,2,5,"div",1),L()()),2&e&&(du("color-hue color-hue-",i.direction,""),xi("border-radius",i.radius,"px")("box-shadow",i.shadow),D(2),le("ngIf",!i.hidePointer))},dependencies:[qN,E0,Fg],styles:[".color-hue[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.color-hue-container[_ngcontent-%COMP%]{margin:0 2px;position:relative;height:100%}.color-hue-pointer[_ngcontent-%COMP%]{position:absolute}.color-hue-slider[_ngcontent-%COMP%]{margin-top:1px;width:4px;border-radius:1px;height:8px;box-shadow:0 0 2px #0009;background:#fff;transform:translate(-2px)}.color-hue-horizontal[_ngcontent-%COMP%]{background:linear-gradient(to right,#f00 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00 100%)}.color-hue-vertical[_ngcontent-%COMP%]{background:linear-gradient(to top,#f00 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00 100%)}"],changeDetection:0}),t})(),RBe=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=pt({type:t}),t.\u0275inj=dt({imports:[[nn,ZN]]}),t})(),LBe=(()=>{class t{constructor(){this.onChange=new vn}ngOnChanges(){this.background=`hsl(${this.hsl.h}, 100%, 50%)`,this.pointerTop=-100*this.hsv.v+1+100+"%",this.pointerLeft=100*this.hsv.s+"%"}handleChange({top:e,left:i,containerHeight:r,containerWidth:o,$event:s}){i<0?i=0:i>o?i=o:e<0?e=0:e>r&&(e=r);let c=-e/r+1;c=c>0?c:0,c=c>1?1:c,this.onChange.emit({data:{h:this.hsl.h,s:i/o,v:c,a:this.hsl.a,source:"hsva"},$event:s})}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["color-saturation"]],inputs:{hsl:"hsl",hsv:"hsv",radius:"radius",pointer:"pointer",circle:"circle"},outputs:{onChange:"onChange"},features:[ar],decls:5,vars:8,consts:[["ngx-color-coordinates","",1,"color-saturation",3,"coordinatesChange"],[1,"saturation-white"],[1,"saturation-black"],[1,"saturation-pointer",3,"ngStyle"],[1,"saturation-circle",3,"ngStyle"]],template:function(e,i){1&e&&(T(0,"div",0),De("coordinatesChange",function(o){return i.handleChange(o)}),T(1,"div",1),fe(2,"div",2),T(3,"div",3),fe(4,"div",4),L()()()),2&e&&(xi("background",i.background),D(3),xi("top",i.pointerTop)("left",i.pointerLeft),le("ngStyle",i.pointer),D(),le("ngStyle",i.circle))},dependencies:[qN,Fg],styles:[".saturation-white[_ngcontent-%COMP%]{background:linear-gradient(to right,#fff,rgba(255,255,255,0));position:absolute;top:0;bottom:0;left:0;right:0}.saturation-black[_ngcontent-%COMP%]{background:linear-gradient(to top,#000,rgba(0,0,0,0));position:absolute;top:0;bottom:0;left:0;right:0}.color-saturation[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.saturation-pointer[_ngcontent-%COMP%]{position:absolute;cursor:default}.saturation-circle[_ngcontent-%COMP%]{width:4px;height:4px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006;border-radius:50%;cursor:hand;transform:translate(-2px,-4px)}"],changeDetection:0}),t})(),PBe=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=pt({type:t}),t.\u0275inj=dt({imports:[[nn,ZN]]}),t})();const qu=(t,n)=>({input:t,label:n});function OBe(t,n){if(1&t){const e=Cn();T(0,"div",11)(1,"color-editable-input",12),De("onChange",function(r){return Mt(e),St(Se().handleChange(r))}),L()()}if(2&t){const e=Se();D(),ls(hl(3,qu,e.input,e.label)),le("value",e.hex)}}function NBe(t,n){if(1&t){const e=Cn();T(0,"color-editable-input",17),De("onChange",function(r){return Mt(e),St(Se(2).handleChange(r))}),L()}if(2&t){const e=Se(2);ls(hl(4,qu,e.input,e.label)),le("value",e.rgb.a)("arrowOffset",.01)}}function UBe(t,n){if(1&t){const e=Cn();T(0,"div",11)(1,"color-editable-input",13),De("onChange",function(r){return Mt(e),St(Se().handleChange(r))}),L()(),T(2,"div",11)(3,"color-editable-input",14),De("onChange",function(r){return Mt(e),St(Se().handleChange(r))}),L()(),T(4,"div",11)(5,"color-editable-input",15),De("onChange",function(r){return Mt(e),St(Se().handleChange(r))}),L()(),T(6,"div",11),$e(7,NBe,1,7,"color-editable-input",16),L()}if(2&t){const e=Se();D(),ls(hl(10,qu,e.input,e.label)),le("value",e.rgb.r),D(2),ls(hl(13,qu,e.input,e.label)),le("value",e.rgb.g),D(2),ls(hl(16,qu,e.input,e.label)),le("value",e.rgb.b),D(2),le("ngIf",!e.disableAlpha)}}function HBe(t,n){if(1&t){const e=Cn();T(0,"color-editable-input",17),De("onChange",function(r){return Mt(e),St(Se(2).handleChange(r))}),L()}if(2&t){const e=Se(2);ls(hl(4,qu,e.input,e.label)),le("value",e.hsl.a)("arrowOffset",.01)}}function VBe(t,n){if(1&t){const e=Cn();T(0,"div",11)(1,"color-editable-input",18),De("onChange",function(r){return Mt(e),St(Se().handleChange(r))}),L()(),T(2,"div",11)(3,"color-editable-input",19),De("onChange",function(r){return Mt(e),St(Se().handleChange(r))}),L()(),T(4,"div",11)(5,"color-editable-input",20),De("onChange",function(r){return Mt(e),St(Se().handleChange(r))}),L()(),T(6,"div",11),$e(7,HBe,1,7,"color-editable-input",16),L()}if(2&t){const e=Se();D(),ls(hl(10,qu,e.input,e.label)),le("value",e.round(e.hsl.h)),D(2),ls(hl(13,qu,e.input,e.label)),le("value",e.round(100*e.hsl.s)+"%"),D(2),ls(hl(16,qu,e.input,e.label)),le("value",e.round(100*e.hsl.l)+"%"),D(2),le("ngIf",!e.disableAlpha)}}function QBe(t,n){if(1&t){const e=Cn();T(0,"div",12)(1,"color-alpha",13),De("onChange",function(r){return Mt(e),St(Se().handleValueChange(r))}),L()()}if(2&t){const e=Se();D(),le("radius",2)("rgb",e.rgb)("hsl",e.hsl)("pointer",e.pointer)}}let zBe=(()=>{class t{constructor(){this.onChange=new vn,this.view="",this.input={fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px","text-align":"center"},this.label={"text-transform":"uppercase",fontSize:"11px","line-height":"11px",color:"#969696","text-align":"center",display:"block",marginTop:"12px"}}ngOnInit(){1===this.hsl.a&&"hex"!==this.view?this.view="hex":"rgb"!==this.view&&"hsl"!==this.view&&(this.view="rgb")}toggleViews(){"hex"===this.view?this.view="rgb":"rgb"===this.view?this.view="hsl":"hsl"===this.view&&(this.view=1===this.hsl.a?"hex":"rgb")}round(e){return Math.round(e)}handleChange({data:e,$event:i}){if(e.hex){if(function TBe(t){return new vx(t).isValid}(e.hex)){const r=new vx(e.hex);this.onChange.emit({data:{hex:this.disableAlpha?r.toHex():r.toHex8(),source:"hex"},$event:i})}}else if(e.r||e.g||e.b)this.onChange.emit({data:{r:e.r||this.rgb.r,g:e.g||this.rgb.g,b:e.b||this.rgb.b,source:"rgb"},$event:i});else if(e.a)e.a<0?e.a=0:e.a>1&&(e.a=1),this.disableAlpha&&(e.a=1),this.onChange.emit({data:{h:this.hsl.h,s:this.hsl.s,l:this.hsl.l,a:Math.round(100*e.a)/100,source:"rgb"},$event:i});else if(e.h||e.s||e.l){const r=e.s&&e.s.replace("%",""),o=e.l&&e.l.replace("%","");this.onChange.emit({data:{h:e.h||this.hsl.h,s:Number(r||this.hsl.s),l:Number(o||this.hsl.l),source:"hsl"},$event:i})}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["color-chrome-fields"]],inputs:{disableAlpha:"disableAlpha",hsl:"hsl",rgb:"rgb",hex:"hex"},outputs:{onChange:"onChange"},decls:13,vars:3,consts:[["icon",""],["iconUp",""],["iconDown",""],[1,"chrome-wrap"],[1,"chrome-fields"],[3,"ngIf"],[1,"chrome-toggle"],[1,"chrome-icon",3,"click"],["viewBox","0 0 24 24",1,"chrome-toggle-svg"],["fill","#333","d","M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"],["fill","#333","d","M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15Z"],[1,"chrome-field"],["label","hex",3,"onChange","value"],["label","r",3,"onChange","value"],["label","g",3,"onChange","value"],["label","b",3,"onChange","value"],["label","a",3,"style","value","arrowOffset","onChange",4,"ngIf"],["label","a",3,"onChange","value","arrowOffset"],["label","h",3,"onChange","value"],["label","s",3,"onChange","value"],["label","l",3,"onChange","value"]],template:function(e,i){if(1&e){const r=Cn();T(0,"div",3)(1,"div",4),$e(2,OBe,2,6,"ng-template",5)(3,UBe,8,19,"ng-template",5)(4,VBe,8,19,"ng-template",5),L(),T(5,"div",6)(6,"div",7,0),De("click",function(){return Mt(r),St(i.toggleViews())}),ac(),T(8,"svg",8),fe(9,"path",9,1)(11,"path",10,2),L()()()()}2&e&&(D(2),le("ngIf","hex"===i.view),D(),le("ngIf","rgb"===i.view),D(),le("ngIf","hsl"===i.view))},dependencies:[BBe,E0],styles:[".chrome-wrap[_ngcontent-%COMP%]{padding-top:16px;display:flex}.chrome-fields[_ngcontent-%COMP%]{flex:1;display:flex;margin-left:-6px}.chrome-field[_ngcontent-%COMP%]{padding-left:6px;width:100%}.chrome-toggle[_ngcontent-%COMP%]{width:32px;text-align:right;position:relative}.chrome-icon[_ngcontent-%COMP%]{margin-right:-4px;margin-top:12px;cursor:pointer;position:relative}.chrome-toggle-svg[_ngcontent-%COMP%]{width:24px;height:24px;border:1px transparent solid;border-radius:5px}.chrome-toggle-svg[_ngcontent-%COMP%]:hover{background:#eee}"],changeDetection:0}),t})(),GBe=(()=>{class t extends sZ{constructor(){super(),this.disableAlpha=!1,this.circle={width:"12px",height:"12px",borderRadius:"6px",boxShadow:"rgb(255, 255, 255) 0px 0px 0px 1px inset",transform:"translate(-6px, -8px)"},this.pointer={width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -2px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}afterValidChange(){this.activeBackground=`rgba(${this.rgb.r}, ${this.rgb.g}, ${this.rgb.b}, ${this.disableAlpha?1:this.rgb.a})`}handleValueChange({data:e,$event:i}){this.handleChange(e,i)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["color-chrome"]],inputs:{disableAlpha:"disableAlpha"},features:[Zn([{provide:xs,useExisting:di(()=>t),multi:!0},{provide:sZ,useExisting:di(()=>t)}]),ai],decls:14,vars:16,consts:[[1,"saturation"],[3,"onChange","hsl","hsv","circle"],[1,"chrome-body"],[1,"chrome-controls"],[1,"chrome-color"],[1,"chrome-swatch"],[1,"chrome-active"],[1,"chrome-toggles"],[1,"chrome-hue"],[3,"onChange","radius","hsl","pointer"],["class","chrome-alpha",4,"ngIf"],[3,"onChange","rgb","hsl","hex","disableAlpha"],[1,"chrome-alpha"],[3,"onChange","radius","rgb","hsl","pointer"]],template:function(e,i){1&e&&(T(0,"div")(1,"div",0)(2,"color-saturation",1),De("onChange",function(o){return i.handleValueChange(o)}),L()(),T(3,"div",2)(4,"div",3)(5,"div",4)(6,"div",5),fe(7,"div",6)(8,"color-checkboard"),L()(),T(9,"div",7)(10,"div",8)(11,"color-hue",9),De("onChange",function(o){return i.handleValueChange(o)}),L()(),$e(12,QBe,2,4,"div",10),L()(),T(13,"color-chrome-fields",11),De("onChange",function(o){return i.handleValueChange(o)}),L()()()),2&e&&(du("chrome-picker ",i.className,""),D(2),le("hsl",i.hsl)("hsv",i.hsv)("circle",i.circle),D(5),xi("background",i.activeBackground),D(4),le("radius",2)("hsl",i.hsl)("pointer",i.pointer),D(),le("ngIf",!i.disableAlpha),D(),le("rgb",i.rgb)("hsl",i.hsl)("hex",i.hex)("disableAlpha",i.disableAlpha))},dependencies:()=>[LBe,iZ,DBe,SBe,zBe,E0],styles:['.chrome-picker[_ngcontent-%COMP%]{background:#fff;border-radius:2px;box-shadow:0 0 2px #0000004d,0 4px 8px #0000004d;box-sizing:initial;width:225px;font-family:"Menlo"}.chrome-controls[_ngcontent-%COMP%]{display:flex}.chrome-color[_ngcontent-%COMP%]{width:42px}.chrome-body[_ngcontent-%COMP%]{padding:14px 14px 12px}.chrome-active[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0;border-radius:20px;box-shadow:inset 0 0 0 1px #0000001a;z-index:2}.chrome-swatch[_ngcontent-%COMP%]{width:28px;height:28px;border-radius:15px;position:relative;overflow:hidden}.saturation[_ngcontent-%COMP%]{width:100%;padding-bottom:55%;position:relative;border-radius:2px 2px 0 0;overflow:hidden}.chrome-toggles[_ngcontent-%COMP%]{flex:1}.chrome-hue[_ngcontent-%COMP%]{height:10px;position:relative;margin-bottom:8px}.chrome-alpha[_ngcontent-%COMP%]{height:10px;position:relative}'],changeDetection:0}),t})(),WBe=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=pt({type:t}),t.\u0275inj=dt({imports:[[nn,kBe,rZ,IBe,RBe,PBe]]}),t})();function aZ(t,n){return n?e=>qM(n.pipe(qo(1),w9()),e.pipe(aZ(t))):ef((e,i)=>No(t(e,i)).pipe(qo(1),function $Be(t){return mt(()=>t)}(e)))}function cZ(t,n=Og){const e=uL(t,n);return aZ(()=>e)}const jBe=["mat-menu-item",""],KBe=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],XBe=["mat-icon, [matMenuItemIcon]","*"];function YBe(t,n){1&t&&(ac(),T(0,"svg",2),fe(1,"polygon",3),L())}const qBe=["*"];function ZBe(t,n){if(1&t){const e=Cn();T(0,"div",0),De("keydown",function(r){return Mt(e),St(Se()._handleKeydown(r))})("click",function(){return Mt(e),St(Se().closed.emit("click"))})("@transformMenu.start",function(r){return Mt(e),St(Se()._onAnimationStart(r))})("@transformMenu.done",function(r){return Mt(e),St(Se()._onAnimationDone(r))}),T(1,"div",1),Rn(2),L()()}if(2&t){const e=Se();le("id",e.panelId)("ngClass",e._classList)("@transformMenu",e._panelAnimationState),ni("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby||null)("aria-describedby",e.ariaDescribedby||null)}}const JN=new He("MAT_MENU_PANEL");let pT=(()=>{class t{constructor(e,i,r,o,s){this._elementRef=e,this._document=i,this._focusMonitor=r,this._parentMenu=o,this._changeDetectorRef=s,this.role="menuitem",this.disabled=!1,this.disableRipple=!1,this._hovered=new It,this._focused=new It,this._highlighted=!1,this._triggersSubmenu=!1,o?.addItem?.(this)}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._getHostElement(),e,i):this._getHostElement().focus(i),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){const e=this._elementRef.nativeElement.cloneNode(!0),i=e.querySelectorAll("mat-icon, .material-icons");for(let r=0;r enter",zc("120ms cubic-bezier(0, 0, 0.2, 1)",Eo({opacity:1,transform:"scale(1)"}))),Ac("* => void",zc("100ms 25ms linear",Eo({opacity:0})))]),fadeInItems:Iu("fadeInItems",[Gc("showing",Eo({opacity:1})),Ac("void => *",[Eo({opacity:0}),zc("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let eIe=0;const tIe=new He("mat-menu-default-options",{providedIn:"root",factory:function nIe(){return{overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}});let Zu=(()=>{class t{get xPosition(){return this._xPosition}set xPosition(e){this._xPosition=e,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(e){this._yPosition=e,this.setPositionClasses()}set panelClass(e){const i=this._previousPanelClass;i&&i.length&&i.split(" ").forEach(r=>{this._classList[r]=!1}),this._previousPanelClass=e,e&&e.length&&(e.split(" ").forEach(r=>{this._classList[r]=!0}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(e){this.panelClass=e}constructor(e,i,r,o){this._elementRef=e,this._ngZone=i,this._changeDetectorRef=o,this._elevationPrefix="mat-elevation-z",this._baseElevation=8,this._directDescendantItems=new su,this._classList={},this._panelAnimationState="void",this._animationDone=new It,this.closed=new vn,this.close=this.closed,this.panelId="mat-menu-panel-"+eIe++,this.overlayPanelClass=r.overlayPanelClass||"",this._xPosition=r.xPosition,this._yPosition=r.yPosition,this.backdropClass=r.backdropClass,this.overlapTrigger=r.overlapTrigger,this.hasBackdrop=r.hasBackdrop}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new ML(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(md(this._directDescendantItems),tf(e=>pc(...e.map(i=>i._focused)))).subscribe(e=>this._keyManager.updateActiveItem(e)),this._directDescendantItems.changes.subscribe(e=>{const i=this._keyManager;if("enter"===this._panelAnimationState&&i.activeItem?._hasFocus()){const r=e.toArray(),o=Math.max(0,Math.min(r.length-1,i.activeItemIndex||0));r[o]&&!r[o].disabled?i.setActiveItem(o):i.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusSubscription?.unsubscribe()}_hovered(){return this._directDescendantItems.changes.pipe(md(this._directDescendantItems),tf(i=>pc(...i.map(r=>r._hovered))))}addItem(e){}removeItem(e){}_handleKeydown(e){const i=e.keyCode,r=this._keyManager;switch(i){case 27:bl(e)||(e.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case 39:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:return(38===i||40===i)&&r.setFocusOrigin("keyboard"),void r.onKeydown(e)}e.stopPropagation()}focusFirstItem(e="program"){this._firstItemFocusSubscription?.unsubscribe(),this._firstItemFocusSubscription=this._ngZone.onStable.pipe(qo(1)).subscribe(()=>{let i=null;if(this._directDescendantItems.length&&(i=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),!i||!i.contains(document.activeElement)){const r=this._keyManager;r.setFocusOrigin(e).setFirstItemActive(),!r.activeItem&&i&&i.focus()}})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(e){const i=Math.min(this._baseElevation+e,24),r=`${this._elevationPrefix}${i}`,o=Object.keys(this._classList).find(s=>s.startsWith(this._elevationPrefix));(!o||o===this._previousElevation)&&(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[r]=!0,this._previousElevation=r)}setPositionClasses(e=this.xPosition,i=this.yPosition){const r=this._classList;r["mat-menu-before"]="before"===e,r["mat-menu-after"]="after"===e,r["mat-menu-above"]="above"===i,r["mat-menu-below"]="below"===i,this._changeDetectorRef?.markForCheck()}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(e){this._animationDone.next(e),this._isAnimating=!1}_onAnimationStart(e){this._isAnimating=!0,"enter"===e.toState&&0===this._keyManager.activeItemIndex&&(e.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe(md(this._allItems)).subscribe(e=>{this._directDescendantItems.reset(e.filter(i=>i._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(mn),N(tIe),N(ao))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-menu"]],contentQueries:function(i,r,o){if(1&i&&(kr(o,JBe,5),kr(o,pT,5),kr(o,pT,4)),2&i){let s;ln(s=dn())&&(r.lazyContent=s.first),ln(s=dn())&&(r._allItems=s),ln(s=dn())&&(r.items=s)}},viewQuery:function(i,r){if(1&i&&gi(hc,5),2&i){let o;ln(o=dn())&&(r.templateRef=o.first)}},hostVars:3,hostBindings:function(i,r){2&i&&ni("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},inputs:{backdropClass:"backdropClass",ariaLabel:[Ke.None,"aria-label","ariaLabel"],ariaLabelledby:[Ke.None,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[Ke.None,"aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:[Ke.HasDecoratorInputTransform,"overlapTrigger","overlapTrigger",Nn],hasBackdrop:[Ke.HasDecoratorInputTransform,"hasBackdrop","hasBackdrop",e=>null==e?null:Nn(e)],panelClass:[Ke.None,"class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"},exportAs:["matMenu"],standalone:!0,features:[Zn([{provide:JN,useExisting:t}]),Ro,br],ngContentSelectors:qBe,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel","mat-mdc-elevation-specific",3,"keydown","click","id","ngClass"],[1,"mat-mdc-menu-content"]],template:function(i,r){1&i&&(so(),$e(0,ZBe,3,6,"ng-template"))},dependencies:[Qm],styles:['mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;list-style-type:none}.mat-mdc-menu-content:focus{outline:none}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font);line-height:var(--mat-menu-item-label-text-line-height);font-size:var(--mat-menu-item-label-text-size);letter-spacing:var(--mat-menu-item-label-text-tracking);font-weight:var(--mat-menu-item-label-text-weight)}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;outline:0;border-radius:var(--mat-menu-container-shape);background-color:var(--mat-menu-container-color);will-change:transform,opacity}.mat-mdc-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-divider{color:var(--mat-menu-divider-color);margin-bottom:var(--mat-menu-divider-bottom-spacing);margin-top:var(--mat-menu-divider-top-spacing)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:var(--mat-menu-item-leading-spacing);padding-right:var(--mat-menu-item-trailing-spacing);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;align-items:center;min-height:48px}.mat-mdc-menu-item:focus{outline:none}[dir=rtl] .mat-mdc-menu-item,.mat-mdc-menu-item[dir=rtl]{padding-left:var(--mat-menu-item-trailing-spacing);padding-right:var(--mat-menu-item-leading-spacing)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing);padding-right:var(--mat-menu-item-with-icon-trailing-spacing)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]),.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon])[dir=rtl]{padding-left:var(--mat-menu-item-with-icon-trailing-spacing);padding-right:var(--mat-menu-item-with-icon-leading-spacing)}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color)}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color)}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing);height:var(--mat-menu-item-icon-size);width:var(--mat-menu-item-icon-size)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color)}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color)}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing)}[dir=rtl] .mat-mdc-menu-submenu-icon{right:auto;padding-right:var(--mat-menu-item-spacing);padding-left:0}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}'],encapsulation:2,data:{animation:[AT.transformMenu,AT.fadeInItems]},changeDetection:0})}}return t})();const lZ=new He("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{const t=yt(us);return()=>t.scrollStrategies.reposition()}}),rIe={provide:lZ,deps:[us],useFactory:function iIe(t){return()=>t.scrollStrategies.reposition()}},dZ=Jm({passive:!0});let wx=(()=>{class t{get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(e){this.menu=e}get menu(){return this._menu}set menu(e){e!==this._menu&&(this._menu=e,this._menuCloseSubscription.unsubscribe(),e&&(this._menuCloseSubscription=e.close.subscribe(i=>{this._destroyMenu(i),("click"===i||"tab"===i)&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(i)})),this._menuItemInstance?._setTriggersSubmenu(this.triggersSubmenu()))}constructor(e,i,r,o,s,a,c,l,d){this._overlay=e,this._element=i,this._viewContainerRef=r,this._menuItemInstance=a,this._dir=c,this._focusMonitor=l,this._ngZone=d,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=zt.EMPTY,this._hoverSubscription=zt.EMPTY,this._menuCloseSubscription=zt.EMPTY,this._changeDetectorRef=yt(ao),this._handleTouchStart=u=>{TL(u)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new vn,this.onMenuOpen=this.menuOpened,this.menuClosed=new vn,this.onMenuClose=this.menuClosed,this._scrollStrategy=o,this._parentMaterialMenu=s instanceof Zu?s:void 0,i.nativeElement.addEventListener("touchstart",this._handleTouchStart,dZ)}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,dZ),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this.menu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){const e=this.menu;if(this._menuOpen||!e)return;const i=this._createOverlay(e),r=i.getConfig(),o=r.positionStrategy;this._setPosition(e,o),r.hasBackdrop=null==e.hasBackdrop?!this.triggersSubmenu():e.hasBackdrop,i.attach(this._getPortal(e)),e.lazyContent&&e.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(e),e instanceof Zu&&(e._startAnimation(),e._directDescendantItems.changes.pipe(Lr(e.close)).subscribe(()=>{o.withLockedPosition(!1).reapplyLastPosition(),o.withLockedPosition(!0)}))}closeMenu(){this.menu?.close.emit()}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,i):this._element.nativeElement.focus(i)}updatePosition(){this._overlayRef?.updatePosition()}_destroyMenu(e){if(!this._overlayRef||!this.menuOpen)return;const i=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),this.restoreFocus&&("keydown"===e||!this._openedBy||!this.triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,i instanceof Zu?(i._resetAnimation(),i.lazyContent?i._animationDone.pipe(Mi(r=>"void"===r.toState),qo(1),Lr(i.lazyContent._attached)).subscribe({next:()=>i.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),i?.lazyContent?.detach())}_initMenu(e){e.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,e.direction=this.dir,this._setMenuElevation(e),e.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(e){if(e.setElevation){let i=0,r=e.parentMenu;for(;r;)i++,r=r.parentMenu;e.setElevation(i)}}_setIsMenuOpen(e){e!==this._menuOpen&&(this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&this._menuItemInstance._setHighlighted(e),this._changeDetectorRef.markForCheck())}_createOverlay(e){if(!this._overlayRef){const i=this._getOverlayConfig(e);this._subscribeToPositions(e,i.positionStrategy),this._overlayRef=this._overlay.create(i),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(e){return new KM({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:e.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:e.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(e,i){e.setPositionClasses&&i.positionChanges.subscribe(r=>{const o="start"===r.connectionPair.overlayX?"after":"before",s="top"===r.connectionPair.overlayY?"below":"above";this._ngZone?this._ngZone.run(()=>e.setPositionClasses(o,s)):e.setPositionClasses(o,s)})}_setPosition(e,i){let[r,o]="before"===e.xPosition?["end","start"]:["start","end"],[s,a]="above"===e.yPosition?["bottom","top"]:["top","bottom"],[c,l]=[s,a],[d,u]=[r,o],h=0;if(this.triggersSubmenu()){if(u=r="before"===e.xPosition?"start":"end",o=d="end"===r?"start":"end",this._parentMaterialMenu){if(null==this._parentInnerPadding){const f=this._parentMaterialMenu.items.first;this._parentInnerPadding=f?f._getHostElement().offsetTop:0}h="bottom"===s?this._parentInnerPadding:-this._parentInnerPadding}}else e.overlapTrigger||(c="top"===s?"bottom":"top",l="top"===a?"bottom":"top");i.withPositions([{originX:r,originY:c,overlayX:d,overlayY:s,offsetY:h},{originX:o,originY:c,overlayX:u,overlayY:s,offsetY:h},{originX:r,originY:l,overlayX:d,overlayY:a,offsetY:-h},{originX:o,originY:l,overlayX:u,overlayY:a,offsetY:-h}])}_menuClosingActions(){const e=this._overlayRef.backdropClick(),i=this._overlayRef.detachments();return pc(e,this._parentMaterialMenu?this._parentMaterialMenu.closed:pu(),this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(Mi(s=>s!==this._menuItemInstance),Mi(()=>this._menuOpen)):pu(),i)}_handleMousedown(e){kL(e)||(this._openedBy=0===e.button?"mouse":void 0,this.triggersSubmenu()&&e.preventDefault())}_handleKeydown(e){const i=e.keyCode;(13===i||32===i)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(39===i&&"ltr"===this.dir||37===i&&"rtl"===this.dir)&&(this._openedBy="keyboard",this.openMenu())}_handleClick(e){this.triggersSubmenu()?(e.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){!this.triggersSubmenu()||!this._parentMaterialMenu||(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe(Mi(e=>e===this._menuItemInstance&&!e.disabled),cZ(0,dL)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof Zu&&this.menu._isAnimating?this.menu._animationDone.pipe(qo(1),cZ(0,dL),Lr(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(e){return(!this._portal||this._portal.templateRef!==e.templateRef)&&(this._portal=new My(e.templateRef,this._viewContainerRef)),this._portal}static{this.\u0275fac=function(i){return new(i||t)(N(us),N(Mn),N(ha),N(lZ),N(JN,8),N(pT,10),N(Mu,8),N(ku),N(mn))}}static{this.\u0275dir=Et({type:t,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-mdc-menu-trigger"],hostVars:3,hostBindings:function(i,r){1&i&&De("click",function(s){return r._handleClick(s)})("mousedown",function(s){return r._handleMousedown(s)})("keydown",function(s){return r._handleKeydown(s)}),2&i&&ni("aria-haspopup",r.menu?"menu":null)("aria-expanded",r.menuOpen)("aria-controls",r.menuOpen?r.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:[Ke.None,"mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:[Ke.None,"matMenuTriggerFor","menu"],menuData:[Ke.None,"matMenuTriggerData","menuData"],restoreFocus:[Ke.None,"matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"},exportAs:["matMenuTrigger"],standalone:!0})}}return t})(),uZ=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[rIe],imports:[nn,jg,nr,Ty,Cy,nr]})}}return t})();const oIe=["colorPickerMenuTrigger"],sIe=(t,n)=>({isOpen:t,isHovered:n});let hZ=(()=>{class t{constructor(){this.openXPosition="after",this.onColorChange=new vn,this.isHovered=!1,this.isClickInside=!1}handleChangeComplete(e){this.onColorChange.emit(e)}onMouseEnter(){this.isHovered=!0}onMouseLeave(){this.isHovered=!1}onClick(){this.isClickInside=!0,this.colorPickerMenuTrigger.openMenu()}handleDocumentClick(){!this.isClickInside&&this.colorPickerMenuTrigger.menuOpen&&this.colorPickerMenuTrigger.closeMenu(),this.isClickInside=!1}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-color-picker"]],viewQuery:function(i,r){if(1&i&&gi(oIe,5),2&i){let o;ln(o=dn())&&(r.colorPickerMenuTrigger=o.first)}},hostBindings:function(i,r){1&i&&De("mouseenter",function(){return r.onMouseEnter()})("mouseleave",function(){return r.onMouseLeave()})("click",function(){return r.onClick()})("click",function(){return r.handleDocumentClick()},!1,BH)},inputs:{hexColor:"hexColor",openXPosition:"openXPosition",triggerTemplate:"triggerTemplate"},outputs:{onColorChange:"onColorChange"},decls:6,vars:10,consts:[["colorPickerMenuTrigger","matMenuTrigger"],["menu","matMenu"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"matMenuTriggerFor"],[1,"cc-color-picker-menu",3,"xPosition","hasBackdrop"],["role","colorpicker",3,"click","onChangeComplete","disableAlpha","color"]],template:function(i,r){if(1&i){const o=Cn();_g(0,2),fe(1,"span",3,0),T(3,"mat-menu",4,1)(5,"color-chrome",5),De("click",function(a){return Mt(o),St(a.stopPropagation())})("onChangeComplete",function(a){return Mt(o),St(r.handleChangeComplete(a.color.hex))}),L()()}if(2&i){const o=xo(2),s=xo(4);le("ngTemplateOutlet",r.triggerTemplate)("ngTemplateOutletContext",hl(7,sIe,o.menuOpen,r.isHovered)),D(),le("matMenuTriggerFor",s),D(2),le("xPosition",r.openXPosition)("hasBackdrop",!1),D(2),le("disableAlpha",!0)("color",r.hexColor)}},dependencies:[M0,GBe,Zu,wx],encapsulation:2})}}return t})(),cIe=(()=>{class t{transform(e){return(t=>(299*Number.parseInt(t.slice(1,3),16)+587*Number.parseInt(t.slice(3,5),16)+114*Number.parseInt(t.slice(5,7),16))/1e3>=128?"black":"white")(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"readableColorForBackground",type:t,pure:!0})}}return t})();function lIe(t,n){1&t&&fe(0,"br")}function dIe(t,n){if(1&t&&(T(0,"span"),ge(1),$e(2,lIe,1,0,"br"),L()),2&t){const e=n.$implicit,i=n.$index,r=n.$count;D(),qt(" ",e," "),D(),at(2,i!==r-1?2:-1)}}function uIe(t,n){if(1&t&&(T(0,"div",2)(1,"div",3),fe(2,"span",4)(3,"span",5),Ee(4,"readableColorForBackground"),L(),T(5,"div",6),xr(6,dIe,3,2,"span",null,Sr),L()()),2&t){const e=n.isOpen,i=n.isHovered,r=Se();D(2),xi("background-color",r.hexColor),D(),xi("color",Re(4,6,r.hexColor))("opacity",i||e?"1":"0"),D(3),Cr(r.labels)}}let fZ=(()=>{class t{constructor(){this.onColorChange=new vn}handleColorChange(e){this.onColorChange.emit(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-labelled-color-picker"]],inputs:{hexColor:"hexColor",labels:"labels"},outputs:{onColorChange:"onColorChange"},decls:3,vars:3,consts:[["colorPickerTriggerTemplate",""],[3,"onColorChange","hexColor","openXPosition","triggerTemplate"],[1,"cc-labelled-color-picker-container"],[1,"cc-color-swatch-container"],[1,"cc-color-swatch"],[1,"cc-color-brush","fa","fa-paint-brush"],[1,"cc-labelled-color-picker-label"]],template:function(i,r){if(1&i){const o=Cn();T(0,"cc-color-picker",1),De("onColorChange",function(a){return Mt(o),St(r.handleColorChange(a))}),L(),$e(1,uIe,8,8,"ng-template",null,0,Xh)}if(2&i){const o=xo(2);le("hexColor",r.hexColor)("openXPosition","before")("triggerTemplate",o)}},dependencies:[hZ,cIe],styles:["cc-labelled-color-picker .cc-labelled-color-picker-container{display:flex;height:40px;align-items:center}cc-labelled-color-picker .cc-labelled-color-picker-container:hover{cursor:pointer}cc-labelled-color-picker .cc-labelled-color-picker-container .cc-color-swatch-container{position:relative;margin:0 11px;width:18px;height:18px}cc-labelled-color-picker .cc-labelled-color-picker-container .cc-color-swatch-container .cc-color-swatch{display:inline-block;width:inherit;height:inherit;border-radius:2px}cc-labelled-color-picker .cc-labelled-color-picker-container .cc-color-swatch-container .cc-color-brush{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:0}.mat-mdc-menu-panel.cc-color-picker-menu .mat-mdc-menu-content{padding:0}color-chrome .chrome-hue{margin-top:10px}\n"],encapsulation:2})}}return t})();function hIe(t,n){if(1&t){const e=Cn();T(0,"cc-labelled-color-picker",1),De("onColorChange",function(r){const o=Mt(e).$implicit;return St(Se(2).handleColorChange(r,o.value))}),L()}if(2&t){const e=n.$implicit;le("hexColor",e.key)("labels",e.value)}}function fIe(t,n){if(1&t&&(fe(0,"hr"),xr(1,hIe,1,2,"cc-labelled-color-picker",0,function cQ(){return rt()[qr][Mr]}().trackMarkedPackage,!0),Ee(3,"async"),Ee(4,"keyvalue")),2&t){const e=Se();D(),Cr(po(4,2,Re(3,0,e.markedPackagesMap$),e.sortMarkedPackagesMap))}}let mIe=(()=>{class t{constructor(e){this.store=e,this.markedPackagesMap$=e.select(uBe),this.hasMarkedPackages$=this.markedPackagesMap$.pipe(mt(i=>Object.keys(i).length>0))}handleColorChange(e,i){this.store.dispatch(my({packages:i.map(r=>({color:e,path:r}))}))}trackMarkedPackage(e,{value:i}){return i.join(",")}sortMarkedPackagesMap(e,i){return e.value[0].localeCompare(i.value[0])}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-legend-marked-packages"]],decls:2,vars:3,consts:[[3,"hexColor","labels"],[3,"onColorChange","hexColor","labels"]],template:function(i,r){1&i&&($e(0,fIe,5,5),Ee(1,"async")),2&i&&at(0,Re(1,1,r.hasMarkedPackages$)?0:-1)},dependencies:[fZ,Ln,PE],styles:["cc-legend-marked-packages cc-labelled-color-picker{display:block}\n"],encapsulation:2})}}return t})();const mZ=Bt(xc,t=>t.colorRange);let pIe=(()=>{class t{transform(e,i,r,o){switch(e){case"positive":return"unary"===o?`${r.minValue} - ${r.maxValue}`:r.minValue===i.from?"-":r.maxValue===i.from?`${r.minValue} to ${this.formatNumber(i.from)}`:`${r.minValue} to ${this.formatNumber(i.from-1)}`;case"neutral":return i.from===i.to?"-":i.to===r.maxValue?`${this.formatNumber(i.from)} to ${this.formatNumber(i.to)}`:`${this.formatNumber(i.from)} to ${this.formatNumber(i.to-1)}`;case"negative":return r.maxValue===i.to?"-":`${this.formatNumber(i.to)} to ${this.formatNumber(r.maxValue)}`;case"positiveDelta":return"+\u0394 positive delta";case"negativeDelta":return"\u2013\u0394 negative delta";case"selected":return"selected";case"outgoingEdge":return"Outgoing Edge";case"incomingEdge":return"Incoming Edge"}}formatNumber(e){return(e||0).toLocaleString()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"mapColorLabel",type:t,pure:!0})}}return t})();const AIe=t=>[t];let e3=(()=>{class t{constructor(e){this.store=e,this.colorMetric$=this.store.select(Vf),this.mapColors$=this.store.select(jb),this.colorRange$=this.store.select(mZ),this.nodeMetricRange$=this.store.select(ju)}handleColorChange(e){this.store.dispatch(_u({value:{[this.mapColorFor]:e}}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-color-picker-for-map-color"]],inputs:{mapColorFor:"mapColorFor"},decls:6,vars:17,consts:[[3,"onColorChange","hexColor","labels"]],template:function(i,r){1&i&&(T(0,"cc-labelled-color-picker",0),Ee(1,"async"),Ee(2,"async"),Ee(3,"async"),Ee(4,"async"),Ee(5,"mapColorLabel"),De("onColorChange",function(s){return r.handleColorChange(s)}),L()),2&i&&le("hexColor",Re(1,2,r.mapColors$)[r.mapColorFor])("labels",function _z(t,n,e,i){return vz(rt(),ys(),t,n,e,i)}(15,AIe,function Ez(t,n,e,i,r,o){const s=t+si,a=rt(),c=Mh(a,s);return _0(a,s)?xz(a,ys(),n,c.transform,e,i,r,o,c):c.transform(e,i,r,o)}(5,10,r.mapColorFor,Re(2,4,r.colorRange$),Re(3,6,r.nodeMetricRange$),Re(4,8,r.colorMetric$))))},dependencies:[fZ,Ln,pIe],encapsulation:2})}}return t})();function gIe(t,n){if(1&t&&(T(0,"a",2)(1,"span",3),ge(2),L(),ge(3),fe(4,"i",4),L()),2&t){const e=Se(),i=Se(2);le("href",n,Tm),D(2),gr(e),D(),qt(" (",i.metricName,") ")}}function bIe(t,n){if(1&t&&(T(0,"span",3),ge(1),L(),ge(2)),2&t){const e=Se(),i=Se(2);D(),gr(e),D(),qt(" (",i.metricName,") ")}}function _Ie(t,n){if(1&t&&(iE(0,0),T(1,"div",1),Ee(2,"attributeDescriptorTooltip"),ge(3),$e(4,gIe,5,3,"a",2)(5,bIe,3,2),L(),rE()),2&t){let e;const i=Se(),r=Se();D(),le("title",po(2,3,i[r.metricName],r.metricName)),D(2),qt(" ",r.metricSpecification," metric: "),D(),at(4,(e=i[r.metricName].link)?4:5,e)}}function vIe(t,n){if(1&t&&(T(0,"span",3),ge(1),L(),ge(2)),2&t){const e=Se(3);D(),gr(n),D(),qt(" (",e.metricName,") ")}}function yIe(t,n){if(1&t&&(T(0,"span",3),ge(1),L()),2&t){const e=Se(3);D(),qt(" ",e.metricName," ")}}function wIe(t,n){if(1&t&&(T(0,"div"),ge(1),$e(2,vIe,3,2)(3,yIe,2,1),L()),2&t){let e;const i=Se(2);D(),qt(" ",i.metricSpecification," metric: "),D(),at(2,(e=i.fallbackTitles.get(i.metricName))?2:3,e)}}function xIe(t,n){if(1&t&&$e(0,_Ie,6,6,"ng-container",0)(1,wIe,4,2),2&t){let e;const i=n,r=Se();at(0,(e=null==i[r.metricName]?null:i[r.metricName].title)?0:1,e)}}let CIe=(()=>{class t{constructor(e){this.store=e,this.attributeDescriptors$=this.store.select(lT),this.fallbackTitles=WN}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-legend-block"]],inputs:{metricName:"metricName",metricSpecification:"metricSpecification"},decls:2,vars:3,consts:[[1,"legend-block"],[3,"title"],["target","_blank",3,"href"],[1,"bold"],[1,"fa","fa-external-link"]],template:function(i,r){if(1&i&&($e(0,xIe,2,1),Ee(1,"async")),2&i){let o;at(0,(o=Re(1,1,r.attributeDescriptors$))?0:-1,o)}},dependencies:[Ln,hT],encapsulation:2})}}return t})();function EIe(t,n){1&t&&fe(0,"cc-legend-block",5),2&t&&le("metricName",n)}function MIe(t,n){if(1&t&&(T(0,"div"),fe(1,"cc-legend-block",3),Ee(2,"async"),fe(3,"cc-legend-block",4),Ee(4,"async"),$e(5,EIe,1,1,"cc-legend-block",5),Ee(6,"async"),fe(7,"hr")(8,"cc-legend-block",6),Ee(9,"async"),fe(10,"cc-color-picker-for-map-color",1)(11,"cc-color-picker-for-map-color",1)(12,"cc-color-picker-for-map-color",1),L()),2&t){let e;const i=Se();D(),le("metricName",Re(2,7,i.areaMetric$)),D(2),le("metricName",Re(4,9,i.heightMetric$)),D(2),at(5,(e=Re(6,11,i.edgeMetric$))?5:-1,e),D(3),le("metricName",Re(9,13,i.colorMetric$)),D(2),le("mapColorFor","positive"),D(),le("mapColorFor","neutral"),D(),le("mapColorFor","negative")}}function SIe(t,n){1&t&&(T(0,"div"),fe(1,"cc-color-picker-for-map-color",1)(2,"cc-color-picker-for-map-color",1),L()),2&t&&(D(),le("mapColorFor","positiveDelta"),D(),le("mapColorFor","negativeDelta"))}function kIe(t,n){1&t&&fe(0,"hr")(1,"cc-color-picker-for-map-color",1)(2,"cc-color-picker-for-map-color",1),2&t&&(D(),le("mapColorFor","outgoingEdge"),D(),le("mapColorFor","incomingEdge"))}let TIe=(()=>{class t{constructor(e,i){this.store=e,this.isAttributeSideBarVisibleService=i,this.isLegendVisible=!1,this.isDeltaState$=this.store.select(zf),this.heightMetric$=this.store.select(_x),this.areaMetric$=this.store.select(qb),this.colorMetric$=this.store.select(Vf),this.edgeMetric$=this.store.select(Xu)}toggleIsLegendVisible(){this.isLegendVisible=!this.isLegendVisible}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(sT))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-legend-panel"]],decls:11,vars:14,consts:[["id","legend-panel",1,"block-wrapper"],[3,"mapColorFor"],["id","legend-panel-button","color","primary",1,"panel-button",3,"click","title"],["metricSpecification","Area",3,"metricName"],["metricSpecification","Height",3,"metricName"],["metricSpecification","Edge",3,"metricName"],["metricSpecification","Color",3,"metricName"]],template:function(i,r){1&i&&(T(0,"div",0),$e(1,MIe,13,15,"div"),Ee(2,"async"),$e(3,SIe,3,2),fe(4,"hr")(5,"cc-color-picker-for-map-color",1),$e(6,kIe,3,2),Ee(7,"async"),fe(8,"cc-legend-marked-packages"),L(),T(9,"button",2),De("click",function(){return r.toggleIsLegendVisible()}),ge(10," LEGEND\n"),L()),2&i&&(sn("visible",r.isLegendVisible)("isAttributeSideBarVisible",r.isAttributeSideBarVisibleService.isOpen),D(),at(1,Re(2,10,r.isDeltaState$)?3:1),D(4),le("mapColorFor","selected"),D(),at(6,Re(7,12,r.edgeMetric$)?6:-1),D(3),sn("isAttributeSideBarVisible",r.isAttributeSideBarVisibleService.isOpen),Ga("title",r.isLegendVisible?"Hide panel":"Show panel"))},dependencies:[mIe,e3,CIe,Ln],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-legend-panel .rotated-button,cc-legend-panel .panel-button{position:fixed;transform:rotate(90deg);border-radius:0 0 5px 5px;height:36px;right:-35px;color:#fff;-webkit-user-select:none;user-select:none;background-color:#1b9cfc}cc-legend-panel .rotated-button:hover,cc-legend-panel .panel-button:hover{background-color:#0374c9}cc-legend-panel .rotated-button.isAttributeSideBarVisible,cc-legend-panel .isAttributeSideBarVisible.panel-button{right:316px}cc-legend-panel .panel-button{margin:6px 8px;bottom:55px;width:88px}cc-legend-panel .block-wrapper{background-color:#fff;border:1px solid #cdcdcd;position:fixed;bottom:35px;padding:10px;right:40px;visibility:hidden;border-radius:5px;min-width:200px;max-width:30%}cc-legend-panel .block-wrapper.isAttributeSideBarVisible{right:390px}cc-legend-panel .block-wrapper.visible{visibility:visible}cc-legend-panel .block-wrapper hr{border-right-style:none;border-left-style:none;border-bottom-style:none;color:#000}cc-legend-panel .block-wrapper cc-legend-block a:link,cc-legend-panel .block-wrapper cc-legend-block a:visited{text-decoration:none;color:#000}cc-legend-panel .block-wrapper cc-legend-block a:hover{color:#00f;-webkit-text-decoration:solid;text-decoration:solid;text-decoration-line:underline}cc-legend-panel .block-wrapper cc-legend-block a:active{color:red}cc-legend-panel .block-wrapper cc-legend-block i.fa.fa-external-link{font-size:10px;min-width:10px;text-align:center}cc-legend-panel .block-wrapper cc-legend-block span{display:inline-block}cc-legend-panel .block-wrapper .bold{font-weight:600}cc-legend-panel .block-wrapper .cc-labelled-color-picker-container>.cc-labelled-color-picker-label{white-space:nowrap;text-overflow:ellipsis;direction:rtl}cc-legend-panel .block-wrapper .cc-labelled-color-picker-container>.cc-labelled-color-picker-label span{unicode-bidi:plaintext}\n'],encapsulation:2})}}return t})();const t3=Bt(Pr,t=>t.experimentalFeaturesEnabled),FIe=["*"],LIe=new He("MAT_CARD_CONFIG");let gT=(()=>{class t{constructor(e){this.appearance=e?.appearance||"raised"}static{this.\u0275fac=function(i){return new(i||t)(N(LIe,8))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:4,hostBindings:function(i,r){2&i&&sn("mat-mdc-card-outlined","outlined"===r.appearance)("mdc-card--outlined","outlined"===r.appearance)},inputs:{appearance:"appearance"},exportAs:["matCard"],standalone:!0,features:[br],ngContentSelectors:FIe,decls:1,vars:0,template:function(i,r){1&i&&(so(),Rn(0))},styles:['.mdc-card{display:flex;flex-direction:column;box-sizing:border-box}.mdc-card::after{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none;pointer-events:none}@media screen and (forced-colors: active){.mdc-card::after{border-color:CanvasText}}.mdc-card--outlined::after{border:none}.mdc-card__content{border-radius:inherit;height:100%}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mdc-card__media--square::before{margin-top:100%}.mdc-card__media--16-9::before{margin-top:56.25%}.mdc-card__media-content{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box}.mdc-card__primary-action{display:flex;flex-direction:column;box-sizing:border-box;position:relative;outline:none;color:inherit;text-decoration:none;cursor:pointer;overflow:hidden}.mdc-card__primary-action:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__primary-action:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mdc-card__actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mdc-card__actions--full-bleed{padding:0}.mdc-card__action-buttons,.mdc-card__action-icons{display:flex;flex-direction:row;align-items:center;box-sizing:border-box}.mdc-card__action-icons{color:rgba(0, 0, 0, 0.6);flex-grow:1;justify-content:flex-end}.mdc-card__action-buttons+.mdc-card__action-icons{margin-left:16px;margin-right:0}[dir=rtl] .mdc-card__action-buttons+.mdc-card__action-icons,.mdc-card__action-buttons+.mdc-card__action-icons[dir=rtl]{margin-left:0;margin-right:16px}.mdc-card__action{display:inline-flex;flex-direction:row;align-items:center;box-sizing:border-box;justify-content:center;cursor:pointer;user-select:none}.mdc-card__action:focus{outline:none}.mdc-card__action--button{margin-left:0;margin-right:8px;padding:0 8px}[dir=rtl] .mdc-card__action--button,.mdc-card__action--button[dir=rtl]{margin-left:8px;margin-right:0}.mdc-card__action--button:last-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-card__action--button:last-child,.mdc-card__action--button:last-child[dir=rtl]{margin-left:0;margin-right:0}.mdc-card__actions--full-bleed .mdc-card__action--button{justify-content:space-between;width:100%;height:auto;max-height:none;margin:0;padding:8px 16px;text-align:left}[dir=rtl] .mdc-card__actions--full-bleed .mdc-card__action--button,.mdc-card__actions--full-bleed .mdc-card__action--button[dir=rtl]{text-align:right}.mdc-card__action--icon{margin:-6px 0;padding:12px}.mdc-card__action--icon:not(:disabled){color:rgba(0, 0, 0, 0.6)}.mat-mdc-card{border-radius:var(--mdc-elevated-card-container-shape);background-color:var(--mdc-elevated-card-container-color);border-width:0;border-style:solid;border-color:var(--mdc-elevated-card-container-color);box-shadow:var(--mdc-elevated-card-container-elevation)}.mat-mdc-card .mdc-card::after{border-radius:var(--mdc-elevated-card-container-shape)}.mat-mdc-card-outlined{border-width:var(--mdc-outlined-card-outline-width);border-style:solid;border-color:var(--mdc-outlined-card-outline-color);border-radius:var(--mdc-outlined-card-container-shape);background-color:var(--mdc-outlined-card-container-color);box-shadow:var(--mdc-outlined-card-container-elevation)}.mat-mdc-card-outlined .mdc-card::after{border-radius:var(--mdc-outlined-card-container-shape)}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font);line-height:var(--mat-card-title-text-line-height);font-size:var(--mat-card-title-text-size);letter-spacing:var(--mat-card-title-text-tracking);font-weight:var(--mat-card-title-text-weight)}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color);font-family:var(--mat-card-subtitle-text-font);line-height:var(--mat-card-subtitle-text-line-height);font-size:var(--mat-card-subtitle-text-size);letter-spacing:var(--mat-card-subtitle-text-tracking);font-weight:var(--mat-card-subtitle-text-weight)}.mat-mdc-card{position:relative}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.mat-mdc-card-actions-align-end{justify-content:flex-end}'],encapsulation:2,changeDetection:0})}}return t})(),pZ=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nr,nn,nr]})}}return t})();const AZ=Bt(Pr,t=>t.isSearchPanelPinned);let gZ=(()=>{class t{constructor(e){this.store=e,this.searchPanelMode="minimized",this.updateSearchPanelMode=i=>{this.setSearchPanelMode(this.searchPanelMode===i?"minimized":i)},this.closeSearchPanelOnOutsideClick=i=>{this.isOutside(i)&&!this.isSearchPanelPinned&&this.setSearchPanelMode("minimized")}}ngOnInit(){this.isSearchPanelPinnedSubscription=this.store.select(AZ).subscribe(e=>{this.isSearchPanelPinned=e})}ngOnDestroy(){this.isSearchPanelPinnedSubscription.unsubscribe()}openSearchPanel(){this.setSearchPanelMode("treeView")}setSearchPanelMode(e){"minimized"===this.searchPanelMode&&"minimized"!==e&&document.addEventListener("mousedown",this.closeSearchPanelOnOutsideClick),"minimized"!==this.searchPanelMode&&"minimized"===e&&document.removeEventListener("mousedown",this.closeSearchPanelOnOutsideClick),this.searchPanelMode=e}isOutside(e){return e.composedPath().every(i=>"CC-SEARCH-PANEL"!==i.nodeName&&"COLOR-CHROME"!==i.nodeName&&"MAT-OPTION"!==i.nodeName&&"codemap-context-menu"!==i.id)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-search-panel"]],decls:12,vars:9,consts:[["appearance","outlined",1,"search-panel-card"],[1,"section"],[1,"section-header"],[3,"click"],[3,"searchPanelMode","updateSearchPanelMode"],[1,"section-title",3,"click"],["title","Show folder structure",1,"fa","fa-angle-down"],[1,"section-body"],[3,"hidden"]],template:function(i,r){1&i&&(T(0,"mat-card",0)(1,"div",1)(2,"div",2)(3,"cc-search-bar",3),De("click",function(){return r.openSearchPanel()}),L(),fe(4,"cc-search-panel-mode-selector",4),L(),T(5,"span",5),De("click",function(){return r.updateSearchPanelMode("treeView")}),ge(6," File/Node Explorer "),fe(7,"i",6),L(),T(8,"div",7),fe(9,"cc-blacklist-panel",8)(10,"cc-matching-files-counter",8)(11,"cc-map-tree-view",8),L()()()),2&i&&(sn("expanded","minimized"!==r.searchPanelMode),D(4),le("searchPanelMode",r.searchPanelMode)("updateSearchPanelMode",r.updateSearchPanelMode),D(4),sn("hidden","minimized"===r.searchPanelMode),D(),le("hidden","blacklist"!==r.searchPanelMode),D(),le("hidden","treeView"!==r.searchPanelMode),D(),le("hidden","treeView"!==r.searchPanelMode))},styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-search-panel .search-panel-card{border-left:none;width:100%}cc-search-panel .search-panel-card .section-body{display:flex;flex-direction:column;padding:6px;position:absolute;top:45px;background:#fff;border:1px solid #b5b5b5;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}cc-search-panel .search-panel-card .section-body.hidden{display:none;pointer-events:none}cc-search-panel .submenu-button{border:2px solid #1b9cfc}cc-search-panel .submenu-button:hover{border:2px solid #0374c9}\n'],encapsulation:2})}}return t})();function OIe(t=NIe){return be((n,e)=>{let i=!1;n.subscribe(Ie(e,r=>{i=!0,e.next(r)},()=>i?e.complete():e.error(t())))})}function NIe(){return new YL}function bT(t,n){const e=arguments.length>=2;return i=>i.pipe(t?Mi((r,o)=>t(r,o,i)):ts,qo(1),e?function PIe(t){return be((n,e)=>{let i=!1;n.subscribe(Ie(e,r=>{i=!0,e.next(r)},()=>{i||e.next(t),e.complete()}))})}(n):OIe(()=>new YL))}const UIe=ci(1,Jt(lf,Fi(1))),n3=t=>{const n=Math.floor(t.length/100);return n<=1?1:Math.min(n,10)},_T=Bt(Xc,t=>function e_e(t){const n=[];if(void 0!==t)for(const{data:e}of Jr(t))"Folder"!==e.type&&n.push(e);return n}(t.unifiedMapNode)),Cx=jt("SET_AMOUNT_OF_EDGE_PREVIEWS",{_as:"props",_p:void 0}),QIe=ci(1,Jt(Cx,Fi(1))),zIe=ci(4,Jt(Rg,Fi(4))),wT={x:1,y:1,z:1},GIe=ci(wT,Jt(Lg,tT(wT))),xT=t=>{const e=Math.round((t.maxValue-t.minValue)/3);return{from:e+t.minValue,to:2*e+t.minValue}},WIe=ci(50,Jt(Pg,Fi(50))),zp=jt("SET_STATE",{_as:"props",_p:void 0});function i3(t){for(const e of Object.keys(t))if("object"==typeof t[e]&&null!==t[e]){const{x:i,y:r,z:o}=t[e];void 0!==i||void 0!==r||void 0!==o?t[e]=new j(i??1,r??1,o??1):i3(t[e])}}const jIe=JSON.parse('[{"name":"Complexity","settings":{"appSettings":{},"dynamicSettings":{"areaMetric":"rloc","heightMetric":"mcc","colorMetric":"mcc","distributionMetric":"rloc"}}},{"name":"Average Complexity*","settings":{"appSettings":{},"dynamicSettings":{"areaMetric":"unary","heightMetric":"Average Complexity*","colorMetric":"Average Complexity*","distributionMetric":"unary"}}},{"name":"Coverage","settings":{"appSettings":{},"dynamicSettings":{"areaMetric":"rloc","heightMetric":"mcc","colorMetric":"line_coverage","distributionMetric":"rloc"}}},{"name":"Code Churn","settings":{"appSettings":{},"dynamicSettings":{"areaMetric":"rloc","heightMetric":"abs_code_churn","colorMetric":"weeks_with_commits","distributionMetric":"rloc"}}}]');class Ju{static{this.SCENARIOS_LOCAL_STORAGE_VERSION="1.0.0"}static{this.SCENARIOS_LOCAL_STORAGE_ELEMENT="scenarios"}static{this.scenarios=Ju.loadScenarios()}static getScenarioItems(n){const e=[];for(const i of this.scenarios.values())e.push({scenarioName:i.name,isScenarioApplicable:this.isScenarioApplicable(i,n),icons:[{faIconClass:"fa-video-camera",isSaved:!!i.camera,tooltip:"Camera angle"},{faIconClass:"fa-arrows-alt",isSaved:!!i.area,tooltip:"Area metric"},{faIconClass:"fa-arrows-v",isSaved:!!i.height,tooltip:"Height metric"},{faIconClass:"fa-paint-brush",isSaved:!!i.color,tooltip:"Color metric"},{faIconClass:"fa-exchange",isSaved:!!i.edge,tooltip:"Edge metric"}]});return e}static isScenarioApplicable(n,e){const{area:i,color:r,height:o,edge:s}=n;if(i||r||o){const a=new Set(e.nodeMetricData.map(c=>c.name));if(i&&!a.has(i.areaMetric)||r&&!a.has(r.colorMetric)||o&&!a.has(o.heightMetric))return!1}return!(s&&!e.edgeMetricData.some(a=>a.name===s.edgeMetric))}static getPreLoadScenarios(){const n=this.importScenarios(jIe),e=new Map;for(const i of n)e.set(i.name,this.transformScenarioAsSettingsToScenario(i));return e}static transformScenarioAsSettingsToScenario(n){const e={name:n.name},{dynamicSettings:i,appSettings:r}=n.settings;return void 0!==i.areaMetric&&(e.area={areaMetric:i.areaMetric,margin:i.margin}),void 0!==i.heightMetric&&(e.height={heightMetric:i.heightMetric,labelSlider:r.amountOfTopLabels,heightSlider:r.scaling}),void 0!==i.colorMetric&&(e.color={colorMetric:i.colorMetric,colorRange:i.colorRange,mapColors:r.mapColors}),void 0!==i.edgeMetric&&(e.edge={edgeMetric:i.edgeMetric,edgeHeight:r.edgeHeight,edgePreview:r.amountOfEdgePreviews}),e}static setScenariosToLocalStorage(n){const e={version:this.SCENARIOS_LOCAL_STORAGE_VERSION,scenarios:[...n]};localStorage.setItem(this.SCENARIOS_LOCAL_STORAGE_ELEMENT,JSON.stringify(e))}static loadScenarios(){const n=JSON.parse(localStorage.getItem(this.SCENARIOS_LOCAL_STORAGE_ELEMENT));if(n)return new Map(n.scenarios);const e=this.getPreLoadScenarios();return this.setScenariosToLocalStorage(e),e}static addScenario(n,e){const i=Ju.createNewScenario(n,e);this.scenarios.set(i.name,i),this.setScenariosToLocalStorage(this.scenarios)}static createNewScenario(n,e){const i={name:n};for(const r of e.filter(o=>o.isSelected))switch(r.metricType){case"Camera-Position":i.camera={camera:r.savedValues.camera,cameraTarget:r.savedValues.cameraTarget};break;case"Area-Metric":i.area={areaMetric:r.metricName,margin:r.savedValues};break;case"Height-Metric":i.height={heightMetric:r.metricName,heightSlider:r.savedValues.heightSlider,labelSlider:r.savedValues.labelSlider};break;case"Color-Metric":i.color={colorMetric:r.metricName,colorRange:r.savedValues.colorRange,mapColors:r.savedValues.mapColors};break;case"Edge-Metric":i.edge={edgeMetric:r.metricName,edgePreview:r.savedValues.edgePreview,edgeHeight:r.savedValues.edgeHeight};break;default:throw new Error(`Unknown metric type "${r.metricType}" detected`)}return i}static deleteScenario(n){this.scenarios.delete(n),this.setScenariosToLocalStorage(this.scenarios)}static getScenarioSettings(n){const e={},i={};return n&&(n.area&&(e.areaMetric=n.area.areaMetric,e.margin=n.area.margin),n.height&&(e.heightMetric=n.height.heightMetric,i.amountOfTopLabels=n.height.labelSlider,i.scaling=n.height.heightSlider),n.color&&(e.colorMetric=n.color.colorMetric,e.colorRange=n.color.colorRange,i.mapColors=n.color.mapColors),n.edge&&(e.edgeMetric=n.edge.edgeMetric,i.edgeHeight=n.edge.edgeHeight,i.amountOfEdgePreviews=n.edge.edgePreview)),{appSettings:i,dynamicSettings:e}}static importScenarios(n){for(const e of n)i3(e.settings),e.camera&&(e.camera.camera=new j(e.camera.camera.x,e.camera.camera.y,e.camera.camera.z),e.camera.cameraTarget=new j(e.camera.camera.x,e.camera.camera.y,e.camera.camera.z));return n}static isScenarioExisting(n){return this.scenarios.has(n)}}let r3=(()=>{class t{constructor(e,i,r,o,s){this.state=e,this.store=i,this.dialog=r,this.threeCameraService=o,this.threeOrbitControlsService=s}getScenarios(){return Ju.getScenarioItems(Cs(this.state.getValue()))}applyScenario(e){const i=Ju.scenarios.get(e),r=Ju.getScenarioSettings(i);this.store.dispatch(zp({value:r})),r.appSettings.amountOfTopLabels||this.store.select(_T).pipe(bT()).subscribe(o=>{const s=n3(o);this.store.dispatch(lf({value:s}))}),r.appSettings.mapColors||this.store.dispatch(_u({value:Td})),r.appSettings.edgeHeight||this.store.dispatch(Rg({value:4})),r.appSettings.amountOfEdgePreviews||this.store.dispatch(Cx({value:1})),r.appSettings.scaling||this.store.dispatch(Lg({value:wT})),r.dynamicSettings.colorRange||this.store.select(ju).pipe(bT()).subscribe(o=>{this.store.dispatch(cd({value:xT(o)}))}),r.dynamicSettings.margin||this.store.dispatch(Pg({value:50})),r.dynamicSettings.edgeMetric||this.store.select(Cs).pipe(bT()).subscribe(o=>{this.store.dispatch(yu({value:o.edgeMetricData[0]?.name}))}),i.camera&&(this.threeCameraService.setPosition(i.camera.camera),this.threeOrbitControlsService.setControlTarget(i.camera.cameraTarget))}removeScenario(e){"Complexity"!==e?(Ju.deleteScenario(e),this.dialog.open(Kg,{data:{title:"Info",message:`${e} deleted.`}})):this.dialog.open(Kg,{data:{title:"Error",message:`${e} cannot be deleted as it is the default Scenario.`}})}static{this.\u0275fac=function(i){return new(i||t)(ee(Dr),ee(Tt),ee(ga),ee(Fd),ee(Bl))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();class YIe extends It{constructor(n=1/0,e=1/0,i=iR){super(),this._bufferSize=n,this._windowTime=e,this._timestampProvider=i,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=e===1/0,this._bufferSize=Math.max(1,n),this._windowTime=Math.max(1,e)}next(n){const{isStopped:e,_buffer:i,_infiniteTimeWindow:r,_timestampProvider:o,_windowTime:s}=this;e||(i.push(n),!r&&i.push(o.now()+s)),this._trimBuffer(),super.next(n)}_subscribe(n){this._throwIfClosed(),this._trimBuffer();const e=this._innerSubscribe(n),{_infiniteTimeWindow:i,_buffer:r}=this,o=r.slice();for(let s=0;snew It),resetOnError:e=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=t;return o=>{let s,a,c,l=0,d=!1,u=!1;const h=()=>{a?.unsubscribe(),a=void 0},f=()=>{h(),s=c=void 0,d=u=!1},b=()=>{const y=s;f(),y?.unsubscribe()};return be((y,C)=>{l++,!u&&!d&&h();const x=c=c??n();C.add(()=>{l--,0===l&&!u&&!d&&(a=o3(b,r))}),x.subscribe(C),!s&&l>0&&(s=new Ja({next:w=>x.next(w),error:w=>{u=!0,h(),a=o3(f,e,w),x.error(w)},complete:()=>{d=!0,h(),a=o3(f,i),x.complete()}}),No(y).subscribe(s))})(o)}}function o3(t,n,...e){if(!0===n)return void t();if(!1===n)return;const i=new Ja({next:()=>{i.unsubscribe(),t()}});return No(n(...e)).subscribe(i)}class ZIe{constructor(n){this._box=n,this._destroyed=new It,this._resizeSubject=new It,this._elementObservables=new Map,typeof ResizeObserver<"u"&&(this._resizeObserver=new ResizeObserver(e=>this._resizeSubject.next(e)))}observe(n){return this._elementObservables.has(n)||this._elementObservables.set(n,new Wi(e=>{const i=this._resizeSubject.subscribe(e);return this._resizeObserver?.observe(n,{box:this._box}),()=>{this._resizeObserver?.unobserve(n),i.unsubscribe(),this._elementObservables.delete(n)}}).pipe(Mi(e=>e.some(i=>i.target===n)),function qIe(t,n,e){let i,r=!1;return t&&"object"==typeof t?({bufferSize:i=1/0,windowTime:n=1/0,refCount:r=!1,scheduler:e}=t):i=t??1/0,ET({connector:()=>new YIe(i,n,e),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:r})}({bufferSize:1,refCount:!0}),Lr(this._destroyed))),this._elementObservables.get(n)}destroy(){this._destroyed.next(),this._destroyed.complete(),this._resizeSubject.complete(),this._elementObservables.clear()}}let JIe=(()=>{class t{constructor(){this._observers=new Map,this._ngZone=yt(mn)}ngOnDestroy(){for(const[,e]of this._observers)e.destroy();this._observers.clear()}observe(e,i){const r=i?.box||"content-box";return this._observers.has(r)||this._observers.set(r,new ZIe(r)),this._observers.get(r).observe(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();const eDe=["notch"],tDe=["matFormFieldNotchedOutline",""],nDe=["*"],iDe=["textField"],rDe=["iconPrefixContainer"],oDe=["textPrefixContainer"],sDe=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],aDe=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];function cDe(t,n){1&t&&fe(0,"span",17)}function lDe(t,n){if(1&t&&(T(0,"label",16),Rn(1,1),$e(2,cDe,1,0,"span",17),L()),2&t){const e=Se(2);le("floating",e._shouldLabelFloat())("monitorResize",e._hasOutline())("id",e._labelId),ni("for",e._control.id),D(2),at(2,!e.hideRequiredMarker&&e._control.required?2:-1)}}function dDe(t,n){1&t&&$e(0,lDe,3,5,"label",16),2&t&&at(0,Se()._hasFloatingLabel()?0:-1)}function uDe(t,n){1&t&&fe(0,"div",5)}function hDe(t,n){}function fDe(t,n){1&t&&$e(0,hDe,0,0,"ng-template",11),2&t&&(Se(2),le("ngTemplateOutlet",xo(1)))}function mDe(t,n){if(1&t&&(T(0,"div",7),$e(1,fDe,1,1,null,11),L()),2&t){const e=Se();le("matFormFieldNotchedOutlineOpen",e._shouldLabelFloat()),D(),at(1,e._forceDisplayInfixLabel()?-1:1)}}function pDe(t,n){1&t&&(T(0,"div",8,2),Rn(2,2),L())}function ADe(t,n){1&t&&(T(0,"div",9,3),Rn(2,3),L())}function gDe(t,n){}function bDe(t,n){1&t&&$e(0,gDe,0,0,"ng-template",11),2&t&&(Se(),le("ngTemplateOutlet",xo(1)))}function _De(t,n){1&t&&(T(0,"div",12),Rn(1,4),L())}function vDe(t,n){1&t&&(T(0,"div",13),Rn(1,5),L())}function yDe(t,n){1&t&&fe(0,"div",14)}function wDe(t,n){1&t&&(T(0,"div",18),Rn(1,6),L()),2&t&&le("@transitionMessages",Se()._subscriptAnimationState)}function xDe(t,n){if(1&t&&(T(0,"mat-hint",20),ge(1),L()),2&t){const e=Se(2);le("id",e._hintLabelId),D(),gr(e.hintLabel)}}function CDe(t,n){if(1&t&&(T(0,"div",19),$e(1,xDe,2,2,"mat-hint",20),Rn(2,7),fe(3,"div",21),Rn(4,8),L()),2&t){const e=Se();le("@transitionMessages",e._subscriptAnimationState),D(),at(1,e.hintLabel?1:-1)}}let Id=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t,selectors:[["mat-label"]],standalone:!0})}}return t})(),EDe=0;const bZ=new He("MatError");let _Z=(()=>{class t{constructor(e,i){this.id="mat-mdc-error-"+EDe++,e||i.nativeElement.setAttribute("aria-live","polite")}static{this.\u0275fac=function(i){return new(i||t)(Oc("aria-live"),N(Mn))}}static{this.\u0275dir=Et({type:t,selectors:[["mat-error"],["","matError",""]],hostAttrs:["aria-atomic","true",1,"mat-mdc-form-field-error","mat-mdc-form-field-bottom-align"],hostVars:1,hostBindings:function(i,r){2&i&&rd("id",r.id)},inputs:{id:"id"},standalone:!0,features:[Zn([{provide:bZ,useExisting:t}])]})}}return t})(),MDe=0,s3=(()=>{class t{constructor(){this.align="start",this.id="mat-mdc-hint-"+MDe++}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(i,r){2&i&&(rd("id",r.id),ni("align",null),sn("mat-mdc-form-field-hint-end","end"===r.align))},inputs:{align:"align",id:"id"},standalone:!0})}}return t})();const vZ=new He("MatPrefix");let yZ=(()=>{class t{constructor(){this._isText=!1}set _isTextSelector(e){this._isText=!0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t,selectors:[["","matPrefix",""],["","matIconPrefix",""],["","matTextPrefix",""]],inputs:{_isTextSelector:[Ke.None,"matTextPrefix","_isTextSelector"]},standalone:!0,features:[Zn([{provide:vZ,useExisting:t}])]})}}return t})();const SDe=new He("MatSuffix"),wZ=new He("FloatingLabelParent");let xZ=(()=>{class t{get floating(){return this._floating}set floating(e){this._floating=e,this.monitorResize&&this._handleResize()}get monitorResize(){return this._monitorResize}set monitorResize(e){this._monitorResize=e,this._monitorResize?this._subscribeToResize():this._resizeSubscription.unsubscribe()}constructor(e){this._elementRef=e,this._floating=!1,this._monitorResize=!1,this._resizeObserver=yt(JIe),this._ngZone=yt(mn),this._parent=yt(wZ),this._resizeSubscription=new zt}ngOnDestroy(){this._resizeSubscription.unsubscribe()}getWidth(){return function kDe(t){if(null!==t.offsetParent)return t.scrollWidth;const e=t.cloneNode(!0);e.style.setProperty("position","absolute"),e.style.setProperty("transform","translate(-9999px, -9999px)"),document.documentElement.appendChild(e);const i=e.scrollWidth;return e.remove(),i}(this._elementRef.nativeElement)}get element(){return this._elementRef.nativeElement}_handleResize(){setTimeout(()=>this._parent._handleLabelResized())}_subscribeToResize(){this._resizeSubscription.unsubscribe(),this._ngZone.runOutsideAngular(()=>{this._resizeSubscription=this._resizeObserver.observe(this._elementRef.nativeElement,{box:"border-box"}).subscribe(()=>this._handleResize())})}static{this.\u0275fac=function(i){return new(i||t)(N(Mn))}}static{this.\u0275dir=Et({type:t,selectors:[["label","matFormFieldFloatingLabel",""]],hostAttrs:[1,"mdc-floating-label","mat-mdc-floating-label"],hostVars:2,hostBindings:function(i,r){2&i&&sn("mdc-floating-label--float-above",r.floating)},inputs:{floating:"floating",monitorResize:"monitorResize"},standalone:!0})}}return t})();const CZ="mdc-line-ripple--active",MT="mdc-line-ripple--deactivating";let EZ=(()=>{class t{constructor(e,i){this._elementRef=e,this._handleTransitionEnd=r=>{const o=this._elementRef.nativeElement.classList,s=o.contains(MT);"opacity"===r.propertyName&&s&&o.remove(CZ,MT)},i.runOutsideAngular(()=>{e.nativeElement.addEventListener("transitionend",this._handleTransitionEnd)})}activate(){const e=this._elementRef.nativeElement.classList;e.remove(MT),e.add(CZ)}deactivate(){this._elementRef.nativeElement.classList.add(MT)}ngOnDestroy(){this._elementRef.nativeElement.removeEventListener("transitionend",this._handleTransitionEnd)}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(mn))}}static{this.\u0275dir=Et({type:t,selectors:[["div","matFormFieldLineRipple",""]],hostAttrs:[1,"mdc-line-ripple"],standalone:!0})}}return t})(),MZ=(()=>{class t{constructor(e,i){this._elementRef=e,this._ngZone=i,this.open=!1}ngAfterViewInit(){const e=this._elementRef.nativeElement.querySelector(".mdc-floating-label");e?(this._elementRef.nativeElement.classList.add("mdc-notched-outline--upgraded"),"function"==typeof requestAnimationFrame&&(e.style.transitionDuration="0s",this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>e.style.transitionDuration="")}))):this._elementRef.nativeElement.classList.add("mdc-notched-outline--no-label")}_setNotchWidth(e){this._notch.nativeElement.style.width=this.open&&e?`calc(${e}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + 9px)`:""}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(mn))}}static{this.\u0275cmp=Ze({type:t,selectors:[["div","matFormFieldNotchedOutline",""]],viewQuery:function(i,r){if(1&i&&gi(eDe,5),2&i){let o;ln(o=dn())&&(r._notch=o.first)}},hostAttrs:[1,"mdc-notched-outline"],hostVars:2,hostBindings:function(i,r){2&i&&sn("mdc-notched-outline--notched",r.open)},inputs:{open:[Ke.None,"matFormFieldNotchedOutlineOpen","open"]},standalone:!0,features:[br],attrs:tDe,ngContentSelectors:nDe,decls:5,vars:0,consts:[["notch",""],[1,"mdc-notched-outline__leading"],[1,"mdc-notched-outline__notch"],[1,"mdc-notched-outline__trailing"]],template:function(i,r){1&i&&(so(),fe(0,"div",1),T(1,"div",2,0),Rn(3),L(),fe(4,"div",3))},encapsulation:2,changeDetection:0})}}return t})();const TDe={transitionMessages:Iu("transitionMessages",[Gc("enter",Eo({opacity:1,transform:"translateY(0%)"})),Ac("void => enter",[Eo({opacity:0,transform:"translateY(-5px)"}),zc("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let a3=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t})}}return t})();const c3=new He("MatFormField"),FDe=new He("MAT_FORM_FIELD_DEFAULT_OPTIONS");let SZ=0,Dd=(()=>{class t{get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(e){this._hideRequiredMarker=Ns(e)}get floatLabel(){return this._floatLabel||this._defaults?.floatLabel||"auto"}set floatLabel(e){e!==this._floatLabel&&(this._floatLabel=e,this._changeDetectorRef.markForCheck())}get appearance(){return this._appearance}set appearance(e){const i=this._appearance;this._appearance=e||this._defaults?.appearance||"fill","outline"===this._appearance&&this._appearance!==i&&(this._needsOutlineLabelOffsetUpdateOnStable=!0)}get subscriptSizing(){return this._subscriptSizing||this._defaults?.subscriptSizing||"fixed"}set subscriptSizing(e){this._subscriptSizing=e||this._defaults?.subscriptSizing||"fixed"}get hintLabel(){return this._hintLabel}set hintLabel(e){this._hintLabel=e,this._processHints()}get _control(){return this._explicitFormFieldControl||this._formFieldControl}set _control(e){this._explicitFormFieldControl=e}constructor(e,i,r,o,s,a,c,l){this._elementRef=e,this._changeDetectorRef=i,this._ngZone=r,this._dir=o,this._platform=s,this._defaults=a,this._animationMode=c,this._hideRequiredMarker=!1,this.color="primary",this._appearance="fill",this._subscriptSizing=null,this._hintLabel="",this._hasIconPrefix=!1,this._hasTextPrefix=!1,this._hasIconSuffix=!1,this._hasTextSuffix=!1,this._labelId="mat-mdc-form-field-label-"+SZ++,this._hintLabelId="mat-mdc-hint-"+SZ++,this._subscriptAnimationState="",this._destroyed=new It,this._isFocused=null,this._needsOutlineLabelOffsetUpdateOnStable=!1,a&&(a.appearance&&(this.appearance=a.appearance),this._hideRequiredMarker=!!a?.hideRequiredMarker,a.color&&(this.color=a.color))}ngAfterViewInit(){this._updateFocusState(),this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngAfterContentInit(){this._assertFormFieldControl(),this._initializeControl(),this._initializeSubscript(),this._initializePrefixAndSuffix(),this._initializeOutlineLabelOffsetSubscriptions()}ngAfterContentChecked(){this._assertFormFieldControl()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._textField||this._elementRef}_animateAndLockLabel(){this._hasFloatingLabel()&&(this.floatLabel="always")}_initializeControl(){const e=this._control;e.controlType&&this._elementRef.nativeElement.classList.add(`mat-mdc-form-field-type-${e.controlType}`),e.stateChanges.subscribe(()=>{this._updateFocusState(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),e.ngControl&&e.ngControl.valueChanges&&e.ngControl.valueChanges.pipe(Lr(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck())}_checkPrefixAndSuffixTypes(){this._hasIconPrefix=!!this._prefixChildren.find(e=>!e._isText),this._hasTextPrefix=!!this._prefixChildren.find(e=>e._isText),this._hasIconSuffix=!!this._suffixChildren.find(e=>!e._isText),this._hasTextSuffix=!!this._suffixChildren.find(e=>e._isText)}_initializePrefixAndSuffix(){this._checkPrefixAndSuffixTypes(),pc(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._checkPrefixAndSuffixTypes(),this._changeDetectorRef.markForCheck()})}_initializeSubscript(){this._hintChildren.changes.subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._validateHints(),this._syncDescribedByIds()}_assertFormFieldControl(){}_updateFocusState(){this._control.focused&&!this._isFocused?(this._isFocused=!0,this._lineRipple?.activate()):!this._control.focused&&(this._isFocused||null===this._isFocused)&&(this._isFocused=!1,this._lineRipple?.deactivate()),this._textField?.nativeElement.classList.toggle("mdc-text-field--focused",this._control.focused)}_initializeOutlineLabelOffsetSubscriptions(){this._prefixChildren.changes.subscribe(()=>this._needsOutlineLabelOffsetUpdateOnStable=!0),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(Lr(this._destroyed)).subscribe(()=>{this._needsOutlineLabelOffsetUpdateOnStable&&(this._needsOutlineLabelOffsetUpdateOnStable=!1,this._updateOutlineLabelOffset())})}),this._dir.change.pipe(Lr(this._destroyed)).subscribe(()=>this._needsOutlineLabelOffsetUpdateOnStable=!0)}_shouldAlwaysFloat(){return"always"===this.floatLabel}_hasOutline(){return"outline"===this.appearance}_forceDisplayInfixLabel(){return!this._platform.isBrowser&&this._prefixChildren.length&&!this._shouldLabelFloat()}_hasFloatingLabel(){return!!this._labelChildNonStatic||!!this._labelChildStatic}_shouldLabelFloat(){return this._control.shouldLabelFloat||this._shouldAlwaysFloat()}_shouldForward(e){const i=this._control?this._control.ngControl:null;return i&&i[e]}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_handleLabelResized(){this._refreshOutlineNotchWidth()}_refreshOutlineNotchWidth(){this._hasOutline()&&this._floatingLabel&&this._shouldLabelFloat()?this._notchedOutline?._setNotchWidth(this._floatingLabel.getWidth()):this._notchedOutline?._setNotchWidth(0)}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_syncDescribedByIds(){if(this._control){let e=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&e.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const i=this._hintChildren?this._hintChildren.find(o=>"start"===o.align):null,r=this._hintChildren?this._hintChildren.find(o=>"end"===o.align):null;i?e.push(i.id):this._hintLabel&&e.push(this._hintLabelId),r&&e.push(r.id)}else this._errorChildren&&e.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(e)}}_updateOutlineLabelOffset(){if(!this._platform.isBrowser||!this._hasOutline()||!this._floatingLabel)return;const e=this._floatingLabel.element;if(!this._iconPrefixContainer&&!this._textPrefixContainer)return void(e.style.transform="");if(!this._isAttachedToDom())return void(this._needsOutlineLabelOffsetUpdateOnStable=!0);const i=this._iconPrefixContainer?.nativeElement,r=this._textPrefixContainer?.nativeElement,o=i?.getBoundingClientRect().width??0,s=r?.getBoundingClientRect().width??0;e.style.transform=`var(\n --mat-mdc-form-field-label-transform,\n translateY(-50%) translateX(calc(${"rtl"===this._dir.value?"-1":"1"} * (${o+s}px + var(--mat-mdc-form-field-label-offset-x, 0px))))\n )`}_isAttachedToDom(){const e=this._elementRef.nativeElement;if(e.getRootNode){const i=e.getRootNode();return i&&i!==e}return document.documentElement.contains(e)}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(ao),N(mn),N(Mu),N(Rr),N(FDe,8),N(jo,8),N(Di))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-form-field"]],contentQueries:function(i,r,o){if(1&i&&(kr(o,Id,5),kr(o,Id,7),kr(o,a3,5),kr(o,vZ,5),kr(o,SDe,5),kr(o,bZ,5),kr(o,s3,5)),2&i){let s;ln(s=dn())&&(r._labelChildNonStatic=s.first),ln(s=dn())&&(r._labelChildStatic=s.first),ln(s=dn())&&(r._formFieldControl=s.first),ln(s=dn())&&(r._prefixChildren=s),ln(s=dn())&&(r._suffixChildren=s),ln(s=dn())&&(r._errorChildren=s),ln(s=dn())&&(r._hintChildren=s)}},viewQuery:function(i,r){if(1&i&&(gi(iDe,5),gi(rDe,5),gi(oDe,5),gi(xZ,5),gi(MZ,5),gi(EZ,5)),2&i){let o;ln(o=dn())&&(r._textField=o.first),ln(o=dn())&&(r._iconPrefixContainer=o.first),ln(o=dn())&&(r._textPrefixContainer=o.first),ln(o=dn())&&(r._floatingLabel=o.first),ln(o=dn())&&(r._notchedOutline=o.first),ln(o=dn())&&(r._lineRipple=o.first)}},hostAttrs:[1,"mat-mdc-form-field"],hostVars:42,hostBindings:function(i,r){2&i&&sn("mat-mdc-form-field-label-always-float",r._shouldAlwaysFloat())("mat-mdc-form-field-has-icon-prefix",r._hasIconPrefix)("mat-mdc-form-field-has-icon-suffix",r._hasIconSuffix)("mat-form-field-invalid",r._control.errorState)("mat-form-field-disabled",r._control.disabled)("mat-form-field-autofilled",r._control.autofilled)("mat-form-field-no-animations","NoopAnimations"===r._animationMode)("mat-form-field-appearance-fill","fill"==r.appearance)("mat-form-field-appearance-outline","outline"==r.appearance)("mat-form-field-hide-placeholder",r._hasFloatingLabel()&&!r._shouldLabelFloat())("mat-focused",r._control.focused)("mat-primary","accent"!==r.color&&"warn"!==r.color)("mat-accent","accent"===r.color)("mat-warn","warn"===r.color)("ng-untouched",r._shouldForward("untouched"))("ng-touched",r._shouldForward("touched"))("ng-pristine",r._shouldForward("pristine"))("ng-dirty",r._shouldForward("dirty"))("ng-valid",r._shouldForward("valid"))("ng-invalid",r._shouldForward("invalid"))("ng-pending",r._shouldForward("pending"))},inputs:{hideRequiredMarker:"hideRequiredMarker",color:"color",floatLabel:"floatLabel",appearance:"appearance",subscriptSizing:"subscriptSizing",hintLabel:"hintLabel"},exportAs:["matFormField"],standalone:!0,features:[Zn([{provide:c3,useExisting:t},{provide:wZ,useExisting:t}]),br],ngContentSelectors:aDe,decls:18,vars:21,consts:[["labelTemplate",""],["textField",""],["iconPrefixContainer",""],["textPrefixContainer",""],[1,"mat-mdc-text-field-wrapper","mdc-text-field",3,"click"],[1,"mat-mdc-form-field-focus-overlay"],[1,"mat-mdc-form-field-flex"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen"],[1,"mat-mdc-form-field-icon-prefix"],[1,"mat-mdc-form-field-text-prefix"],[1,"mat-mdc-form-field-infix"],[3,"ngTemplateOutlet"],[1,"mat-mdc-form-field-text-suffix"],[1,"mat-mdc-form-field-icon-suffix"],["matFormFieldLineRipple",""],[1,"mat-mdc-form-field-subscript-wrapper","mat-mdc-form-field-bottom-align"],["matFormFieldFloatingLabel","",3,"floating","monitorResize","id"],["aria-hidden","true",1,"mat-mdc-form-field-required-marker","mdc-floating-label--required"],[1,"mat-mdc-form-field-error-wrapper"],[1,"mat-mdc-form-field-hint-wrapper"],[3,"id"],[1,"mat-mdc-form-field-hint-spacer"]],template:function(i,r){if(1&i){const o=Cn();so(sDe),$e(0,dDe,1,1,"ng-template",null,0,Xh),T(2,"div",4,1),De("click",function(a){return Mt(o),St(r._control.onContainerClick(a))}),$e(4,uDe,1,0,"div",5),T(5,"div",6),$e(6,mDe,2,2,"div",7)(7,pDe,3,0,"div",8)(8,ADe,3,0,"div",9),T(9,"div",10),$e(10,bDe,1,1,null,11),Rn(11),L(),$e(12,_De,2,0,"div",12)(13,vDe,2,0,"div",13),L(),$e(14,yDe,1,0,"div",14),L(),T(15,"div",15),$e(16,wDe,2,1)(17,CDe,5,2),L()}if(2&i){let o;D(2),sn("mdc-text-field--filled",!r._hasOutline())("mdc-text-field--outlined",r._hasOutline())("mdc-text-field--no-label",!r._hasFloatingLabel())("mdc-text-field--disabled",r._control.disabled)("mdc-text-field--invalid",r._control.errorState),D(2),at(4,r._hasOutline()||r._control.disabled?-1:4),D(2),at(6,r._hasOutline()?6:-1),D(),at(7,r._hasIconPrefix?7:-1),D(),at(8,r._hasTextPrefix?8:-1),D(2),at(10,!r._hasOutline()||r._forceDisplayInfixLabel()?10:-1),D(2),at(12,r._hasTextSuffix?12:-1),D(),at(13,r._hasIconSuffix?13:-1),D(),at(14,r._hasOutline()?-1:14),D(),sn("mat-mdc-form-field-subscript-dynamic-size","dynamic"===r.subscriptSizing),D(),at(16,"error"===(o=r._getDisplayedMessages())?16:"hint"===o?17:-1)}},dependencies:[xZ,MZ,M0,EZ,s3],styles:['.mdc-text-field{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:0;border-bottom-left-radius:0;display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-text-field__input{height:28px;width:100%;min-width:0;border:none;border-radius:0;background:none;appearance:none;padding:0}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input::-webkit-calendar-picker-indicator{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}@media all{.mdc-text-field__input::placeholder{opacity:0}}@media all{.mdc-text-field__input:-ms-input-placeholder{opacity:0}}@media all{.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{opacity:1}}@media all{.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{opacity:1}}.mdc-text-field__affix{height:28px;opacity:0;white-space:nowrap}.mdc-text-field--label-floating .mdc-text-field__affix,.mdc-text-field--no-label .mdc-text-field__affix{opacity:1}@supports(-webkit-hyphens: none){.mdc-text-field--outlined .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field__affix--prefix,.mdc-text-field__affix--prefix[dir=rtl]{padding-left:2px;padding-right:0}.mdc-text-field--end-aligned .mdc-text-field__affix--prefix{padding-left:0;padding-right:12px}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--end-aligned .mdc-text-field__affix--prefix[dir=rtl]{padding-left:12px;padding-right:0}.mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field__affix--suffix,.mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:12px}.mdc-text-field--end-aligned .mdc-text-field__affix--suffix{padding-left:2px;padding-right:0}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--end-aligned .mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:2px}.mdc-text-field--filled{height:56px}.mdc-text-field--filled::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-text-field--filled .mdc-floating-label{left:16px;right:initial}[dir=rtl] .mdc-text-field--filled .mdc-floating-label,.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled.mdc-text-field--no-label::before{display:none}@supports(-webkit-hyphens: none){.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field--outlined{height:56px;overflow:visible}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--outlined .mdc-text-field__input{height:100%}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px,var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px,var(--mdc-shape-small, 4px))*2)}}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}@supports(top: max(0%)){.mdc-text-field--outlined{padding-left:max(16px,calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined{padding-right:max(16px,var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-left:max(16px,calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-right:max(16px,var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-left:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-right:max(16px,var(--mdc-shape-small, 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-right:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:max(16px,var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-right:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-left:max(16px,calc(var(--mdc-shape-small, 4px) + 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-right:max(16px,calc(var(--mdc-shape-small, 4px) + 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:initial}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:rgba(0,0,0,0)}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mdc-text-field--textarea{flex-direction:column;align-items:center;width:auto;height:auto;padding:0}.mdc-text-field--textarea .mdc-floating-label{top:19px}.mdc-text-field--textarea .mdc-floating-label:not(.mdc-floating-label--float-above){transform:none}.mdc-text-field--textarea .mdc-text-field__input{flex-grow:1;height:auto;min-height:1.5rem;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;resize:none;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--filled::before{display:none}.mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-10.25px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--filled .mdc-text-field__input{margin-top:23px;margin-bottom:9px}.mdc-text-field--textarea.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-27.25px) scale(1)}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-24.75px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label{top:18px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field__input{margin-bottom:2px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter{align-self:flex-end;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::after{display:inline-block;width:0;height:16px;content:"";vertical-align:-16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::before{display:none}.mdc-text-field__resizer{align-self:stretch;display:inline-flex;flex-direction:column;flex-grow:1;max-height:100%;max-width:100%;min-height:56px;min-width:fit-content;min-width:-moz-available;min-width:-webkit-fill-available;overflow:hidden;resize:both}.mdc-text-field--filled .mdc-text-field__resizer{transform:translateY(-1px)}.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateY(1px)}.mdc-text-field--outlined .mdc-text-field__resizer{transform:translateX(-1px) translateY(-1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer,.mdc-text-field--outlined .mdc-text-field__resizer[dir=rtl]{transform:translateX(1px) translateY(-1px)}.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateX(1px) translateY(1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input[dir=rtl],.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter[dir=rtl]{transform:translateX(-1px) translateY(1px)}.mdc-text-field--with-leading-icon{padding-left:0;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon,.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:16px;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 48px);left:48px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 64px/0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) translateX(-32px) scale(1)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-37.25px) translateX(32px) scale(1)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-34.75px) translateX(32px) scale(0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--with-trailing-icon{padding-left:16px;padding-right:0}[dir=rtl] .mdc-text-field--with-trailing-icon,.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0;padding-right:16px}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 64px)}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 64px/0.75)}.mdc-text-field--with-trailing-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 96px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 96px/0.75)}.mdc-text-field-helper-line{display:flex;justify-content:space-between;box-sizing:border-box}.mdc-text-field+.mdc-text-field-helper-line{padding-right:16px;padding-left:16px}.mdc-form-field>.mdc-text-field+label{align-self:flex-start}.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--focused .mdc-notched-outline__trailing{border-width:2px}.mdc-text-field--focused+.mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg){opacity:1}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-text-field--focused.mdc-text-field--outlined.mdc-text-field--textarea .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{opacity:1}.mdc-text-field--disabled{pointer-events:none}@media screen and (forced-colors: active){.mdc-text-field--disabled .mdc-text-field__input{background-color:Window}.mdc-text-field--disabled .mdc-floating-label{z-index:1}}.mdc-text-field--disabled .mdc-floating-label{cursor:default}.mdc-text-field--disabled.mdc-text-field--filled .mdc-text-field__ripple{display:none}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--end-aligned .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--end-aligned .mdc-text-field__input[dir=rtl]{text-align:left}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix{direction:ltr}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--leading,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--leading{order:1}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{order:2}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input{order:3}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{order:4}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--trailing,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--trailing{order:5}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--prefix{padding-right:12px}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--suffix{padding-left:2px}.mdc-floating-label{position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label,.mdc-floating-label[dir=rtl]{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.mdc-floating-label--float-above{cursor:auto}.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:1px;margin-right:0px;content:"*"}[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after,.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)[dir=rtl]::after{margin-left:0;margin-right:1px}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline,.mdc-notched-outline[dir=rtl]{text-align:right}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{box-sizing:border-box;height:100%;pointer-events:none}.mdc-notched-outline__trailing{flex-grow:1}.mdc-notched-outline__notch{flex:0 0 auto;width:auto}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:133.3333333333%}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch,.mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl]{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{z-index:1}.mdc-line-ripple::after{transform:scaleX(0);opacity:0;z-index:2}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{border-top:1px solid;border-bottom:1px solid}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;width:12px}[dir=rtl] .mdc-notched-outline__leading,.mdc-notched-outline__leading[dir=rtl]{border-left:none;border-right:1px solid}.mdc-notched-outline__trailing{border-left:none;border-right:1px solid}[dir=rtl] .mdc-notched-outline__trailing,.mdc-notched-outline__trailing[dir=rtl]{border-left:1px solid;border-right:none}.mdc-notched-outline__notch{max-width:calc(100% - 12px*2)}.mdc-line-ripple::before{border-bottom-width:1px}.mdc-line-ripple::after{border-bottom-width:2px}.mdc-text-field--filled{border-top-left-radius:var(--mdc-filled-text-field-container-shape);border-top-right-radius:var(--mdc-filled-text-field-container-shape);border-bottom-right-radius:0;border-bottom-left-radius:0}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-filled-text-field-caret-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-filled-text-field-error-caret-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mdc-filled-text-field-input-text-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-text-field__input{color:var(--mdc-filled-text-field-disabled-input-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label,.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label,.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-focus-label-text-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label,.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-hover-label-text-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label,.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-disabled-label-text-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label,.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-error-label-text-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label,.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-error-focus-label-text-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label,.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label--float-above{color:var(--mdc-filled-text-field-error-hover-label-text-color)}.mdc-text-field--filled .mdc-floating-label{font-family:var(--mdc-filled-text-field-label-text-font);font-size:var(--mdc-filled-text-field-label-text-size);font-weight:var(--mdc-filled-text-field-label-text-weight);letter-spacing:var(--mdc-filled-text-field-label-text-tracking)}@media all{.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}}@media all{.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mdc-filled-text-field-input-text-placeholder-color)}}.mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--mdc-filled-text-field-container-color)}.mdc-text-field--filled.mdc-text-field--disabled{background-color:var(--mdc-filled-text-field-disabled-container-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-active-indicator-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-hover-active-indicator-color)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mdc-filled-text-field-focus-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-disabled-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-error-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mdc-filled-text-field-error-hover-active-indicator-color)}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mdc-filled-text-field-error-focus-active-indicator-color)}.mdc-text-field--filled .mdc-line-ripple::before{border-bottom-width:var(--mdc-filled-text-field-active-indicator-height)}.mdc-text-field--filled .mdc-line-ripple::after{border-bottom-width:var(--mdc-filled-text-field-focus-active-indicator-height)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-outlined-text-field-caret-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mdc-outlined-text-field-error-caret-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mdc-outlined-text-field-input-text-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--mdc-outlined-text-field-disabled-input-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-focus-label-text-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-hover-label-text-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label,.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-disabled-label-text-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-error-label-text-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-error-focus-label-text-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label--float-above{color:var(--mdc-outlined-text-field-error-hover-label-text-color)}.mdc-text-field--outlined .mdc-floating-label{font-family:var(--mdc-outlined-text-field-label-text-font);font-size:var(--mdc-outlined-text-field-label-text-size);font-weight:var(--mdc-outlined-text-field-label-text-weight);letter-spacing:var(--mdc-outlined-text-field-label-text-tracking)}@media all{.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}}@media all{.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mdc-outlined-text-field-input-text-placeholder-color)}}.mdc-text-field--outlined.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(.75*var(--mdc-outlined-text-field-label-text-size))}.mdc-text-field--outlined.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:var(--mdc-outlined-text-field-label-text-size)}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-top-left-radius:var(--mdc-outlined-text-field-container-shape);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--mdc-outlined-text-field-container-shape)}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-top-left-radius:0;border-top-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-left-radius:0}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px,var(--mdc-outlined-text-field-container-shape))}}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px,var(--mdc-outlined-text-field-container-shape))*2)}}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-left-radius:0;border-top-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-right-radius:var(--mdc-outlined-text-field-container-shape);border-bottom-left-radius:0}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-top-left-radius:var(--mdc-outlined-text-field-container-shape);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--mdc-outlined-text-field-container-shape)}@supports(top: max(0%)){.mdc-text-field--outlined{padding-left:max(16px,calc(var(--mdc-outlined-text-field-container-shape) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined{padding-right:max(16px,var(--mdc-outlined-text-field-container-shape))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-left:max(16px,calc(var(--mdc-outlined-text-field-container-shape) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-right:max(16px,var(--mdc-outlined-text-field-container-shape))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-left:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-right:max(16px,var(--mdc-outlined-text-field-container-shape))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-right:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:max(16px,var(--mdc-outlined-text-field-container-shape))}}.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-right:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-left:max(16px,calc(var(--mdc-outlined-text-field-container-shape) + 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-right:max(16px,calc(var(--mdc-outlined-text-field-container-shape) + 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-hover-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-focus-outline-color)}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--disabled .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-disabled-outline-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-error-outline-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-error-hover-outline-color)}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:var(--mdc-outlined-text-field-error-focus-outline-color)}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline .mdc-notched-outline__trailing{border-width:var(--mdc-outlined-text-field-outline-width)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:var(--mdc-outlined-text-field-focus-outline-width)}.mat-mdc-form-field-textarea-control{vertical-align:middle;resize:vertical;box-sizing:border-box;height:auto;margin:0;padding:0;border:none;overflow:auto}.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font:inherit;letter-spacing:inherit;text-decoration:inherit;text-transform:inherit;border:none}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;line-height:normal;pointer-events:all;will-change:auto}.mat-mdc-form-field:not(.mat-form-field-disabled) .mat-mdc-floating-label.mdc-floating-label{cursor:inherit}.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:auto}.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color]{height:23px}.mat-mdc-text-field-wrapper{height:auto;flex:auto;will-change:auto}.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-left:0;--mat-mdc-form-field-label-offset-x: -16px}.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-right:0}[dir=rtl] .mat-mdc-text-field-wrapper{padding-left:16px;padding-right:16px}[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-left:0}[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-right:0}.mat-form-field-disabled .mdc-text-field__input::placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-form-field-disabled .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color)}.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label{left:auto;right:auto}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input{display:inline-block}.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch{padding-top:0}.mat-mdc-text-field-wrapper::before{content:none}.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:1px solid rgba(0,0,0,0)}[dir=rtl] .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:none;border-right:1px solid rgba(0,0,0,0)}.mat-mdc-form-field-infix{min-height:var(--mat-form-field-container-height);padding-top:var(--mat-form-field-filled-with-label-container-padding-top);padding-bottom:var(--mat-form-field-filled-with-label-container-padding-bottom)}.mdc-text-field--outlined .mat-mdc-form-field-infix,.mdc-text-field--no-label .mat-mdc-form-field-infix{padding-top:var(--mat-form-field-container-vertical-padding);padding-bottom:var(--mat-form-field-container-vertical-padding)}.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:calc(var(--mat-form-field-container-height)/2)}.mdc-text-field--filled .mat-mdc-floating-label{display:var(--mat-form-field-filled-label-display, block)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + var(--mat-form-field-container-height) / 2) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));transform:var(--mat-mdc-form-field-label-transform)}.mat-mdc-form-field-subscript-wrapper{box-sizing:border-box;width:100%;position:relative}.mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-error-wrapper{position:absolute;top:0;left:0;right:0;padding:0 16px}.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field-bottom-align::before{content:"";display:inline-block;height:16px}.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before{content:unset}.mat-mdc-form-field-hint-end{order:1}.mat-mdc-form-field-hint-wrapper{display:flex}.mat-mdc-form-field-hint-spacer{flex:1 0 1em}.mat-mdc-form-field-error{display:block;color:var(--mat-form-field-error-text-color)}.mat-mdc-form-field-subscript-wrapper,.mat-mdc-form-field-bottom-align::before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-subscript-text-font);line-height:var(--mat-form-field-subscript-text-line-height);font-size:var(--mat-form-field-subscript-text-size);letter-spacing:var(--mat-form-field-subscript-text-tracking);font-weight:var(--mat-form-field-subscript-text-weight)}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none;background-color:var(--mat-form-field-state-layer-color)}.mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-hover-state-layer-opacity)}.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-focus-state-layer-opacity)}select.mat-mdc-form-field-input-control{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,0);display:inline-flex;box-sizing:border-box}select.mat-mdc-form-field-input-control:not(:disabled){cursor:pointer}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option{color:var(--mat-form-field-select-option-text-color)}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option:disabled{color:var(--mat-form-field-select-disabled-option-text-color)}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{content:"";width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;position:absolute;right:0;top:50%;margin-top:-2.5px;pointer-events:none;color:var(--mat-form-field-enabled-select-arrow-color)}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{right:auto;left:0}.mat-mdc-form-field-type-mat-native-select.mat-focused .mat-mdc-form-field-infix::after{color:var(--mat-form-field-focus-select-arrow-color)}.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix::after{color:var(--mat-form-field-disabled-select-arrow-color)}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:15px}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:0;padding-left:15px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-mdc-text-field-wrapper{outline:solid 1px}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper{outline-color:GrayText}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper{outline:dashed 3px}.cdk-high-contrast-active .mat-mdc-form-field.mat-focused .mdc-notched-outline{border:dashed 3px}.mat-mdc-form-field-input-control[type=date],.mat-mdc-form-field-input-control[type=datetime],.mat-mdc-form-field-input-control[type=datetime-local],.mat-mdc-form-field-input-control[type=month],.mat-mdc-form-field-input-control[type=week],.mat-mdc-form-field-input-control[type=time]{line-height:1}.mat-mdc-form-field-input-control::-webkit-datetime-edit{line-height:1;padding:0;margin-bottom:-2px}.mat-mdc-form-field{--mat-mdc-form-field-floating-label-scale: 0.75;display:inline-flex;flex-direction:column;min-width:0;text-align:left;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-container-text-font);line-height:var(--mat-form-field-container-text-line-height);font-size:var(--mat-form-field-container-text-size);letter-spacing:var(--mat-form-field-container-text-tracking);font-weight:var(--mat-form-field-container-text-weight)}[dir=rtl] .mat-mdc-form-field{text-align:right}.mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(var(--mat-form-field-outlined-label-text-populated-size)*var(--mat-mdc-form-field-floating-label-scale))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:var(--mat-form-field-outlined-label-text-populated-size)}.mat-mdc-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-mdc-text-field-wrapper{width:100%;z-index:0}.mat-mdc-form-field-icon-prefix,.mat-mdc-form-field-icon-suffix{align-self:center;line-height:0;pointer-events:auto;position:relative;z-index:1}.mat-mdc-form-field-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px;box-sizing:content-box}.mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-leading-icon-color)}.mat-form-field-disabled .mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-disabled-leading-icon-color)}.mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-trailing-icon-color)}.mat-form-field-disabled .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-disabled-trailing-icon-color)}.mat-form-field-invalid .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-trailing-icon-color)}.mat-form-field-invalid:not(.mat-focused):not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-hover-trailing-icon-color)}.mat-form-field-invalid.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-focus-trailing-icon-color)}.mat-mdc-form-field-icon-prefix,[dir=rtl] .mat-mdc-form-field-icon-suffix{padding:0 4px 0 0}.mat-mdc-form-field-icon-suffix,[dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 0 0 4px}.mat-mdc-form-field-subscript-wrapper .mat-icon,.mat-mdc-form-field label .mat-icon{width:1em;height:1em;font-size:inherit}.mat-mdc-form-field-infix{flex:auto;min-width:0;width:180px;position:relative;box-sizing:border-box}.mat-mdc-form-field .mdc-notched-outline__notch{margin-left:-1px;-webkit-clip-path:inset(-9em -999em -9em 1px);clip-path:inset(-9em -999em -9em 1px)}[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch{margin-left:0;margin-right:-1px;-webkit-clip-path:inset(-9em 1px -9em -999em);clip-path:inset(-9em 1px -9em -999em)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input{transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}@media all{.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}}@media all{.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}}@media all{.mdc-text-field--no-label .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder,.mdc-text-field--focused .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms}}@media all{.mdc-text-field--no-label .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition-delay:40ms;transition-duration:110ms}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__affix{transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled.mdc-ripple-upgraded--background-focused .mdc-text-field__ripple::before,.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea{transition:none}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-filled 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-filled{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-outlined{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon{0%{transform:translateX(calc(0% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}}[dir=rtl] .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake,.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl{0%{transform:translateX(calc(0% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-floating-label{transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-standard 250ms 1}@keyframes mdc-floating-label-shake-float-above-standard{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-notched-outline .mdc-floating-label{max-width:calc(100% + 1px)}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(133.3333333333% + 1px)}'],encapsulation:2,data:{animation:[TDe.transitionMessages]},changeDetection:0})}}return t})(),Ex=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nr,nn,wL,nr]})}}return t})();const DDe=["*",[["mat-toolbar-row"]]],RDe=["*","mat-toolbar-row"];let LDe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"],standalone:!0})}}return t})(),Jb=(()=>{class t{constructor(e,i,r){this._elementRef=e,this._platform=i,this._document=r}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(Rr),N(Di))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-toolbar"]],contentQueries:function(i,r,o){if(1&i&&kr(o,LDe,5),2&i){let s;ln(s=dn())&&(r._toolbarRows=s)}},hostAttrs:[1,"mat-toolbar"],hostVars:6,hostBindings:function(i,r){2&i&&(ll(r.color?"mat-"+r.color:""),sn("mat-toolbar-multiple-rows",r._toolbarRows.length>0)("mat-toolbar-single-row",0===r._toolbarRows.length))},inputs:{color:"color"},exportAs:["matToolbar"],standalone:!0,features:[br],ngContentSelectors:RDe,decls:2,vars:0,template:function(i,r){1&i&&(so(DDe),Rn(0),Rn(1,1))},styles:[".mat-toolbar{background:var(--mat-toolbar-container-background-color);color:var(--mat-toolbar-container-text-color)}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font-family:var(--mat-toolbar-title-text-font);font-size:var(--mat-toolbar-title-text-size);line-height:var(--mat-toolbar-title-text-line-height);font-weight:var(--mat-toolbar-title-text-weight);letter-spacing:var(--mat-toolbar-title-text-tracking);margin:0}.cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar .mat-mdc-button-base.mat-mdc-button-base.mat-unthemed{--mdc-text-button-label-text-color:var(--mat-toolbar-container-text-color);--mdc-outlined-button-label-text-color:var(--mat-toolbar-container-text-color)}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap;height:var(--mat-toolbar-standard-height)}@media(max-width: 599px){.mat-toolbar-row,.mat-toolbar-single-row{height:var(--mat-toolbar-mobile-height)}}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%;min-height:var(--mat-toolbar-standard-height)}@media(max-width: 599px){.mat-toolbar-multiple-rows{min-height:var(--mat-toolbar-mobile-height)}}"],encapsulation:2,changeDetection:0})}}return t})(),FZ=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nr,nr]})}}return t})();const BZ=Jm({passive:!0});let PDe=(()=>{class t{constructor(e,i){this._platform=e,this._ngZone=i,this._monitoredElements=new Map}monitor(e){if(!this._platform.isBrowser)return Dg;const i=Eu(e),r=this._monitoredElements.get(i);if(r)return r.subject;const o=new It,s="cdk-text-field-autofilled",a=c=>{"cdk-text-field-autofill-start"!==c.animationName||i.classList.contains(s)?"cdk-text-field-autofill-end"===c.animationName&&i.classList.contains(s)&&(i.classList.remove(s),this._ngZone.run(()=>o.next({target:c.target,isAutofilled:!1}))):(i.classList.add(s),this._ngZone.run(()=>o.next({target:c.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",a,BZ),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:o,unlisten:()=>{i.removeEventListener("animationstart",a,BZ)}}),o}stopMonitoring(e){const i=Eu(e),r=this._monitoredElements.get(i);r&&(r.unlisten(),r.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((e,i)=>this.stopMonitoring(i))}static{this.\u0275fac=function(i){return new(i||t)(ee(Rr),ee(mn))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),IZ=(()=>{class t{get minRows(){return this._minRows}set minRows(e){this._minRows=hf(e),this._setMinHeight()}get maxRows(){return this._maxRows}set maxRows(e){this._maxRows=hf(e),this._setMaxHeight()}get enabled(){return this._enabled}set enabled(e){this._enabled!==e&&((this._enabled=e)?this.resizeToFitContent(!0):this.reset())}get placeholder(){return this._textareaElement.placeholder}set placeholder(e){this._cachedPlaceholderHeight=void 0,e?this._textareaElement.setAttribute("placeholder",e):this._textareaElement.removeAttribute("placeholder"),this._cacheTextareaPlaceholderHeight()}constructor(e,i,r,o){this._elementRef=e,this._platform=i,this._ngZone=r,this._destroyed=new It,this._enabled=!0,this._previousMinRows=-1,this._isViewInited=!1,this._handleFocusEvent=s=>{this._hasFocus="focus"===s.type},this._document=o,this._textareaElement=this._elementRef.nativeElement}_setMinHeight(){const e=this.minRows&&this._cachedLineHeight?this.minRows*this._cachedLineHeight+"px":null;e&&(this._textareaElement.style.minHeight=e)}_setMaxHeight(){const e=this.maxRows&&this._cachedLineHeight?this.maxRows*this._cachedLineHeight+"px":null;e&&(this._textareaElement.style.maxHeight=e)}ngAfterViewInit(){this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(()=>{Vg(this._getWindow(),"resize").pipe(hL(16),Lr(this._destroyed)).subscribe(()=>this.resizeToFitContent(!0)),this._textareaElement.addEventListener("focus",this._handleFocusEvent),this._textareaElement.addEventListener("blur",this._handleFocusEvent)}),this._isViewInited=!0,this.resizeToFitContent(!0))}ngOnDestroy(){this._textareaElement.removeEventListener("focus",this._handleFocusEvent),this._textareaElement.removeEventListener("blur",this._handleFocusEvent),this._destroyed.next(),this._destroyed.complete()}_cacheTextareaLineHeight(){if(this._cachedLineHeight)return;let e=this._textareaElement.cloneNode(!1);e.rows=1,e.style.position="absolute",e.style.visibility="hidden",e.style.border="none",e.style.padding="0",e.style.height="",e.style.minHeight="",e.style.maxHeight="",e.style.overflow="hidden",this._textareaElement.parentNode.appendChild(e),this._cachedLineHeight=e.clientHeight,e.remove(),this._setMinHeight(),this._setMaxHeight()}_measureScrollHeight(){const e=this._textareaElement,i=e.style.marginBottom||"",r=this._platform.FIREFOX,o=r&&this._hasFocus,s=r?"cdk-textarea-autosize-measuring-firefox":"cdk-textarea-autosize-measuring";o&&(e.style.marginBottom=`${e.clientHeight}px`),e.classList.add(s);const a=e.scrollHeight-4;return e.classList.remove(s),o&&(e.style.marginBottom=i),a}_cacheTextareaPlaceholderHeight(){if(!this._isViewInited||null!=this._cachedPlaceholderHeight)return;if(!this.placeholder)return void(this._cachedPlaceholderHeight=0);const e=this._textareaElement.value;this._textareaElement.value=this._textareaElement.placeholder,this._cachedPlaceholderHeight=this._measureScrollHeight(),this._textareaElement.value=e}ngDoCheck(){this._platform.isBrowser&&this.resizeToFitContent()}resizeToFitContent(e=!1){if(!this._enabled||(this._cacheTextareaLineHeight(),this._cacheTextareaPlaceholderHeight(),!this._cachedLineHeight))return;const i=this._elementRef.nativeElement,r=i.value;if(!e&&this._minRows===this._previousMinRows&&r===this._previousValue)return;const o=this._measureScrollHeight(),s=Math.max(o,this._cachedPlaceholderHeight||0);i.style.height=`${s}px`,this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>this._scrollToCaretPosition(i)):setTimeout(()=>this._scrollToCaretPosition(i))}),this._previousValue=r,this._previousMinRows=this._minRows}reset(){void 0!==this._initialHeight&&(this._textareaElement.style.height=this._initialHeight)}_noopInputHandler(){}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_scrollToCaretPosition(e){const{selectionStart:i,selectionEnd:r}=e;!this._destroyed.isStopped&&this._hasFocus&&e.setSelectionRange(i,r)}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(Rr),N(mn),N(Di,8))}}static{this.\u0275dir=Et({type:t,selectors:[["textarea","cdkTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize"],hostBindings:function(i,r){1&i&&De("input",function(){return r._noopInputHandler()})},inputs:{minRows:[Ke.None,"cdkAutosizeMinRows","minRows"],maxRows:[Ke.None,"cdkAutosizeMaxRows","maxRows"],enabled:[Ke.HasDecoratorInputTransform,"cdkTextareaAutosize","enabled",Nn],placeholder:"placeholder"},exportAs:["cdkTextareaAutosize"],standalone:!0,features:[Ro]})}}return t})(),ODe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})();const NDe=new He("MAT_INPUT_VALUE_ACCESSOR"),UDe=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let HDe=0,Gp=(()=>{class t{get disabled(){return this._disabled}set disabled(e){this._disabled=Ns(e),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(e){this._id=e||this._uid}get required(){return this._required??this.ngControl?.control?.hasValidator(O2.required)??!1}set required(e){this._required=Ns(e)}get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&NW().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}get value(){return this._inputValueAccessor.value}set value(e){e!==this.value&&(this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=Ns(e)}get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}constructor(e,i,r,o,s,a,c,l,d,u){this._elementRef=e,this._platform=i,this.ngControl=r,this._autofillMonitor=l,this._formField=u,this._uid="mat-input-"+HDe++,this.focused=!1,this.stateChanges=new It,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(b=>NW().has(b)),this._iOSKeyupListener=b=>{const y=b.target;!y.value&&0===y.selectionStart&&0===y.selectionEnd&&(y.setSelectionRange(1,1),y.setSelectionRange(0,0))};const h=this._elementRef.nativeElement,f=h.nodeName.toLowerCase();this._inputValueAccessor=c||h,this._previousNativeValue=this.value,this.id=this.id,i.IOS&&d.runOutsideAngular(()=>{e.nativeElement.addEventListener("keyup",this._iOSKeyupListener)}),this._errorStateTracker=new LL(a,r,s,o,this.stateChanges),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===f,this._isTextarea="textarea"===f,this._isInFormField=!!u,this._isNativeSelect&&(this.controlType=h.multiple?"mat-native-select-multiple":"mat-native-select")}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._platform.IOS&&this._elementRef.nativeElement.removeEventListener("keyup",this._iOSKeyupListener)}ngDoCheck(){this.ngControl&&(this.updateErrorState(),null!==this.ngControl.disabled&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl.disabled,this.stateChanges.next())),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(e){this._elementRef.nativeElement.focus(e)}updateErrorState(){this._errorStateTracker.updateErrorState()}_focusChanged(e){e!==this.focused&&(this.focused=e,this.stateChanges.next())}_onInput(){}_dirtyCheckNativeValue(){const e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}_dirtyCheckPlaceholder(){const e=this._getPlaceholder();if(e!==this._previousPlaceholder){const i=this._elementRef.nativeElement;this._previousPlaceholder=e,e?i.setAttribute("placeholder",e):i.removeAttribute("placeholder")}}_getPlaceholder(){return this.placeholder||null}_validateType(){UDe.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let e=this._elementRef.nativeElement.validity;return e&&e.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const e=this._elementRef.nativeElement,i=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){const e=this._elementRef.nativeElement;return this._isNativeSelect&&(e.multiple||e.size>1)}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(Rr),N(sd,10),N(Q0,8),N(G0,8),N(v$),N(NDe,10),N(PDe),N(mn),N(c3,8))}}static{this.\u0275dir=Et({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-mdc-input-element"],hostVars:18,hostBindings:function(i,r){1&i&&De("focus",function(){return r._focusChanged(!0)})("blur",function(){return r._focusChanged(!1)})("input",function(){return r._onInput()}),2&i&&(rd("id",r.id)("disabled",r.disabled)("required",r.required),ni("name",r.name||null)("readonly",r.readonly&&!r._isNativeSelect||null)("aria-invalid",r.empty&&r.required?null:r.errorState)("aria-required",r.required)("id",r.id),sn("mat-input-server",r._isServer)("mat-mdc-form-field-textarea-control",r._isInFormField&&r._isTextarea)("mat-mdc-form-field-input-control",r._isInFormField)("mdc-text-field__input",r._isInFormField)("mat-mdc-native-select-inline",r._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:[Ke.None,"aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly"},exportAs:["matInput"],standalone:!0,features:[Zn([{provide:a3,useExisting:t}]),ar]})}}return t})(),l3=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nr,Ex,Ex,ODe,nr]})}}return t})();const VDe=["switch"],QDe=["*"];function zDe(t,n){1&t&&(T(0,"div",10),ac(),T(1,"svg",12),fe(2,"path",13),L(),T(3,"svg",14),fe(4,"path",15),L()())}const GDe=new He("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1})}),WDe={provide:xs,useExisting:di(()=>Mx),multi:!0};class DZ{constructor(n,e){this.source=n,this.checked=e}}let $De=0,Mx=(()=>{class t{_createChangeEvent(e){return new DZ(this,e)}get buttonId(){return`${this.id||this._uniqueId}-button`}focus(){this._switchElement.nativeElement.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}constructor(e,i,r,o,s,a){this._elementRef=e,this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=s,this._onChange=c=>{},this._onTouched=()=>{},this._validatorOnChange=()=>{},this._checked=!1,this.name=null,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.disabled=!1,this.disableRipple=!1,this.tabIndex=0,this.change=new vn,this.toggleChange=new vn,this.tabIndex=parseInt(o)||0,this.color=s.color||"accent",this._noopAnimations="NoopAnimations"===a,this.id=this._uniqueId="mat-mdc-slide-toggle-"+ ++$De,this.hideIcon=s.hideIcon??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{"keyboard"===e||"program"===e?(this._focused=!0,this._changeDetectorRef.markForCheck()):e||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(e){e.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(e){this.checked=!!e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}validate(e){return this.required&&!0!==e.value?{required:!0}:null}registerOnValidatorChange(e){this._validatorOnChange=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new DZ(this,this.checked)))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(ku),N(ao),Oc("tabindex"),N(GDe),N(jo,8))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-slide-toggle"]],viewQuery:function(i,r){if(1&i&&gi(VDe,5),2&i){let o;ln(o=dn())&&(r._switchElement=o.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(i,r){2&i&&(rd("id",r.id),ni("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),ll(r.color?"mat-"+r.color:""),sn("mat-mdc-slide-toggle-focused",r._focused)("mat-mdc-slide-toggle-checked",r.checked)("_mat-animation-noopable",r._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[Ke.None,"aria-label","ariaLabel"],ariaLabelledby:[Ke.None,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[Ke.None,"aria-describedby","ariaDescribedby"],required:[Ke.HasDecoratorInputTransform,"required","required",Nn],color:"color",disabled:[Ke.HasDecoratorInputTransform,"disabled","disabled",Nn],disableRipple:[Ke.HasDecoratorInputTransform,"disableRipple","disableRipple",Nn],tabIndex:[Ke.HasDecoratorInputTransform,"tabIndex","tabIndex",e=>null==e?0:qs(e)],checked:[Ke.HasDecoratorInputTransform,"checked","checked",Nn],hideIcon:[Ke.HasDecoratorInputTransform,"hideIcon","hideIcon",Nn]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],standalone:!0,features:[Zn([WDe,{provide:Yo,useExisting:t,multi:!0}]),Ro,ar,br],ngContentSelectors:QDe,decls:13,vars:24,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(i,r){if(1&i){const o=Cn();so(),T(0,"div",1)(1,"button",2,0),De("click",function(){return Mt(o),St(r._handleClick())}),fe(3,"div",3),T(4,"div",4)(5,"div",5)(6,"div",6),fe(7,"div",7),L(),T(8,"div",8),fe(9,"div",9),L(),$e(10,zDe,5,0,"div",10),L()()(),T(11,"label",11),De("click",function(a){return Mt(o),St(a.stopPropagation())}),Rn(12),L()()}if(2&i){const o=xo(2);le("labelPosition",r.labelPosition),D(),sn("mdc-switch--selected",r.checked)("mdc-switch--unselected",!r.checked)("mdc-switch--checked",r.checked)("mdc-switch--disabled",r.disabled),le("tabIndex",r.disabled?-1:r.tabIndex)("disabled",r.disabled),ni("id",r.buttonId)("name",r.name)("aria-label",r.ariaLabel)("aria-labelledby",r._getAriaLabelledBy())("aria-describedby",r.ariaDescribedby)("aria-required",r.required||null)("aria-checked",r.checked),D(8),le("matRippleTrigger",o)("matRippleDisabled",r.disableRipple||r.disabled)("matRippleCentered",!0),D(),at(10,r.hideIcon?-1:10),D(),le("for",r.buttonId),ni("id",r._labelId)}},dependencies:[Tu,R$],styles:['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--mdc-elevation-overlay-color)}.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative}.mdc-switch[hidden]{display:none}.mdc-switch:disabled{cursor:default;pointer-events:none}.mdc-switch__track{overflow:hidden;position:relative;width:100%}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%}@media screen and (forced-colors: active){.mdc-switch__track::before,.mdc-switch__track::after{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(-100%)}[dir=rtl] .mdc-switch__track::after,.mdc-switch__track[dir=rtl]::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track[dir=rtl]::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0)}[dir=rtl] .mdc-switch__handle-track,.mdc-switch__handle-track[dir=rtl]{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track,.mdc-switch--selected .mdc-switch__handle-track[dir=rtl]{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto}[dir=rtl] .mdc-switch__handle,.mdc-switch__handle[dir=rtl]{left:auto;right:0}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media screen and (forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-elevation-overlay{bottom:0;left:0;right:0;top:0}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1}.mdc-switch:disabled .mdc-switch__ripple{display:none}.mdc-switch__icons{height:100%;position:relative;width:100%;z-index:1}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mdc-switch-disabled-label-text-color)}.mdc-switch{width:var(--mdc-switch-track-width)}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-selected-handle-color)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-hover-handle-color)}.mdc-switch.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-focus-handle-color)}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-selected-pressed-handle-color)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-selected-handle-color)}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-unselected-handle-color)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-hover-handle-color)}.mdc-switch.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-focus-handle-color)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-unselected-pressed-handle-color)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-unselected-handle-color)}.mdc-switch .mdc-switch__handle::before{background:var(--mdc-switch-handle-surface-color)}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-handle-elevation)}.mdc-switch:disabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-disabled-handle-elevation)}.mdc-switch .mdc-switch__focus-ring-wrapper,.mdc-switch .mdc-switch__handle{height:var(--mdc-switch-handle-height)}.mdc-switch .mdc-switch__handle{border-radius:var(--mdc-switch-handle-shape)}.mdc-switch .mdc-switch__handle{width:var(--mdc-switch-handle-width)}.mdc-switch .mdc-switch__handle-track{width:calc(100% - var(--mdc-switch-handle-width))}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__icon{fill:var(--mdc-switch-selected-icon-color)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-selected-icon-color)}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__icon{fill:var(--mdc-switch-unselected-icon-color)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-unselected-icon-color)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-selected-icon-opacity)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-unselected-icon-opacity)}.mdc-switch.mdc-switch--selected .mdc-switch__icon{width:var(--mdc-switch-selected-icon-size);height:var(--mdc-switch-selected-icon-size)}.mdc-switch.mdc-switch--unselected .mdc-switch__icon{width:var(--mdc-switch-unselected-icon-size);height:var(--mdc-switch-unselected-icon-size)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-hover-state-layer-color)}.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-focus-state-layer-color)}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-pressed-state-layer-color)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-hover-state-layer-color)}.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-focus-state-layer-color)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-pressed-state-layer-color)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:var(--mdc-switch-selected-hover-state-layer-opacity)}.mdc-switch.mdc-switch--selected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:var(--mdc-switch-selected-focus-state-layer-opacity)}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:var(--mdc-switch-selected-pressed-state-layer-opacity)}.mdc-switch.mdc-switch--selected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-selected-pressed-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:var(--mdc-switch-unselected-hover-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:var(--mdc-switch-unselected-focus-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity)}.mdc-switch .mdc-switch__ripple{height:var(--mdc-switch-state-layer-size);width:var(--mdc-switch-state-layer-size)}.mdc-switch .mdc-switch__track{height:var(--mdc-switch-track-height)}.mdc-switch:disabled .mdc-switch__track{opacity:var(--mdc-switch-disabled-track-opacity)}.mdc-switch:enabled .mdc-switch__track::after{background:var(--mdc-switch-selected-track-color)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-hover-track-color)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-focus-track-color)}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mdc-switch-selected-pressed-track-color)}.mdc-switch:disabled .mdc-switch__track::after{background:var(--mdc-switch-disabled-selected-track-color)}.mdc-switch:enabled .mdc-switch__track::before{background:var(--mdc-switch-unselected-track-color)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-hover-track-color)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-focus-track-color)}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mdc-switch-unselected-pressed-track-color)}.mdc-switch:disabled .mdc-switch__track::before{background:var(--mdc-switch-disabled-unselected-track-color)}.mdc-switch .mdc-switch__track{border-radius:var(--mdc-switch-track-shape)}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-handle-elevation-shadow)}.mdc-switch:disabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-disabled-handle-elevation-shadow)}.mat-mdc-slide-toggle{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle .mdc-switch__ripple::after{content:"";opacity:0}.mat-mdc-slide-toggle .mdc-switch:hover .mdc-switch__ripple::after{opacity:.04;transition:opacity 75ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mdc-switch .mdc-switch__ripple::after{opacity:.12}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-mdc-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-mdc-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-elevation-overlay,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mdc-switch__handle{transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-switch-hidden-track-opacity);transition:var(--mat-switch-hidden-track-transition)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-switch-visible-track-opacity);transition:var(--mat-switch-visible-track-transition)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-switch-visible-track-opacity);transition:var(--mat-switch-visible-track-transition)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-switch-hidden-track-opacity);transition:var(--mat-switch-hidden-track-transition)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-switch-unselected-handle-size);height:var(--mat-switch-unselected-handle-size)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-switch-selected-handle-size);height:var(--mat-switch-selected-handle-size)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-switch-with-icon-handle-size);height:var(--mat-switch-with-icon-handle-size)}.mat-mdc-slide-toggle:active .mdc-switch:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-switch-pressed-handle-size);height:var(--mat-switch-pressed-handle-size)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{margin:var(--mat-switch-selected-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-selected-with-icon-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{margin:var(--mat-switch-unselected-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-unselected-with-icon-handle-horizontal-margin)}.mat-mdc-slide-toggle:active .mdc-switch--selected:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-selected-pressed-handle-horizontal-margin)}.mat-mdc-slide-toggle:active .mdc-switch--unselected:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-unselected-pressed-handle-horizontal-margin)}.mdc-switch__track::after,.mdc-switch__track::before{border-width:var(--mat-switch-track-outline-width);border-color:var(--mat-switch-track-outline-color)}.mdc-switch--selected .mdc-switch__track::after,.mdc-switch--selected .mdc-switch__track::before{border-width:var(--mat-switch-selected-track-outline-width)}.mdc-switch--disabled .mdc-switch__track::after,.mdc-switch--disabled .mdc-switch__track::before{border-width:var(--mat-switch-disabled-unselected-track-outline-width);border-color:var(--mat-switch-disabled-unselected-track-outline-color)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-selected-handle-opacity)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-unselected-handle-opacity)}'],encapsulation:2,changeDetection:0})}}return t})(),RZ=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[Mx,nr,nr]})}}return t})();function XDe(t,n){if(1&t&&(T(0,"mat-error"),ge(1),L()),2&t){const e=Se();D(),gr(e.scenarioName.getError("Error"))}}function YDe(t,n){if(1&t){const e=Cn();T(0,"mat-slide-toggle",8),De("change",function(){const r=Mt(e).$implicit;return St(Se().handleScenarioMetricPropertySelectionChange(r))}),ge(1),L()}if(2&t){const e=n.$implicit;le("checked",e.isSelected),D(),qt(" ",e.metricName?e.metricType+" ("+e.metricName+")":e.metricType," ")}}function qDe(t,n){1&t&&(T(0,"mat-error"),ge(1,"You cannot create an empty Scenario"),L())}let ZDe=(()=>{class t{constructor(e,i,r){this.state=e,this.scenarioName=new t9("",[t=>0===t.value.length?{Error:"Scenario name is required"}:Ju.isScenarioExisting(t.value)?{Error:"A Scenario with this name already exists"}:null]),this.scenarioNameErrorField="Scenario name is required",this.areAnyScenarioMetricPropertiesSelected=!0,this.scenarioContent=((t,n)=>{const{dynamicSettings:e,appSettings:i,fileSettings:r}=t,o=[{metricType:"Camera-Position",metricName:"",savedValues:{...n},isSelected:!0,isDisabled:!1},{metricType:"Area-Metric",metricName:e.areaMetric,savedValues:e.margin,isSelected:!0,isDisabled:!1},{metricType:"Height-Metric",metricName:e.heightMetric,savedValues:{heightSlider:i.scaling,labelSlider:i.amountOfTopLabels},isSelected:!0,isDisabled:!1},{metricType:"Color-Metric",metricName:e.colorMetric,savedValues:{colorRange:e.colorRange,mapColors:i.mapColors},isSelected:!0,isDisabled:!1}];return r.edges.length>0&&o.push({metricType:"Edge-Metric",metricName:e.edgeMetric,savedValues:{edgePreview:i.amountOfEdgePreviews,edgeHeight:i.edgeHeight},isSelected:!0,isDisabled:!1}),o})(this.state.getValue(),{camera:i.camera.position,cameraTarget:r.controls.target})}handleScenarioMetricPropertySelectionChange(e){e.isSelected=!e.isSelected,this.areAnyScenarioMetricPropertiesSelected=this.scenarioContent.some(i=>i.isSelected)}addCustomScenario(){Ju.addScenario(this.scenarioName.value,this.scenarioContent)}static{this.\u0275fac=function(i){return new(i||t)(N(Dr),N(Fd),N(Bl))}}static{this.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],decls:17,vars:4,consts:[["color","primary"],[1,"cc-add-custom-scenario-content"],[1,"cc-add-custom-scenario-name-field"],["matInput","",3,"formControl"],[1,"cc-add-custon-scenario-toggles"],[3,"checked"],[1,"cc-add-custom-scenario-buttons"],["mat-button","","mat-dialog-close","",3,"click","disabled"],[3,"change","checked"]],template:function(i,r){1&i&&(T(0,"mat-toolbar",0),ge(1,"Add Scenario"),L(),T(2,"div",1)(3,"mat-form-field",2)(4,"mat-label"),ge(5,"Scenario Name"),L(),fe(6,"input",3),$e(7,XDe,2,1,"mat-error"),L(),T(8,"p"),ge(9,"The scenario includes:"),L(),T(10,"div",4),xr(11,YDe,2,2,"mat-slide-toggle",5,Sr),$e(13,qDe,2,0,"mat-error"),L(),T(14,"div",6)(15,"button",7),De("click",function(){return r.addCustomScenario()}),ge(16," ADD "),L()()()),2&i&&(D(6),le("formControl",r.scenarioName),D(),at(7,r.scenarioName.invalid?7:-1),D(4),Cr(r.scenarioContent),D(2),at(13,r.areAnyScenarioMetricPropertiesSelected?-1:13),D(2),le("disabled",r.scenarioName.invalid||!r.areAnyScenarioMetricPropertiesSelected))},dependencies:[jm,P0,eM,Dd,Id,_Z,Zs,_l,Jb,Gp,Mx],styles:[".cc-add-custom-scenario .mat-mdc-dialog-container{width:50vw;padding:0}.cc-add-custom-scenario .mat-mdc-dialog-container .cc-add-custom-scenario-content .cc-add-custon-scenario-toggles{display:flex;flex-direction:column;gap:8px}.cc-add-custom-scenario .mat-mdc-dialog-container .cc-add-custom-scenario-content .cc-add-custon-scenario-toggles mat-slide-toggle{display:block}.cc-add-custom-scenario .mat-mdc-dialog-container .cc-add-custom-scenario-content .cc-add-custom-scenario-name-field{width:75%}.cc-add-custom-scenario .mat-mdc-dialog-container .cc-add-custom-scenario-content .cc-add-custom-scenario-buttons{display:flex;justify-content:flex-end}\n"],encapsulation:2})}}return t})(),d3=(()=>{class t{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(e){this._vertical=Ns(e)}get inset(){return this._inset}set inset(e){this._inset=Ns(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(i,r){2&i&&(ni("aria-orientation",r.vertical?"vertical":"horizontal"),sn("mat-divider-vertical",r.vertical)("mat-divider-horizontal",!r.vertical)("mat-divider-inset",r.inset))},inputs:{vertical:"vertical",inset:"inset"},standalone:!0,features:[br],decls:0,vars:0,template:function(i,r){},styles:[".mat-divider{display:block;margin:0;border-top-style:solid;border-top-color:var(--mat-divider-color);border-top-width:var(--mat-divider-width)}.mat-divider.mat-divider-vertical{border-top:0;border-right-style:solid;border-right-color:var(--mat-divider-color);border-right-width:var(--mat-divider-width)}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}"],encapsulation:2,changeDetection:0})}}return t})(),u3=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nr,nr]})}}return t})();function JDe(t,n){if(1&t&&(T(0,"span",5),fe(1,"i"),L()),2&t){const e=n.$implicit;le("title",e.tooltip),D(),du("fa ",e.faIconClass,""),sn("cc-is-saved",e.isSaved)}}function e2e(t,n){if(1&t){const e=Cn();T(0,"div",0)(1,"button",4),De("click",function(){const r=Mt(e).$implicit;return St(Se().scenarioService.applyScenario(r.scenarioName))}),ge(2),L(),xr(3,JDe,2,6,"span",5,Sr),T(5,"button",6),De("click",function(){const r=Mt(e).$implicit;return St(Se().scenarioService.removeScenario(r.scenarioName))}),fe(6,"i",7),L()()}if(2&t){const e=n.$implicit;D(),le("disabled",!e.isScenarioApplicable),D(),qt(" ",e.scenarioName," "),D(),Cr(e.icons)}}let t2e=(()=>{class t{constructor(e,i){this.scenarioService=e,this.dialog=i,this.scenarios=[]}addScenario(){this.dialog.open(ZDe,{panelClass:"cc-add-custom-scenario"})}static{this.\u0275fac=function(i){return new(i||t)(N(r3),N(ga))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-scenarios"]],inputs:{scenarios:"scenarios"},decls:8,vars:0,consts:[[1,"cc-row"],["disabled","",1,"cc-apply-scenario-button"],["title","Create a custom scenario",1,"cc-action-button","cc-add",3,"click"],[1,"fa","fa-plus"],["title","Apply scenario",1,"cc-apply-scenario-button",3,"click","disabled"],[1,"cc-scenario-content-icons",3,"title"],["title","Remove custom scenario",1,"cc-action-button","cc-remove",3,"click"],[1,"fa","fa-minus-square"]],template:function(i,r){1&i&&(T(0,"div",0)(1,"button",1),ge(2,"Metric Scenarios"),L(),T(3,"button",2),De("click",function(){return r.addScenario()}),fe(4,"i",3),L()(),fe(5,"mat-divider"),xr(6,e2e,7,2,"div",0,Sr)),2&i&&(D(6),Cr(r.scenarios))},dependencies:[d3],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}.mat-mdc-menu-panel.cc-scenarios-menu{width:420px;max-width:unset}.mat-mdc-menu-panel.cc-scenarios-menu .mat-mdc-menu-content{padding:0}.mat-mdc-menu-panel.cc-scenarios-menu .cc-row{display:flex;height:48px;align-items:center}.mat-mdc-menu-panel.cc-scenarios-menu .cc-row [disabled]{color:#00000061}.mat-mdc-menu-panel.cc-scenarios-menu .cc-row .cc-apply-scenario-button{padding-left:16px;padding-right:16px;height:100%;flex:1;text-align:left;background-color:unset}.mat-mdc-menu-panel.cc-scenarios-menu .cc-row .cc-apply-scenario-button:hover:not([disabled]){background-color:#9e9e9e33}.mat-mdc-menu-panel.cc-scenarios-menu .cc-row .cc-action-button{width:52px;height:100%;display:inline-flex;justify-content:center;align-items:center}.mat-mdc-menu-panel.cc-scenarios-menu .cc-row .cc-action-button.cc-add{background-color:#1b9cfc}.mat-mdc-menu-panel.cc-scenarios-menu .cc-row .cc-action-button.cc-remove{border-left:1px solid rgba(0,0,0,.12);color:#b30000;background-color:unset}.mat-mdc-menu-panel.cc-scenarios-menu .cc-row .cc-action-button.cc-remove:hover:not([disabled]){background-color:#9e9e9e33}.mat-mdc-menu-panel.cc-scenarios-menu .cc-row i.fa{font-size:x-small}.mat-mdc-menu-panel.cc-scenarios-menu .cc-row .cc-scenario-content-icons{padding:0 8px;color:#d3d3d3}.mat-mdc-menu-panel.cc-scenarios-menu .cc-row .cc-scenario-content-icons i.fa.cc-is-saved{color:#000}\n'],encapsulation:2})}}return t})(),n2e=(()=>{class t{constructor(e){this.scenarioService=e,this.scenarios=[]}loadScenarios(){this.scenarios=this.scenarioService.getScenarios()}static{this.\u0275fac=function(i){return new(i||t)(N(r3))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-show-scenarios-button"]],decls:5,vars:2,consts:[["menu","matMenu"],["title","Open the scenario list",1,"cc-ribbon-bar-menu-button",3,"click","matMenuTriggerFor"],[1,"fa","fa-star"],[1,"cc-scenarios-menu"],[3,"scenarios"]],template:function(i,r){if(1&i){const o=Cn();T(0,"button",1),De("click",function(){return Mt(o),St(r.loadScenarios())}),fe(1,"i",2),L(),T(2,"mat-menu",3,0),fe(4,"cc-scenarios",4),L()}2&i&&(le("matMenuTriggerFor",xo(3)),D(4),le("scenarios",r.scenarios))},dependencies:[Zu,wx,t2e],styles:["cc-show-scenarios-button{display:flex;justify-content:center}\n"],encapsulation:2})}}return t})();class h3{static downloadCurrentMap(n,e,i,r,o){const s=this.getProjectDataAsCCJsonFormat(n,e,i,r),a=o+Xg.CC_FILE_EXTENSION;this.downloadData(JSON.stringify(s),a)}static getProjectDataAsCCJsonFormat(n,e,i,r){return{projectName:e.projectName,apiVersion:e.apiVersion,fileChecksum:e.fileChecksum,nodes:[this.undecorateMap(n)],attributeTypes:r.includes("AttributeTypes")?this.getAttributeTypesForJSON(i.attributeTypes):{},attributeDescriptors:r.includes("AttributeDescriptors")?this.getAttributeDescriptorsForJSON(i.attributeDescriptors):{},edges:r.includes("Edges")?this.undecorateEdges(i.edges):[],markedPackages:r.includes("MarkedPackages")?i.markedPackages:[],blacklist:this.getBlacklistToDownload(r,i.blacklist)}}static getBlacklistToDownload(n,e){const i=[];return n.includes("Flattens")&&i.push(...this.getFilteredBlacklist(e,"flatten").map(r=>({path:r.path,type:"hide"}))),n.includes("Excludes")&&i.push(...this.getFilteredBlacklist(e,"exclude")),i}static getAttributeTypesForJSON(n){return 0===Object.keys(n.edges).length&&0===Object.keys(n.nodes).length?{}:n}static getAttributeDescriptorsForJSON(n){return 0===Object.keys(n).length?{}:n}static getFilteredBlacklist(n,e){return n.filter(i=>i.type===e)}static undecorateMap(n){const e=hd(n);for(const{data:i}of Jr(e))delete i.isExcluded,delete i.isFlattened,delete i.edgeAttributes,delete i.path,i.type===$a.FOLDER?i.attributes={}:delete i.attributes[LM];return e}static undecorateEdges(n){const e=hd(n);for(const i of e)delete i.visible;return e}static downloadData(n,e){const i=new Blob([n],{type:"text/json"}),r=document.createEvent("MouseEvents"),o=document.createElement("a");o.download=e,o.href=window.URL.createObjectURL(i),o.dataset.downloadurl=["text/json",o.download,o.href].join(":"),r.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),o.dispatchEvent(r)}}const LZ=".cc.config.json",PZ="CodeCharta::customConfigs";class Bi{static{this.customConfigs=Bi.loadCustomConfigsFromLocalStorage()}static{this.customConfigChange$=new _e(null)}static setCustomConfigsToLocalStorage(){const n={version:"1.0.1",customConfigs:[...Bi.customConfigs]};localStorage.setItem(PZ,JSON.stringify(n,cS)),Bi.customConfigChange$.next(null)}static loadCustomConfigsFromLocalStorage(){const n=this.getCcLocalStorage();return new Map(n?.customConfigs)}static getCcLocalStorage(){return JSON.parse(localStorage.getItem(PZ),Z$)}static addCustomConfig(n){Bi.customConfigs.set(n.id,n),Bi.setCustomConfigsToLocalStorage()}static editCustomConfigNote(n,e){const i=Bi.customConfigs.get(n);i.note=e,Bi.customConfigs.set(n,i),Bi.setCustomConfigsToLocalStorage()}static getCustomConfigSettings(n){return Bi.customConfigs.get(n)}static hasCustomConfigByName(n,e,i){for(const r of Bi.customConfigs.values())if(r.name===i&&r.mapSelectionMode===n&&this.areEqual(e,r.assignedMaps))return!0;return!1}static areEqual(n,e){return n.size===e.size&&[...n.entries()].every(([i,r])=>e.has(i)&&e.get(i)===r)}static getCustomConfigs(){return Bi.customConfigs}static importCustomConfigs(n){const e=JSON.parse(n,Z$);for(const i of e.customConfigs.values()){if(Bi.getCustomConfigSettings(i.id))continue;Bi.hasCustomConfigByName(i.mapSelectionMode,i.assignedMaps,i.name)&&(i.name+=` (${Hf.getFormattedTimestamp(new Date(i.creationTime))})`);const o={id:i.id,name:i.name,creationTime:i.creationTime,assignedMaps:i.assignedMaps,customConfigVersion:i.customConfigVersion,mapSelectionMode:i.mapSelectionMode,stateSettings:i.stateSettings,camera:i.camera,...i.note&&{note:i.note}};Bi.addCustomConfig(o)}}static downloadCustomConfigs(n){const e={downloadApiVersion:"1.0.1",timestamp:Date.now(),customConfigs:n},i=Hf.getNewTimestamp()+LZ;h3.downloadData(JSON.stringify(e,cS),i)}static createExportCustomConfigFromConfig(n){return{...n}}static getCustomConfigsAmountByMapAndMode(n,e){let i=0;for(const r of Bi.customConfigs.values())[...r.assignedMaps.values()].join(" ")===n&&r.mapSelectionMode===e&&i++;return i}static getConfigNameSuggestionByFileState({mapSelectionMode:n,assignedMaps:e}){const i=[...e.values()].join(" ");return`${i} #${Bi.getCustomConfigsAmountByMapAndMode(i,n)+1}`}static deleteCustomConfigs(n){for(const e of n)Bi.customConfigs.delete(e.id);Bi.setCustomConfigsToLocalStorage()}static deleteCustomConfig(n){Bi.customConfigs.delete(n),Bi.setCustomConfigsToLocalStorage()}static sortCustomConfigDropDownGroupList(n,e){if(!e.hasApplicableItems){if(n.hasApplicableItems||n.mapSelectionMode{r.setControlTarget(o.camera.cameraTarget),i.setPosition(o.camera.camera)},100)}}function s2e(t,n){return[...t.keys()].some(i=>n.has(i))}var ST=function(t){return t.MULTIPLE="STANDARD",t.DELTA="DELTA",t}(ST||{});const Sx=Bt(ud,t=>{const n=new Map;let e;for(const{selectedAs:i,file:r}of t)e=i===Ri.Partial?ST.MULTIPLE:ST.DELTA,n.set(r.fileMeta.fileChecksum,r.fileMeta.fileName);return{mapSelectionMode:e,assignedMaps:n}});let f3=(()=>{class t{constructor(e){this.store=e,this.downloadableCustomConfigs$=Su([this.store.select(Sx),Bi.customConfigChange$]).pipe(mt(([i])=>(({assignedMaps:t})=>{const n=new Map,e=Bi.getCustomConfigs();for(const[i,r]of e.entries())s2e(r.assignedMaps,t)&&n.set(i,Bi.createExportCustomConfigFromConfig(r));return n})(i))),this.customConfigItemGroups$=Su([this.store.select(Sx),Bi.customConfigChange$]).pipe(mt(([i])=>function a2e({assignedMaps:t}){const n={applicableItems:new Map,nonApplicableItems:new Map},e=new Map;for(const i of Bi.loadCustomConfigsFromLocalStorage().values()){const r=[...i.assignedMaps.values()],o=`${r.join("_")}_${i.mapSelectionMode}`,s=[...i.assignedMaps.keys()].some(x=>t.has(x));e.has(o)||e.set(o,{mapNames:r.join(" "),mapSelectionMode:i.mapSelectionMode,hasApplicableItems:s,customConfigItems:[]});const{positive:a,neutral:c,negative:l,selected:d,positiveDelta:u,negativeDelta:h}=i.stateSettings.appSettings.mapColors,{areaMetric:f,heightMetric:b,colorMetric:y,edgeMetric:C}=i.stateSettings.dynamicSettings;e.get(o).customConfigItems.push({id:i.id,name:i.name,assignedMaps:i.assignedMaps,mapSelectionMode:i.mapSelectionMode,metrics:{areaMetric:f,heightMetric:b,colorMetric:y,edgeMetric:C},mapColors:{positive:a,neutral:c,negative:l,selected:d,positiveDelta:u,negativeDelta:h},isApplicable:s,...i.note&&{note:i.note}}),e.get(o).hasApplicableItems?n.applicableItems.set(o,e.get(o)):n.nonApplicableItems.set(o,e.get(o))}return n}(i)))}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();function c2e(t,n){1&t&&(T(0,"div",7),ge(1,"It is time to add your first Custom View!"),L())}function l2e(t,n){if(1&t&&fe(0,"cc-custom-config-item-group",12),2&t){const e=Se(2),i=Se();le("customConfigItemGroups",e.nonApplicableItems)("searchTerm",i.searchTerm)}}function d2e(t,n){if(1&t){const e=Cn();T(0,"button",14),De("click",function(){return Mt(e),St(Se(3).toggleNonApplicableCustomConfigsList())}),ge(1),fe(2,"i",15),L()}if(2&t){const e=Se(3);D(),qt(" ",e.isNonApplicableListCollapsed?"Show non-applicable Custom Views":"Hide non-applicable Custom Views"," "),D(),le("ngClass",e.isNonApplicableListCollapsed?"fa fa-angle-down":"fa fa-angle-up")}}function u2e(t,n){if(1&t){const e=Cn();T(0,"mat-accordion",8)(1,"mat-form-field",9),fe(2,"i",10),T(3,"mat-label"),ge(4),L(),T(5,"input",11),De("input",function(r){return Mt(e),St(Se(2).setSearchTermDebounced(r))}),L()(),fe(6,"cc-custom-config-item-group",12),$e(7,l2e,1,2,"cc-custom-config-item-group",12)(8,d2e,3,2,"button",13),L()}if(2&t){const e=Se(),i=Se();le("multi",!0),D(4),qt("",i.searchPlaceholder," "),D(),le("value",i.searchTerm),D(),le("customConfigItemGroups",e.applicableItems)("searchTerm",i.searchTerm),D(),at(7,i.isNonApplicableListCollapsed?-1:7),D(),at(8,e.nonApplicableItems.size>0?8:-1)}}function h2e(t,n){if(1&t&&(T(0,"mat-dialog-content",4)(1,"p",5),ge(2," Custom Views allow you to save and upload your individual configurations for certain maps. Find out more about Custom Views in the "),T(3,"a",6),ge(4,"documentation"),L(),ge(5,". "),L(),$e(6,c2e,2,0,"div",7)(7,u2e,9,7,"mat-accordion",8),L()),2&t){const e=n;D(6),at(6,0===e.applicableItems.size&&0===e.nonApplicableItems.size?6:-1),D(),at(7,0!==e.applicableItems.size||0!==e.nonApplicableItems.size?7:-1)}}let OZ=(()=>{class t{constructor(e){this.customConfigService=e,this.searchTerm="",this.isNonApplicableListCollapsed=!0,this.searchPlaceholder="Search by name, mode and metrics...",this.setSearchTermDebounced=Bd(i=>this.searchTerm=i.target.value,400)}toggleNonApplicableCustomConfigsList(){this.isNonApplicableListCollapsed=!this.isNonApplicableListCollapsed}static{this.\u0275fac=function(i){return new(i||t)(N(f3))}}static{this.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],decls:9,vars:3,consts:[["color","primary"],[1,"row"],[1,"action-buttons"],[1,"custom-configs-button-in-custom-views"],[1,"content"],[1,"custom-config-documentation-hint"],["href","https://maibornwolff.github.io/codecharta/docs/custom-view/","target","_blank","rel","noopener noreferrer"],[1,"no-custom-configs-box"],[1,"custom-config-container",3,"multi"],[1,"cc-custom-configs-search-field"],["matPrefix","",1,"fa","fa-search","custom-config-search-icon"],["matInput","","type","text",3,"input","value"],[3,"customConfigItemGroups","searchTerm"],[1,"toggle-non-applicable-configs-button"],[1,"toggle-non-applicable-configs-button",3,"click"],[3,"ngClass"]],template:function(i,r){if(1&i&&(T(0,"mat-toolbar",0),ge(1,"Custom Views "),T(2,"div",1)(3,"div",2),fe(4,"cc-upload-custom-config-button")(5,"cc-download-custom-configs-button")(6,"cc-add-custom-config-button",3),L()()(),$e(7,h2e,8,2,"mat-dialog-content",4),Ee(8,"async")),2&i){let o;D(7),at(7,(o=Re(8,1,r.customConfigService.customConfigItemGroups$))?7:-1,o)}},styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}.cc-custom-config-list{width:850px}.cc-custom-config-list .mat-mdc-dialog-content{padding:16px;max-height:90vh}.cc-custom-config-list .cc-custom-configs-search-field{width:100%;font-size:14px}.cc-custom-config-list .cc-custom-configs-search-field .custom-config-search-icon{color:gray;margin-left:8px;font-size:18px}.cc-custom-config-list .cc-custom-configs-search-field .clear-icon{position:absolute;right:0;margin:0;height:24px;width:24px;display:flex;justify-content:center;align-items:center;top:0}.cc-custom-config-list .cc-custom-configs-search-field .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{display:none}.cc-custom-config-list .cc-custom-configs-search-field .mat-mdc-form-field-infix{margin-left:6px;display:flex}.cc-custom-config-list .row{display:flex;justify-content:space-between;align-items:center;margin-left:auto}.cc-custom-config-list .custom-config-documentation-hint{margin:10px 0 20px;font-size:1.4em;line-height:1.4em;color:#000000de}.cc-custom-config-list .action-buttons button{margin:0 3px;min-width:12%;height:48px;width:48px;border-radius:100%;line-height:48px;background-color:#fff;color:#1b9cfc}.cc-custom-config-list .action-buttons button:disabled,.cc-custom-config-list .action-buttons button[disabled]{background-color:#e6e6e6;color:#ccc}.cc-custom-config-list .action-buttons button i.fa{font-size:12px;margin-left:0}.cc-custom-config-list .no-custom-configs-box{text-align:center;padding:50px 0}.cc-custom-config-list cc-custom-config-item-group .mat-expansion-panel-spacing{margin:0}.cc-custom-config-list cc-custom-config-item-group .mat-expansion-panel-body{padding:0 16px}.cc-custom-config-list cc-custom-config-item-group .mat-expansion-panel-header:not([aria-disabled=true]){border-bottom:1px solid black;padding:15px 2px}.cc-custom-config-list cc-custom-config-item-group .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.cc-custom-config-list cc-custom-config-item-group.non-applicable-group .mat-expansion-panel-header-title{color:#0000004d}.cc-custom-config-list cc-custom-config-item-group .mdc-list-item__content{width:100%;border-bottom:1px solid #000000;padding:0 5px}.cc-custom-config-list cc-custom-config-item-group .mdc-list-item__content .mdc-list-item__primary-text{display:flex;flex-direction:column;width:100%}.cc-custom-config-list cc-custom-config-item-group .mdc-list-item__content:hover{background-color:#0000000a}.cc-custom-config-list cc-custom-config-item-group .mdc-list-item__content button{background-color:transparent}.cc-custom-config-list cc-custom-config-item-group .mdc-list-item__content button.remove-button,.cc-custom-config-list cc-custom-config-item-group .mdc-list-item__content button.custom-config-note-dialog-button{font-size:16px;padding:8px 10px;margin:0}.cc-custom-config-list cc-custom-config-item-group .mdc-list-item__content button.remove-button:hover,.cc-custom-config-list cc-custom-config-item-group .mdc-list-item__content button.custom-config-note-dialog-button:hover{background-color:#0000000d;color:#1b9cfc;border-radius:50%}.cc-custom-config-list .toggle-non-applicable-configs-button{width:100%;height:30px;margin:5px 0}.cc-custom-config-list .mat-mdc-list-base{padding:0}.cc-custom-config-list .mat-mdc-list-item{height:max-content}\n'],encapsulation:2})}}return t})(),NZ=(()=>{class t{constructor(e){this.dialog=e}openCustomConfigDialog(){this.dialog.open(OZ,{panelClass:"cc-custom-config-list"})}static{this.\u0275fac=function(i){return new(i||t)(N(ga))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-custom-configs"]],decls:4,vars:0,consts:[[1,"custom-configs-panel-buttons"],["title","Open your saved Custom Views",1,"cc-ribbon-bar-menu-button",3,"click"],[1,"fa","fa-cogs"]],template:function(i,r){1&i&&(T(0,"div",0)(1,"button",1),De("click",function(){return r.openCustomConfigDialog()}),fe(2,"i",2),L(),fe(3,"cc-add-custom-config-button"),L())},styles:["cc-custom-configs .custom-configs-panel-buttons{display:flex;justify-content:center;gap:4px}\n"],encapsulation:2})}}return t})();function m3(t,n){if(n||(n=0),!Array.isArray(t))throw new Error("percentRound input should be an Array");const e=t.slice(),i=t.length,r=new Array(i);let o=0;for(let s=i-1;s>=0;s--)"string"==typeof e[s]&&(e[s]=Number.parseFloat(e[s])),o+=1*e[s];if(isNaN(o))throw new Error("percentRound invalid input");if(0===o)r.fill(0);else{const s=Math.pow(10,n),a=100*s;let c=0;for(let l=i-1;l>=0;l--)e[l]=100*e[l]/o,c+=r[l]=Math.round(e[l]*s);if(c!==a){const d=1;let u=Math.abs(c-a);const h=new Array(i);for(let f=0;f0;){let f=0,b=h[0];for(let y=1;ya&&r[y]-d<0)continue;f=y,b=h[y]}c>a?r[f]-=d:r[f]+=d,h[f]-=d,u--}}if(s>1)for(let l=0;l{if(!t.unifiedMapNode)return;const e={analyzedProgrammingLanguage:void 0,suspiciousMetricSuggestionLinks:[],unsuspiciousMetrics:[],untrackedMetrics:[],riskProfile:void 0},i=new Map,r={lowRisk:0,moderateRisk:0,highRisk:0,veryHighRisk:0};let o=0,s=0;const a={};for(const{data:l}of Jr(t.unifiedMapNode)){const d=C2e(l.name);if(l.type===$a.FILE&&void 0!==d&&!Cu(l.path,n,"exclude")){const u=i.get(d)??0;i.set(d,u+1),b2e(l,a,d),E2e(l,d)&&(o+=l.attributes[TT],s+=l.attributes[kT],p2e(l,r,d))}}o>0&&s>0&&(e.riskProfile=function A2e(t){const[n,e,i,r]=f2e([t.lowRisk,t.moderateRisk,t.highRisk,t.veryHighRisk]);return{lowRisk:n,moderateRisk:e,highRisk:i,veryHighRisk:r}}(r));const c=function w2e(t){let n,e=-1;for(const[i,r]of t)es.percentile70&&(e.suspiciousMetrics.set(r,{from:s.percentile70,to:s.percentile80}),a>s.percentile90&&e.outliersThresholds.set(r,s.percentile90))}for(const r in t[n])!Object.keys(i).includes(r)&&!e.untrackedMetrics.includes(r)&&e.untrackedMetrics.push(r);return e}(a,c);e.unsuspiciousMetrics=l.unsuspiciousMetrics,e.untrackedMetrics=l.untrackedMetrics,e.suspiciousMetricSuggestionLinks=function g2e(t){const n=new Map;for(const[e,i]of t.suspiciousMetrics)n.set(e,{metric:e,...i}),t.outliersThresholds.has(e)&&(n.get(e).isOutlier=!0,n.get(e).outlierThreshold=t.outliersThresholds.get(e));return[...n.values()].sort(_2e)}(l)}return e});let S2e=(()=>{class t{constructor(e){this.element=e,this.ccRiskProfileBar=0}ngOnChanges(e){e.ccRiskProfileBar&&(this.element.nativeElement.style.display=this.ccRiskProfileBar>0?"flex":"none",this.element.nativeElement.style.width=`${this.ccRiskProfileBar}%`,this.element.nativeElement.style.color=this.ccRiskProfileBar>5?"black":"rgba(0,0,0,0)")}static{this.\u0275fac=function(i){return new(i||t)(N(Mn))}}static{this.\u0275dir=Et({type:t,selectors:[["","ccRiskProfileBar",""]],inputs:{ccRiskProfileBar:"ccRiskProfileBar"},features:[ar]})}}return t})();function k2e(t,n){if(1&t&&(T(0,"div",4)(1,"div"),ge(2,"Risk Profile"),L()(),T(3,"div",5),ge(4," The Risk Profile gives a quick overview about the complexity and risk structure of the code base. It tells you how much of the code is placed in files associated with low/high risk in means of maintainability. The separation of code in risk classes like low or high complexity is based on Java reference metric values and therefore may be inaccurate for other programming languages. More information can be found here: "),T(5,"a",6),ge(6,"link"),L(),ge(7," to How-To article. "),L(),T(8,"div",4)(9,"div"),ge(10,"Calculations are always based on mcc (cyclomatic complexity)"),L()(),T(11,"div",5)(12,"ul")(13,"li"),ge(14),L(),T(15,"li"),ge(16),L(),T(17,"li"),ge(18),L(),T(19,"li"),ge(20),L()()(),T(21,"div",7)(22,"div",8),ge(23),L(),T(24,"div",9),ge(25),L(),T(26,"div",10),ge(27),L(),T(28,"div",11),ge(29),L()()),2&t){const e=Se();D(14),qt("",e.data.riskProfile.lowRisk,"% of overall code is in files with low complexity"),D(2),qt("",e.data.riskProfile.moderateRisk,"% of overall code is in files with moderate complexity"),D(2),qt("",e.data.riskProfile.highRisk,"% of overall code is in files with high complexity"),D(2),qt("",e.data.riskProfile.veryHighRisk,"% of overall code is in files with extreme complexity"),D(2),uu("title","Low Risk (",e.data.riskProfile.lowRisk,"% of code)"),le("ccRiskProfileBar",e.data.riskProfile.lowRisk),D(),qt(" ",e.data.riskProfile.lowRisk,"% "),D(),uu("title","Moderate Risk (",e.data.riskProfile.moderateRisk,"% of code)"),le("ccRiskProfileBar",e.data.riskProfile.moderateRisk),D(),qt(" ",e.data.riskProfile.moderateRisk,"% "),D(),uu("title","High Risk (",e.data.riskProfile.highRisk,"% of code)"),le("ccRiskProfileBar",e.data.riskProfile.highRisk),D(),qt(" ",e.data.riskProfile.highRisk,"% "),D(),uu("title","Very High Risk (",e.data.riskProfile.veryHighRisk,"% of code)"),le("ccRiskProfileBar",e.data.riskProfile.veryHighRisk),D(),qt(" ",e.data.riskProfile.veryHighRisk,"% ")}}function T2e(t,n){1&t&&ge(0," Could not calculate Risk Profile. Metrics rloc(Real lines of code) and mcc(Cyclomatic complexity) not available. ")}let F2e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-high-risk-profile"]],inputs:{data:"data"},decls:6,vars:3,consts:[["menu","matMenu"],["title","Open High Risk Profile",1,"cc-ribbon-bar-menu-button",3,"matMenuTriggerFor"],[1,"fa","fa-bar-chart"],[1,"ai-drop-down","high-risk-profile"],[1,"title"],[1,"suspicious-metrics-summary"],["href","https://maibornwolff.github.io/codecharta/docs/risk-profile/"],[1,"risk-profiles"],[1,"risk-profile","low-risk",3,"ccRiskProfileBar","title"],[1,"risk-profile","moderate-risk",3,"ccRiskProfileBar","title"],[1,"risk-profile","high-risk",3,"ccRiskProfileBar","title"],[1,"risk-profile","very-high-risk",3,"ccRiskProfileBar","title"]],template:function(i,r){1&i&&(T(0,"button",1),fe(1,"i",2),L(),T(2,"mat-menu",3,0),$e(4,k2e,30,20)(5,T2e,1,0),L()),2&i&&(le("matMenuTriggerFor",xo(3)),D(4),at(4,void 0!==r.data.riskProfile?4:-1),D(),at(5,void 0===r.data.riskProfile?5:-1))},dependencies:[Zu,wx,S2e],encapsulation:2})}}return t})();var VZ=Object.prototype.hasOwnProperty;function QZ(t,n,e){for(e of t.keys())if(Wp(e,n))return e}function Wp(t,n){var e,i,r;if(t===n)return!0;if(t&&n&&(e=t.constructor)===n.constructor){if(e===Date)return t.getTime()===n.getTime();if(e===RegExp)return t.toString()===n.toString();if(e===Array){if((i=t.length)===n.length)for(;i--&&Wp(t[i],n[i]););return-1===i}if(e===Set){if(t.size!==n.size)return!1;for(i of t)if((r=i)&&"object"==typeof r&&!(r=QZ(n,r))||!n.has(r))return!1;return!0}if(e===Map){if(t.size!==n.size)return!1;for(i of t)if((r=i[0])&&"object"==typeof r&&!(r=QZ(n,r))||!Wp(i[1],n.get(r)))return!1;return!0}if(e===ArrayBuffer)t=new Uint8Array(t),n=new Uint8Array(n);else if(e===DataView){if((i=t.byteLength)===n.byteLength)for(;i--&&t.getInt8(i)===n.getInt8(i););return-1===i}if(ArrayBuffer.isView(t)){if((i=t.byteLength)===n.byteLength)for(;i--&&t[i]===n[i];);return-1===i}if(!e||"object"==typeof t){for(e in i=0,t)if(VZ.call(t,e)&&++i&&!VZ.call(n,e)||!(e in n)||!Wp(t[e],n[e]))return!1;return Object.keys(n).length===i}}return t!=t&&n!=n}function B2e(t,n){if(1&t&&(T(0,"span",3),ge(1),L()),2&t){const e=Se();D(),qt(" ",e.data.suspiciousMetricSuggestionLinks.length," ")}}function I2e(t,n){if(1&t&&(T(0,"div",5),ge(1),L()),2&t){const e=Se();D(),qt(" ",null!=e.data.analyzedProgrammingLanguage&&e.data.analyzedProgrammingLanguage.length?"Unsuspicious Metrics in "+e.data.analyzedProgrammingLanguage+" code":"Unsuspicious Metrics"," ")}}function D2e(t,n){if(1&t&&(T(0,"li"),ge(1),L()),2&t){const e=n.$implicit;D(),gr(e)}}function R2e(t,n){if(1&t&&(T(0,"div",8),ge(1),L()),2&t){const e=Se();D(),qt("Suspicious Metrics in ",e.data.analyzedProgrammingLanguage," code")}}function L2e(t,n){if(1&t){const e=Cn();T(0,"button",11),De("click",function(){Mt(e);const r=Se().$implicit;return St(Se().applySuspiciousMetric(r,!0))}),fe(1,"i",2),L()}}function P2e(t,n){if(1&t){const e=Cn();T(0,"div",6)(1,"button",9),De("click",function(){const r=Mt(e).$implicit;return St(Se().applySuspiciousMetric(r,!1))}),ge(2),Ee(3,"uppercase"),L(),$e(4,L2e,2,0,"button",10),L()}if(2&t){const e=n.$implicit;D(),uu("title","Apply Map Configuration to show files with suspicious metric ",e.metric," and high risk or very high risk depending on selection"),D(),qt(" Suspicious ",Re(3,4,e.metric)," Files "),D(2),at(4,e.isOutlier?4:-1)}}function O2e(t,n){if(1&t&&(T(0,"div",5),ge(1),L()),2&t){const e=Se(2);D(),qt("Untracked metrics in ",e.data.analyzedProgrammingLanguage," code")}}function N2e(t,n){if(1&t&&(T(0,"li"),ge(1),L()),2&t){const e=n.$implicit;D(),gr(e)}}function U2e(t,n){if(1&t&&(T(0,"div"),$e(1,O2e,2,1,"div",5),T(2,"ul"),xr(3,N2e,2,1,"li",null,Sr),L()()),2&t){const e=Se();D(),at(1,e.data.analyzedProgrammingLanguage.length?1:-1),D(2),Cr(e.data.untrackedMetrics)}}function H2e(t,n){1&t&&(T(0,"div"),ge(1,"No programming language was found for analyzing suspicious metrics."),L())}let V2e=(()=>{class t{constructor(e){this.store=e,this.hideBadge=!1}ngOnChanges(e){e.data&&!Wp(e.data.previousValue,e.data.currentValue)&&(this.hideBadge=!1)}applySuspiciousMetric(e,i){this.store.dispatch(vu({value:TT})),this.store.dispatch(wu({value:e.metric})),this.store.dispatch(gl({value:e.metric})),this.store.dispatch(cd({value:{from:e.from,to:i?e.outlierThreshold:e.to}})),this.store.dispatch(_u({value:{positive:i?"#ffffff":Td.positive,neutral:i?"#ffffff":Td.neutral,negative:i?"#A900C0":Td.negative}}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-suspicious-metrics"]],inputs:{data:"data"},features:[ar],decls:23,vars:6,consts:[["menu","matMenu"],["title","Open Suspicious Metrics Panel",1,"cc-ribbon-bar-menu-button",3,"click","matMenuTriggerFor"],[1,"fa","fa-exclamation-triangle"],[1,"suspicious-metrics-badge"],[1,"ai-drop-down","suspicious-metric-panel"],[1,"title"],[1,"suspicious-metric"],["href","https://maibornwolff.github.io/codecharta/docs/suspicious-metrics/"],[1,"title","new-section"],[1,"metric-button",3,"click","title"],["title","Show very high risk files (90th percentile)",1,"risk-button"],["title","Show very high risk files (90th percentile)",1,"risk-button",3,"click"]],template:function(i,r){if(1&i){const o=Cn();T(0,"button",1),De("click",function(){return Mt(o),St(r.hideBadge=!0)}),fe(1,"i",2),$e(2,B2e,2,1,"span",3),L(),T(3,"mat-menu",4,0)(5,"div")(6,"div",5)(7,"div"),ge(8,"Suspicious Metrics"),L()(),T(9,"div",6),ge(10," This feature compares the values of certain metrics from the loaded cc.json file with metric values of 241 Open Source Java projects. Based on this data suspicious and inconspicuous metrics are identified and corresponding suggestions can be clicked to view them. Be aware that metrics for other programming languages might not be comparable to Java Reference metric values. More information can be found here: "),T(11,"a",7),ge(12,"link"),L(),ge(13," to How-To article. "),L(),$e(14,I2e,2,1,"div",5),T(15,"ul"),xr(16,D2e,2,1,"li",null,Sr),L()(),$e(18,R2e,2,1,"div",8),xr(19,P2e,5,6,"div",6,Sr),$e(21,U2e,5,1,"div")(22,H2e,2,0,"div"),L()}2&i&&(le("matMenuTriggerFor",xo(4)),D(2),at(2,r.hideBadge||void 0===r.data.analyzedProgrammingLanguage&&!r.data.suspiciousMetricSuggestionLinks.length&&!r.data.unsuspiciousMetrics.length?-1:2),D(12),at(14,r.data.unsuspiciousMetrics.length?14:-1),D(2),Cr(r.data.unsuspiciousMetrics),D(2),at(18,r.data.suspiciousMetricSuggestionLinks.length?18:-1),D(),Cr(r.data.suspiciousMetricSuggestionLinks),D(2),at(21,r.data.untrackedMetrics.length?21:-1),D(),at(22,void 0===r.data.analyzedProgrammingLanguage?22:-1))},dependencies:[Zu,wx,s6],encapsulation:2})}}return t})();function Q2e(t,n){if(1&t&&fe(0,"cc-suspicious-metrics",0)(1,"cc-high-risk-profile",0),2&t){const e=n;le("data",e),D(),le("data",e)}}let z2e=(()=>{class t{constructor(e){this.store=e,this.data$=this.store.select(M2e)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-artificial-intelligence"]],decls:2,vars:3,consts:[[3,"data"]],template:function(i,r){if(1&i&&($e(0,Q2e,2,2),Ee(1,"async")),2&i){let o;at(0,(o=Re(1,1,r.data$))?0:-1,o)}},dependencies:[F2e,V2e,Ln],styles:["cc-artificial-intelligence{display:flex;justify-content:center;gap:4px}cc-artificial-intelligence .suspicious-metrics-badge{position:absolute;bottom:10px;padding:4px 6px;border-radius:50%;background:red;color:#fff;font-size:10px;line-height:10px}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down{padding:8px 16px;max-width:33em}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down .title{margin-bottom:8px;font-weight:700}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down .new-section{margin-top:16px}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down ul{margin-block:0;padding-inline:32px}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.suspicious-metric-panel .suspicious-metric:not(:last-child){margin-bottom:12px}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.suspicious-metric-panel .suspicious-metric button{height:36px;background-color:#e6e6e6f5}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.suspicious-metric-panel .suspicious-metric button:hover{background-color:#c8c8c8}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.suspicious-metric-panel .suspicious-metric .metric-button{border-radius:5px;padding:0 12px}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.suspicious-metric-panel .suspicious-metric .risk-button{border-radius:0 5px 5px 0;margin-left:4px;width:36px;color:#9c0e6a}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.high-risk-profile .suspicious-metrics-summary{padding:8px 0 16px}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.high-risk-profile .risk-profiles{display:flex}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.high-risk-profile .risk-profiles .risk-profile{height:36px;text-align:center;justify-content:center;align-items:center;overflow:hidden}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.high-risk-profile .risk-profiles .low-risk{background-color:#5cb34d}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.high-risk-profile .risk-profiles .moderate-risk{background-color:#eef432}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.high-risk-profile .risk-profiles .high-risk{background-color:#cc2900}.mat-mdc-menu-panel.mat-mdc-menu-panel.ai-drop-down.high-risk-profile .risk-profiles .very-high-risk{background-color:#9c0e6a}\n"],encapsulation:2})}}return t})();const G2e=["trigger"],W2e=["panel"],$2e=[[["mat-select-trigger"]],"*"],j2e=["mat-select-trigger","*"];function K2e(t,n){if(1&t&&(T(0,"span",4),ge(1),L()),2&t){const e=Se();D(),gr(e.placeholder)}}function X2e(t,n){1&t&&Rn(0)}function Y2e(t,n){if(1&t&&(T(0,"span",11),ge(1),L()),2&t){const e=Se(2);D(),gr(e.triggerValue)}}function q2e(t,n){if(1&t&&(T(0,"span",10),$e(1,X2e,1,0)(2,Y2e,2,1),L()),2&t){const e=Se();D(),at(1,e.customTrigger?1:2)}}function Z2e(t,n){if(1&t){const e=Cn();T(0,"div",12,1),De("@transformPanel.done",function(r){return Mt(e),St(Se()._panelDoneAnimatingStream.next(r.toState))})("keydown",function(r){return Mt(e),St(Se()._handleKeydown(r))}),Rn(2,1),L()}if(2&t){const e=Se();du("mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open ",e._getPanelTheme(),""),le("ngClass",e.panelClass)("@transformPanel","showing"),ni("id",e.id+"-panel")("aria-multiselectable",e.multiple)("aria-label",e.ariaLabel||null)("aria-labelledby",e._getPanelAriaLabelledby())}}const J2e={transformPanelWrap:Iu("transformPanelWrap",[Ac("* => void",UL("@transformPanel",[NL()],{optional:!0}))]),transformPanel:Iu("transformPanel",[Gc("void",Eo({opacity:0,transform:"scale(1, 0.8)"})),Ac("void => showing",zc("120ms cubic-bezier(0, 0, 0.2, 1)",Eo({opacity:1,transform:"scale(1, 1)"}))),Ac("* => void",zc("100ms linear",Eo({opacity:0})))])};let zZ=0;const GZ=new He("mat-select-scroll-strategy",{providedIn:"root",factory:()=>{const t=yt(us);return()=>t.scrollStrategies.reposition()}}),tRe=new He("MAT_SELECT_CONFIG"),nRe={provide:GZ,deps:[us],useFactory:function eRe(t){return()=>t.scrollStrategies.reposition()}},WZ=new He("MatSelectTrigger");class iRe{constructor(n,e){this.source=n,this.value=e}}let $p=(()=>{class t{_scrollOptionIntoView(e){const i=this.options.toArray()[e];if(i){const r=this.panel.nativeElement,o=function g0e(t,n,e){if(e.length){let i=n.toArray(),r=e.toArray(),o=0;for(let s=0;se+i?Math.max(0,t-i+n):e}(s.offsetTop,s.offsetHeight,r.scrollTop,r.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(e){return new iRe(this,e)}get focused(){return this._focused||this._panelOpen}get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._syncParentProperties()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}get required(){return this._required??this.ngControl?.control?.hasValidator(O2.required)??!1}set required(e){this._required=e,this.stateChanges.next()}get multiple(){return this._multiple}set multiple(e){this._multiple=e}get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(e){this._assignValue(e)&&this._onChange(e)}get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}get id(){return this._id}set id(e){this._id=e||this._uid,this.stateChanges.next()}get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}constructor(e,i,r,o,s,a,c,l,d,u,h,f,b,y){this._viewportRuler=e,this._changeDetectorRef=i,this._elementRef=s,this._dir=a,this._parentFormField=d,this.ngControl=u,this._liveAnnouncer=b,this._defaultOptions=y,this._positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}],this._panelOpen=!1,this._compareWith=(C,x)=>C===x,this._uid="mat-select-"+zZ++,this._triggerAriaLabelledBy=null,this._destroy=new It,this.stateChanges=new It,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+zZ++,this._panelDoneAnimatingStream=new It,this._overlayPanelClass=this._defaultOptions?.overlayPanelClass||"",this._focused=!1,this.controlType="mat-select",this.disabled=!1,this.disableRipple=!1,this.tabIndex=0,this._hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1,this._multiple=!1,this.disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1,this.ariaLabel="",this.panelWidth=this._defaultOptions&&typeof this._defaultOptions.panelWidth<"u"?this._defaultOptions.panelWidth:"auto",this._initialized=new It,this.optionSelectionChanges=IL(()=>{const C=this.options;return C?C.changes.pipe(md(C),tf(()=>pc(...C.map(x=>x.onSelectionChange)))):this._initialized.pipe(tf(()=>this.optionSelectionChanges))}),this.openedChange=new vn,this._openedStream=this.openedChange.pipe(Mi(C=>C),mt(()=>{})),this._closedStream=this.openedChange.pipe(Mi(C=>!C),mt(()=>{})),this.selectionChange=new vn,this.valueChange=new vn,this._trackedModal=null,this._skipPredicate=C=>!this.panelOpen&&C.disabled,this.ngControl&&(this.ngControl.valueAccessor=this),null!=y?.typeaheadDebounceInterval&&(this.typeaheadDebounceInterval=y.typeaheadDebounceInterval),this._errorStateTracker=new LL(o,u,l,c,this.stateChanges),this._scrollStrategyFactory=f,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(h)||0,this.id=this.id}ngOnInit(){this._selectionModel=new dT(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(j0(),Lr(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen)),this._viewportRuler.change().pipe(Lr(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._changeDetectorRef.detectChanges())})}ngAfterContentInit(){this._initialized.next(),this._initialized.complete(),this._initKeyManager(),this._selectionModel.changed.pipe(Lr(this._destroy)).subscribe(e=>{e.added.forEach(i=>i.select()),e.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(md(null),Lr(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const e=this._getTriggerAriaLabelledby(),i=this.ngControl;if(e!==this._triggerAriaLabelledBy){const r=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?r.setAttribute("aria-labelledby",e):r.removeAttribute("aria-labelledby")}i&&(this._previousControl!==i.control&&(void 0!==this._previousControl&&null!==i.disabled&&i.disabled!==this.disabled&&(this.disabled=i.disabled),this._previousControl=i.control),this.updateErrorState())}ngOnChanges(e){(e.disabled||e.userAriaDescribedBy)&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this.typeaheadDebounceInterval)}ngOnDestroy(){this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete(),this._clearFromModal()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin()),this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._applyModalPanelOwnership(),this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_applyModalPanelOwnership(){const e=this._elementRef.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');if(!e)return;const i=`${this.id}-panel`;this._trackedModal&&xL(this._trackedModal,"aria-owns",i),i$(e,"aria-owns",i),this._trackedModal=e}_clearFromModal(){this._trackedModal&&(xL(this._trackedModal,"aria-owns",`${this.id}-panel`),this._trackedModal=null)}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched(),this.stateChanges.next())}writeValue(e){this._assignValue(e)}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const e=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}updateErrorState(){this._errorStateTracker.updateErrorState()}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}_handleClosedKeydown(e){const i=e.keyCode,r=40===i||38===i||37===i||39===i,o=13===i||32===i,s=this._keyManager;if(!s.isTyping()&&o&&!bl(e)||(this.multiple||e.altKey)&&r)e.preventDefault(),this.open();else if(!this.multiple){const a=this.selected;s.onKeydown(e);const c=this.selected;c&&a!==c&&this._liveAnnouncer.announce(c.viewValue,1e4)}}_handleOpenKeydown(e){const i=this._keyManager,r=e.keyCode,o=40===r||38===r,s=i.isTyping();if(o&&e.altKey)e.preventDefault(),this.close();else if(s||13!==r&&32!==r||!i.activeItem||bl(e))if(!s&&this._multiple&&65===r&&e.ctrlKey){e.preventDefault();const a=this.options.some(c=>!c.disabled&&!c.selected);this.options.forEach(c=>{c.disabled||(a?c.select():c.deselect())})}else{const a=i.activeItemIndex;i.onKeydown(e),this._multiple&&o&&e.shiftKey&&i.activeItem&&i.activeItemIndex!==a&&i.activeItem._selectViaInteraction()}else e.preventDefault(),i.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(qo(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(e){if(this.options.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(i=>this._selectOptionByValue(i)),this._sortValues();else{const i=this._selectOptionByValue(e);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(e){const i=this.options.find(r=>{if(this._selectionModel.isSelected(r))return!1;try{return null!=r.value&&this._compareWith(r.value,e)}catch{return!1}});return i&&this._selectionModel.select(i),i}_assignValue(e){return!!(e!==this._value||this._multiple&&Array.isArray(e))&&(this.options&&this._setSelectionByValue(e),this._value=e,!0)}_getOverlayWidth(e){return"auto"===this.panelWidth?(e instanceof yL?e.elementRef:e||this._elementRef).nativeElement.getBoundingClientRect().width:null===this.panelWidth?"":this.panelWidth}_syncParentProperties(){if(this.options)for(const e of this.options)e._changeDetectorRef.markForCheck()}_initKeyManager(){this._keyManager=new Cve(this.options).withTypeAhead(this.typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const e=pc(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Lr(e)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),pc(...this.options.map(i=>i._stateChanges)).pipe(Lr(e)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next()})}_onSelect(e,i){const r=this._selectionModel.isSelected(e);null!=e.value||this._multiple?(r!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),i&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),i&&this.focus())):(e.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(e.value)),r!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const e=this.options.toArray();this._selectionModel.sort((i,r)=>this.sortComparator?this.sortComparator(i,r,e):e.indexOf(i)-e.indexOf(r)),this.stateChanges.next()}}_propagateChanges(e){let i;i=this.multiple?this.selected.map(r=>r.value):this.selected?this.selected.value:e,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let e=-1;for(let i=0;i0}focus(e){this._elementRef.nativeElement.focus(e)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;const e=this._parentFormField?.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;const e=this._parentFormField?.getLabelId();let i=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(i+=" "+this.ariaLabelledby),i}_panelDoneAnimating(e){this.openedChange.emit(e)}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}static{this.\u0275fac=function(i){return new(i||t)(N(AL),N(ao),N(mn),N(v$),N(Mn),N(Mu,8),N(Q0,8),N(G0,8),N(c3,8),N(sd,10),Oc("tabindex"),N(GZ),N(Qve),N(tRe,8))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-select"]],contentQueries:function(i,r,o){if(1&i&&(kr(o,WZ,5),kr(o,Fu,5),kr(o,T$,5)),2&i){let s;ln(s=dn())&&(r.customTrigger=s.first),ln(s=dn())&&(r.options=s),ln(s=dn())&&(r.optionGroups=s)}},viewQuery:function(i,r){if(1&i&&(gi(G2e,5),gi(W2e,5),gi(YW,5)),2&i){let o;ln(o=dn())&&(r.trigger=o.first),ln(o=dn())&&(r.panel=o.first),ln(o=dn())&&(r._overlayDir=o.first)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","listbox",1,"mat-mdc-select"],hostVars:19,hostBindings:function(i,r){1&i&&De("keydown",function(s){return r._handleKeydown(s)})("focus",function(){return r._onFocus()})("blur",function(){return r._onBlur()}),2&i&&(ni("id",r.id)("tabindex",r.disabled?-1:r.tabIndex)("aria-controls",r.panelOpen?r.id+"-panel":null)("aria-expanded",r.panelOpen)("aria-label",r.ariaLabel||null)("aria-required",r.required.toString())("aria-disabled",r.disabled.toString())("aria-invalid",r.errorState)("aria-activedescendant",r._getAriaActiveDescendant()),sn("mat-mdc-select-disabled",r.disabled)("mat-mdc-select-invalid",r.errorState)("mat-mdc-select-required",r.required)("mat-mdc-select-empty",r.empty)("mat-mdc-select-multiple",r.multiple))},inputs:{userAriaDescribedBy:[Ke.None,"aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",disabled:[Ke.HasDecoratorInputTransform,"disabled","disabled",Nn],disableRipple:[Ke.HasDecoratorInputTransform,"disableRipple","disableRipple",Nn],tabIndex:[Ke.HasDecoratorInputTransform,"tabIndex","tabIndex",e=>null==e?0:qs(e)],hideSingleSelectionIndicator:[Ke.HasDecoratorInputTransform,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",Nn],placeholder:"placeholder",required:[Ke.HasDecoratorInputTransform,"required","required",Nn],multiple:[Ke.HasDecoratorInputTransform,"multiple","multiple",Nn],disableOptionCentering:[Ke.HasDecoratorInputTransform,"disableOptionCentering","disableOptionCentering",Nn],compareWith:"compareWith",value:"value",ariaLabel:[Ke.None,"aria-label","ariaLabel"],ariaLabelledby:[Ke.None,"aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:[Ke.HasDecoratorInputTransform,"typeaheadDebounceInterval","typeaheadDebounceInterval",qs],sortComparator:"sortComparator",id:"id",panelWidth:"panelWidth"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},exportAs:["matSelect"],standalone:!0,features:[Zn([{provide:a3,useExisting:t},{provide:k$,useExisting:t}]),Ro,ar,br],ngContentSelectors:j2e,decls:11,vars:8,consts:[["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],["panel",""],["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],[1,"mat-mdc-select-value"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false","aria-hidden","true"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"backdropClick","attach","detach","cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth"],[1,"mat-mdc-select-value-text"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",3,"keydown","ngClass"]],template:function(i,r){if(1&i){const o=Cn();so($2e),T(0,"div",2,0),De("click",function(){return Mt(o),St(r.open())}),T(3,"div",3),$e(4,K2e,2,1,"span",4)(5,q2e,3,1),L(),T(6,"div",5)(7,"div",6),ac(),T(8,"svg",7),fe(9,"path",8),L()()()(),$e(10,Z2e,3,9,"ng-template",9),De("backdropClick",function(){return Mt(o),St(r.close())})("attach",function(){return Mt(o),St(r._onAttached())})("detach",function(){return Mt(o),St(r.close())})}if(2&i){const o=xo(1);D(3),ni("id",r._valueId),D(),at(4,r.empty?4:5),D(6),le("cdkConnectedOverlayPanelClass",r._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",r._scrollStrategy)("cdkConnectedOverlayOrigin",r._preferredOverlayOrigin||o)("cdkConnectedOverlayOpen",r.panelOpen)("cdkConnectedOverlayPositions",r._positions)("cdkConnectedOverlayWidth",r._overlayWidth)}},dependencies:[yL,YW,Qm],styles:['.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color);font-family:var(--mat-select-trigger-text-font);line-height:var(--mat-select-trigger-text-line-height);font-size:var(--mat-select-trigger-text-size);font-weight:var(--mat-select-trigger-text-weight);letter-spacing:var(--mat-select-trigger-text-tracking)}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow)}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color)}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color)}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color)}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color)}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color)}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:GrayText}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-select-panel-background-color)}.cdk-high-contrast-active div.mat-mdc-select-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}div.mat-mdc-select-panel .mat-mdc-option{--mdc-list-list-item-container-color: var(--mat-select-panel-background-color)}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color)}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform)}'],encapsulation:2,data:{animation:[J2e.transformPanel]},changeDetection:0})}}return t})(),rRe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t,selectors:[["mat-select-trigger"]],standalone:!0,features:[Zn([{provide:WZ,useExisting:t}])]})}}return t})(),$Z=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[nRe],imports:[nn,Ty,F$,nr,Cy,Ex,F$,nr]})}}return t})(),oRe=(()=>{class t{transform(e,i){const r=i.toLocaleLowerCase();return e.filter(o=>o.name.toLocaleLowerCase().includes(r))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"filterMetricDataBySearchTerm",type:t,pure:!0})}}return t})();const sRe=["searchTermInput"],aRe=["matSelect"],cRe=[[["","hoveredInformation",""]]],lRe=["[hoveredInformation]"];function dRe(t,n){1&t&&(T(0,"span",10),ge(1),L()),2&t&&(D(),qt(" ",n," "))}function uRe(t,n){if(1&t&&(T(0,"mat-option",8),Ee(1,"attributeDescriptorTooltip"),ge(2),T(3,"span",9),ge(4),L(),fe(5,"br"),$e(6,dRe,2,1,"span",10),L()),2&t){let e;const i=n.$implicit,r=Se();le("value",i.name)("title",po(1,5,r[i.name],i.name)),D(2),qt(" ",i.name," "),D(2),qt("(",i.maxValue,")"),D(2),at(6,(e=null==r[i.name]?null:r[i.name].description)?6:-1,e)}}function hRe(t,n){if(1&t){const e=Cn();T(0,"mat-select",3,0),De("selectionChange",function(r){return Mt(e),St(Se().handleMetricChanged(r.value))})("openedChange",function(r){return Mt(e),St(Se().handleOpenedChanged(r))}),T(2,"mat-select-trigger"),ge(3),L(),T(4,"mat-form-field",4),fe(5,"i",5),T(6,"input",6,1),Cg("ngModelChange",function(r){Mt(e);const o=Se();return g0(o.searchTerm,r)||(o.searchTerm=r),St(r)}),De("keydown",function(r){return Mt(e),St(Se().handleKeyDown(r))}),L()(),T(8,"div",7),xr(9,uRe,7,8,"mat-option",8,Sr),Ee(11,"async"),Ee(12,"filterMetricDataBySearchTerm"),L()()}if(2&t){const e=Se();le("panelClass","cc-metric-chooser")("value",e.selectedMetricName)("disabled",e.isDisabled),D(3),gr(e.selectedMetricName),D(3),le("placeholder",e.searchPlaceholder),xg("ngModel",e.searchTerm),D(3),Cr(po(12,8,Re(11,6,e.metricData$),e.searchTerm))}}function fRe(t,n){1&t&&Rn(0)}let kx=(()=>{class t{constructor(e){this.store=e,this.type="node",this.isDisabled=!1,this.searchTerm="",this.attributeDescriptors$=this.store.select(lT),this.hideMetricSum=!1}ngOnInit(){this.metricData$=this.store.select(Cs).pipe(mt(e=>"node"===this.type?e.nodeMetricData:e.edgeMetricData))}ngAfterViewInit(){this.matOptions.changes.subscribe(e=>{this.setFirstItemActiveOnSearch(e)})}setFirstItemActiveOnSearch(e){const i=e.filter(s=>s._selected),r=e.filter(s=>s.value.toLowerCase().startsWith(this.searchTerm.toLowerCase())).sort((s,a)=>s.value.localeCompare(a.value)),o=this.searchTerm.trim().length>0;setTimeout(()=>{o&&0===i.length&&0===r.length?this.matSelect._keyManager.setActiveItem(0):o&&0===i.length&&r.length>0&&this.matSelect._keyManager.setActiveItem(r[0]);try{document.querySelector(".mdc-list-item--selected").scrollIntoView()}catch{}})}handleOpenedChanged(e){e?(this.searchTermInput.nativeElement.focus(),this.hideMetricSum=!0):(this.searchTerm="",this.hideMetricSum=!1)}handleKeyDown(e){const{key:i}=e;"ArrowDown"!==i&&"ArrowUp"!==i&&"Enter"!==i&&"Escape"!==i&&e.stopPropagation()}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-metric-chooser"]],viewQuery:function(i,r){if(1&i&&(gi(sRe,5),gi(aRe,5),gi(Fu,5)),2&i){let o;ln(o=dn())&&(r.searchTermInput=o.first),ln(o=dn())&&(r.matSelect=o.first),ln(o=dn())&&(r.matOptions=o)}},inputs:{selectedMetricName:"selectedMetricName",searchPlaceholder:"searchPlaceholder",handleMetricChanged:"handleMetricChanged",type:"type",isDisabled:"isDisabled"},ngContentSelectors:lRe,decls:3,vars:4,consts:[["matSelect",""],["searchTermInput",""],[3,"panelClass","value","disabled"],[3,"selectionChange","openedChange","panelClass","value","disabled"],[1,"cc-metric-chooser-search-field"],["matPrefix","",1,"fa","fa-search","search-icon"],["matInput","","type","text",3,"ngModelChange","keydown","placeholder","ngModel"],[1,"cc-metric-chooser-option-container"],[3,"value","title"],[1,"metric-max-value"],[1,"metric-subtitle"]],template:function(i,r){if(1&i&&(so(cRe),$e(0,hRe,13,11,"mat-select",2),Ee(1,"async"),$e(2,fRe,1,0)),2&i){let o;at(0,(o=Re(1,2,r.attributeDescriptors$))?0:-1,o),D(2),at(2,r.hideMetricSum?-1:2)}},dependencies:[Dd,yZ,$p,rRe,Fu,Gp,jm,P0,z0,Ln,hT,oRe],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-metric-chooser{width:100%}cc-metric-chooser cc-metric-chooser-value,cc-metric-chooser .cc-metric-chooser-container{position:absolute;top:10%;right:28px}cc-metric-chooser cc-metric-chooser-value .metric-value,cc-metric-chooser .cc-metric-chooser-container .metric-value{height:25px}cc-metric-chooser cc-metric-chooser-value .metric-value .rounded-box,cc-metric-chooser .cc-metric-chooser-container .metric-value .rounded-box{background-color:#e6e6e6;border-radius:2px;padding:2px 5px;display:inline-block}cc-metric-chooser .mat-mdc-select-placeholder{color:#000!important}cc-metric-chooser:hover .metric-value{display:none}.mat-mdc-select-panel.cc-metric-chooser .cc-metric-chooser-search-field{position:fixed;top:98px;z-index:-1;width:300px;font-size:14px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-mdc-select-panel.cc-metric-chooser .cc-metric-chooser-search-field .search-icon{color:#1b9cfc;margin-left:8px;font-size:18px}.mat-mdc-select-panel.cc-metric-chooser .cc-metric-chooser-search-field .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{display:none}.mat-mdc-select-panel.cc-metric-chooser .cc-metric-chooser-search-field .mat-mdc-form-field-infix{margin-left:6px;display:flex}.mat-mdc-select-panel.cc-metric-chooser .cc-metric-chooser-option-container{font-size:16px}.mat-mdc-select-panel.cc-metric-chooser .cc-metric-chooser-option-container mat-option .metric-max-value{color:#ccc}.mat-mdc-select-panel.cc-metric-chooser .cc-metric-chooser-option-container mat-option .metric-subtitle{color:#999;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) .mdc-menu-surface.mat-mdc-select-panel{position:absolute;width:300px;max-height:216px;right:0;top:72px;padding:0}\n'],encapsulation:2})}}return t})();const jZ=Bt($b,gx,(t,n)=>t.get(n));class mRe{constructor(){this.vertexShaderCode=A(1812),this.fragmentShaderCode=A(1190)}}class pRe{constructor(n){this._buildings=new Array,this.mapSize=n,this.scales=new j(1,1,1)}add(n){this._buildings.push(n)}get buildings(){return this._buildings}setScales(n){this.scales=new j(n.x,n.y,n.z)}getBuildingByPath(n){return this.buildings.find(e=>e.node.path===n)}intersect(n){let e,i=Number.POSITIVE_INFINITY;const r=this.scales.clone().multiplyScalar(this.mapSize).multiply(new j(-1,0,-1));for(const o of this._buildings){const s=o.boundingBox.clone();if(s.min.multiply(this.scales),s.max.multiply(this.scales),s.translate(r),this.rayIntersectsAxisAlignedBoundingBox(n,s)){const a=n.intersectBox(s,new j);if(a){const c=a.distanceTo(n.origin);c=o}}class ARe{constructor(n,e,i,r){this._id=n,this._boundingBox=e,this._color=r,this._defaultColor=r,this._deltaColor="#000000",this._defaultDeltaColor="#000000",this._node=i}getCenterPoint(n){return new j(this._node.x0-n+this._node.width/2,this._node.z0+this._node.height,this._node.y0-n+this._node.length/2)}decreaseLightness(n){this._color=this._decreaseLightnessForColor(this._defaultColor,n),this._node.deltas&&(this._deltaColor=this._decreaseLightnessForColor(this._defaultDeltaColor,n))}_decreaseLightnessForColor(n,e){const i=Qi.hexToHSL(n);return i.decreaseLightness(e),i.getLightness()<10?i.setLightness(10):i.setLightness(i.getLightness()),i.toHex()}getColorVector(){return Qi.getVector3(this._color)}getDefaultColorVector(){return Qi.getVector3(this._defaultColor)}getDeltaColorVector(){return Qi.getVector3(this._deltaColor)}getDefaultDeltaColorVector(){return Qi.getVector3(this._defaultDeltaColor)}resetColor(){this._color=this._defaultColor,this._deltaColor=this._defaultDeltaColor}equals(n){return this._id===n._id}get id(){return this._id}get boundingBox(){return this._boundingBox}get color(){return this._color}get node(){return this._node}get deltaColor(){return this._deltaColor}get defaultDeltaColor(){return this._defaultDeltaColor}setColor(n){this._color=n}setNode(n){this._node=n}setInitialDeltaColor(n){this._defaultDeltaColor=n,this._deltaColor=n}setDeltaColor(n){this._deltaColor=n}}var FT=function(t){return t[t.left=0]="left",t[t.right=1]="right",t[t.bottom=2]="bottom",t[t.top=3]="top",t[t.back=4]="back",t[t.front=5]="front",t}(FT||{});const gRe=[[-1,0,0],[1,0,0],[0,-1,0],[0,1,0],[0,0,-1],[0,0,1]],KZ=[1,0,1,1,0,1,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,1,0,1,1,0,0,0,0,1,1,1];function XZ(t,n,e,i,r,o,s){o.add(new ARe(r,new ms(new j(e.x,e.y,e.z),new j(e.x+e.width,e.y+e.height,e.z+e.depth)),n,i)),t.uvs.set(KZ,r*KZ.length),function bRe(t,n,e){const{x:i,y:r,z:o,width:s,height:a,depth:c}=n,l=i+s,d=r+a,u=o+c;let h=4*e*6*3;t[h++]=i,t[h++]=r,t[h++]=o,t[h++]=i,t[h++]=d,t[h++]=o,t[h++]=i,t[h++]=d,t[h++]=u,t[h++]=i,t[h++]=r,t[h++]=u,t[h++]=l,t[h++]=r,t[h++]=o,t[h++]=l,t[h++]=d,t[h++]=o,t[h++]=l,t[h++]=d,t[h++]=u,t[h++]=l,t[h++]=r,t[h++]=u,t[h++]=i,t[h++]=r,t[h++]=o,t[h++]=i,t[h++]=r,t[h++]=u,t[h++]=l,t[h++]=r,t[h++]=u,t[h++]=l,t[h++]=r,t[h++]=o,t[h++]=i,t[h++]=d,t[h++]=o,t[h++]=i,t[h++]=d,t[h++]=u,t[h++]=l,t[h++]=d,t[h++]=u,t[h++]=l,t[h++]=d,t[h++]=o,t[h++]=l,t[h++]=r,t[h++]=u,t[h++]=i,t[h++]=r,t[h++]=u,t[h++]=i,t[h++]=d,t[h++]=u,t[h++]=l,t[h++]=d,t[h++]=u,t[h++]=l,t[h++]=r,t[h++]=o,t[h++]=i,t[h++]=r,t[h++]=o,t[h++]=i,t[h++]=d,t[h++]=o,t[h++]=l,t[h++]=d,t[h++]=o}(t.positions,e,r),function vRe(t,n,e,i,r,o){const{y:s,height:a}=n,l=i/(s+a-s);let d=6*r*4,u=3*d,h=6*r*6;const f=Qi.getVector3Array(e);for(let b=0;b<6;b++){const y=_Re(b,t),C=gRe[b],x=d,w=d+1,S=d+2,M=d+3;o.isHeight.set(y,d);for(const W=d+4;d{class t{static{this.MINIMAL_BUILDING_HEIGHT=1}build(e,i,r,o){const s=new pRe(Qo);this.floorGradient=Qi.gradient("#333333","#DDDDDD",this.getMaxNodeDepth(e)),this.materials=[i];const a=e.length,h=4*a*6,f={positions:new Float32Array(3*h),uvs:new Float32Array(2*h),normals:new Float32Array(3*h),colors:new Float32Array(3*h),indices:new Uint32Array(6*a*6),ids:new Float32Array(h),deltas:new Float32Array(h),isHeight:new Float32Array(h)};for(const[b,y]of e.entries())y.isLeaf?this.addBuilding(f,y,b,s,r,o):this.addFloor(f,y,b,s);return{mesh:this.buildMeshFromIntermediateVertexData(f),desc:s}}getMaxNodeDepth(e){return e.reduce((i,{depth:r})=>Math.max(r,i),0)}mapNodeToLocalBox(e){return{x:e.x0,y:e.z0,z:e.y0,width:e.width,height:e.height,depth:e.length}}ensureMinHeightUnlessDeltaIsNegative(e,i){return i<=0?e:Math.max(e,t.MINIMAL_BUILDING_HEIGHT)}addFloor(e,i,r,o){const s=this.getMarkingColorWithGradient(i);XZ(e,i,this.mapNodeToLocalBox(i),s,r,o,0)}getMarkingColorWithGradient(e){if(e.markingColor){const r=Qi.getNumber(e.markingColor)&(e.depth%2==0?14540253:16777215);return Qi.convertNumberToHex(r)}return this.floorGradient[e.depth]}addBuilding(e,i,r,o,s,a){const c=this.mapNodeToLocalBox(i);c.height=this.ensureMinHeightUnlessDeltaIsNegative(i.height,i.heightDelta);let l=0;a&&i.deltas&&i.deltas[s.dynamicSettings.heightMetric]&&i.heightDelta&&(l=i.heightDelta,!i.flat&&l<0&&(c.height+=Math.abs(l))),XZ(e,i,c,i.color,r,o,l)}buildMeshFromIntermediateVertexData(e){const o=new Float32Array(e.colors),s=new En;return s.setAttribute("position",new kn(e.positions,3)),s.setAttribute("normal",new kn(e.normals,3)),s.setAttribute("isHeight",new kn(e.isHeight,1)),s.setAttribute("uv",new kn(e.uvs,2)),s.setAttribute("color",new kn(e.colors,3)),s.setAttribute("deltaColor",new kn(o,3)),s.setAttribute("subGeomIdx",new kn(e.ids,1)),s.setAttribute("delta",new kn(e.deltas,1)),s.setIndex(new kn(e.indices,1)),s.addGroup(0,Number.POSITIVE_INFINITY,0),new Ti(s,this.materials)}}return t})(),wRe=(()=>{class t{static{this.NUM_OF_COLOR_VECTOR_FIELDS=3}static{this.NUM_OF_VERTICES=24}static{this.LIGHTNESS_INCREASE=-10}static{this.LIGHTNESS_DECREASE=20}constructor(e,i,r){this.initMaterial(),this.geomGen=new yRe,this.material.precision="lowp";const o=this.geomGen.build(e,this.material,i,r);this.threeMesh=o.mesh,this.mapGeomDesc=o.desc,this.nodes=e,this.initDeltaColorsOnMesh(i)}getThreeMesh(){return this.threeMesh}getNodes(){return this.nodes}selectBuilding(e,i){e.setColor(i),e.setDeltaColor(i),this.setVertexColor(e.id,e.getColorVector(),e.getDeltaColorVector()),this.updateVertices()}clearSelection(e){e.resetColor(),this.setVertexColor(e.id,e.getDefaultColorVector(),e.getDefaultDeltaColorVector()),this.updateVertices()}getMeshDescription(){return this.mapGeomDesc}getBuildingByPath(e){return this.mapGeomDesc.getBuildingByPath(e)}checkMouseRayMeshIntersection(e,i){const r=this.calculatePickingRay(e,i);return this.getMeshDescription().intersect(r)}setScale(e){this.mapGeomDesc.setScales(e)}highlightBuilding(e,i,r,o){const s=ta.buildingArrayToMap(e);for(const a of this.mapGeomDesc.buildings)this.isBuildingSelected(i,a)||(s.get(a.id)||o.get(a.id)?a.decreaseLightness(t.LIGHTNESS_INCREASE):this.adjustSurroundingBuildingColors(e,a,r),this.setVertexColor(a.id,a.getColorVector(),a.getDeltaColorVector()));this.updateVertices()}clearHighlight(e){for(const i of this.mapGeomDesc.buildings)this.isBuildingSelected(e,i)||this.setVertexColor(i.id,i.getDefaultColorVector(),i.getDefaultDeltaColorVector());this.updateVertices()}adjustSurroundingBuildingColors(e,i,r){if(r.appSettings.isPresentationMode){const o=e[0].getCenterPoint(Qo).distanceTo(i.getCenterPoint(Qo));this.decreaseLightnessByDistance(i,o)}else i.decreaseLightness(t.LIGHTNESS_DECREASE)}initDeltaColorsOnMesh(e){if(this.mapGeomDesc.buildings[0]?.node.deltas){for(const i of this.mapGeomDesc.buildings)this.setNewDeltaColor(i,e),this.setVertexColor(i.id,i.getColorVector(),i.getDeltaColorVector());this.updateVertices()}}setNewDeltaColor(e,i){const{appSettings:{mapColors:r},dynamicSettings:{heightMetric:o}}=i,{node:s}=e;if(s.flat)e.setInitialDeltaColor(r.flat);else if(s.deltas){const a=s.deltas[o];a>0&&e.setInitialDeltaColor(r.positiveDelta),a<0&&e.setInitialDeltaColor(r.negativeDelta)}}isBuildingSelected(e,i){return e&&i.equals(e)}decreaseLightnessByDistance(e,i){i>800?e.decreaseLightness(40):i>400?e.decreaseLightness(30):i>250?e.decreaseLightness(20):i>100?e.decreaseLightness(15):i>50&&e.decreaseLightness(10)}setVertexColor(e,i,r){const o=t.NUM_OF_VERTICES,s=e*o,a=this.threeMesh.geometry.getAttribute("color"),c=this.threeMesh.geometry.getAttribute("deltaColor");for(let l=s;lw&&(w=l),R=C*C*P,(S=Math.max(w/R,R/x))>M){C-=l;break}M=S}s.push(c={value:C,dice:f1?i:1)},e}((1+Math.sqrt(5))/2);function Tx(){return 0}function Fx(t){return function(){return t}}function TRe(){var t=kRe,n=!1,e=1,i=1,r=[0],o=Tx,s=Tx,a=Tx,c=Tx,l=Tx;function d(h){return h.x0=h.y0=0,h.x1=e,h.y1=i,h.eachBefore(u),r=[0],n&&h.eachBefore(xRe),h}function u(h){var f=r[h.depth],b=h.x0+f,y=h.y0+f,C=h.x1-f,x=h.y1-f;C{!Ao(C)&&s&&(0===C.depth&&(u+=ZZ),C.depth>0&&C.depth<3&&(u+=JZ))});const h=(l+o*a+u)*e,f=(d+o*a+u)*e;let b;return{treeMap:TRe().size([h,f]).paddingOuter(c).paddingInner(c).paddingRight(C=>{if(!b&&null===C.parent&&(b=C),b&&s){if(0===C.depth)return Math.max((b.x1-b.x0)*FRe,ZZ);if(C.depth>0&&C.depth<3)return Math.max((b.x1-b.x0)*BRe,JZ)}return c})(r.sum(C=>function LRe(t,{dynamicSettings:n,appSettings:e,fileSettings:i},r){if(t.isExcluded)return 0;if(t.deltas&&function RRe(t,n){return 0===t.attributes[n.areaMetric]&&t.deltas[n.heightMetric]<0}(t,n))return Math.abs(t.deltas[n.areaMetric]);if(Ao(t)&&t.attributes?.[n.areaMetric]){const o=n.areaMetric;return 1===i.attributeDescriptors[o]?.direction?e.invertArea?t.attributes[n.areaMetric]:r-t.attributes[n.areaMetric]:e.invertArea?r-t.attributes[n.areaMetric]:t.attributes[n.areaMetric]}return 0}(C,n,i)*e)),height:f,width:h}}function iJ(t){let n=0,e=0;return t.each(({data:i})=>{(i.isExcluded||i.isFlattened)&&e++,n++}),2*Math.sqrt(n-e)}class $f{constructor(n,e,i){this.topLeft=n,this.bottomRight=n.clone().add(new ut(e,i)),this.width=e,this.height=i}shorterSide(){return this.width>this.height?this.height:this.width}isVertical(){return this.height>this.width}area(){return this.width*this.height}getBottomRight(){return this.bottomRight}}class g3{constructor(n){this.height=0,this.width=0,this.FIXED_MARGIN=.5,this.node=n}createMarginatedRectangle(n){const e=new ut(n.x+this.FIXED_MARGIN,n.y+this.FIXED_MARGIN);return new $f(e,this.width-2*this.FIXED_MARGIN,this.height-2*this.FIXED_MARGIN)}}var b3=function(t){return t[t.Horizontal=0]="Horizontal",t[t.Vertical=1]="Vertical",t}(b3||{});class rJ extends g3{constructor(){super(...arguments),this.spacer=2,this.maxStreetThickness=10}getStreetThickness(){return this.maxStreetThickness/(this.depth+1)}}function BT(t,n){let e=t.attributes[n]||0;if(0===e&&t.children&&t.children.length>0)for(const i of t.children)e+=BT(i,n);return e}const t_={calculateSize:BT,mergeDirectories:function PRe(t,n){let e=t;const i=BT(t,n);for(const r of t.children)if(!Ao(r)&&i===BT(r,n)){const s=e.name;e=r,e.name=`${s}/${r.name}`;break}return e},buildNodeFrom:function ORe(t,n,e,i,r){const o=!(t.children&&t.children.length>0),s=rT(t,i),a=ta.getHeightValue(i,t,e,s),c=Math.abs(o?Math.max(n*a,ta.MIN_BUILDING_HEIGHT):ta.FOLDER_HEIGHT),l=t.rect.height,d=t.rect.topLeft.x,u=t.rect.topLeft.y,h=t.zOffset*ta.FOLDER_HEIGHT;return{name:t.name,id:t.id,width:t.rect.width,height:c,length:l,depth:t.zOffset,mapNodeDepth:100,x0:d,z0:h,y0:u,isLeaf:o,attributes:t.attributes,edgeAttributes:t.edgeAttributes,deltas:t.deltas,heightDelta:t.deltas?.[i.dynamicSettings.heightMetric]?n*t.deltas[i.dynamicSettings.heightMetric]:0,visible:RN(t,o,i,s),path:t.path,link:t.link,markingColor:IM(t,i.fileSettings.markedPackages),flat:s,color:LN(t,i,ju(i),r,s),incomingEdgePoint:iT(t.rect.width,c,l,new j(d,h,u),Qo),outgoingEdgePoint:iT(t.rect.width,c,l,new j(d,h,u),Qo)}}};var jf=function(t){return t[t.RIGHT=0]="RIGHT",t[t.LEFT=1]="LEFT",t}(jf||{});class jp extends rJ{constructor(n,e,i,r=jf.RIGHT){super(n),this.children=[],this.topRow=[],this.bottomRow=[],this.children=e,this.depth=i,this.orientation=r}calculateDimension(n){for(const e of this.children)e.calculateDimension(n);this.splitChildrenToRows(this.children),this.rearrangeRows(),this.metricValue=t_.calculateSize(this.node,n),this.width=Math.max(this.getLength(this.topRow),this.getLength(this.bottomRow)),this.height=this.getMaxHeight(this.topRow)+this.getStreetThickness()+this.getMaxHeight(this.bottomRow)+2*this.spacer}layout(n,e){const i=this.getMaxHeight(this.topRow),r=this.layoutTopRow(e,i,n),o=this.layoutBottomRow(e,i,n);return[...r,this.layoutStreet(e,i),...o]}layoutTopRow(n,e,i){const r=new ut(n.x,n.y),o=[];if(this.orientation===jf.LEFT){const s=this.getLength(this.topRow);r.x+=this.width-s}for(let s=0;sMath.max(e,i.height),Number.MIN_VALUE)}calculateStreetOverhang(n){return this.orientation===jf.LEFT?this.calculateLeftStreetOverhang(n):this.calculateRightStreetOverhang(n)}calculateLeftStreetOverhang(n){const e=this.topRow[0],i=this.bottomRow[0],r=e instanceof n_&&e.streetRect?e.streetRect.topLeft.x-n.x:this.width-this.getLength(this.topRow),o=i instanceof n_&&i.streetRect?i.streetRect.topLeft.x-n.x:this.width-this.getLength(this.bottomRow);return r>0&&o>0?Math.min(r,o):0}calculateRightStreetOverhang(n){const e=this.topRow.at(-1),i=this.bottomRow.at(-1),r=n.x+this.width,o=e instanceof n_&&e.streetRect?r-e.streetRect.getBottomRight().x:this.width-this.getLength(this.topRow),s=i instanceof n_&&i.streetRect?r-i.streetRect.getBottomRight().x:this.width-this.getLength(this.bottomRow);return o>0&&s>0?Math.min(o,s):0}}var Kf=function(t){return t[t.UP=0]="UP",t[t.DOWN=1]="DOWN",t}(Kf||{});class n_ extends rJ{constructor(n,e,i,r=Kf.UP){super(n),this.children=[],this.leftRow=[],this.rightRow=[],this.children=e,this.depth=i,this.orientation=r}calculateDimension(n){for(const e of this.children)e.calculateDimension(n);this.splitChildrenToRows(this.children),this.rearrangeRows(),this.metricValue=t_.calculateSize(this.node,n),this.width=this.getMaxWidth(this.leftRow)+this.getStreetThickness()+this.getMaxWidth(this.rightRow)+2*this.spacer,this.height=Math.max(this.getLength(this.leftRow),this.getLength(this.rightRow))}layout(n,e){const i=this.getMaxWidth(this.leftRow),r=this.layoutLeftRow(e,i,n),o=this.layoutRightRow(e,i,n);return[...r,this.layoutStreet(e,i),...o]}layoutLeftRow(n,e,i){const r=new ut(n.x,n.y),o=[];if(this.orientation===Kf.UP){const s=this.getLength(this.leftRow);r.y+=this.height-s}for(let s=0;sMath.max(e,i.width),Number.MIN_VALUE)}calculateStreetOverhang(n){return this.orientation===Kf.UP?this.calculateTopStreetOverhang(n):this.calculateBottomStreetOverhang(n)}calculateTopStreetOverhang(n){const e=this.leftRow[0],i=this.rightRow[0],r=e instanceof jp&&e.streetRect?e.streetRect.topLeft.y-n.y:this.height-this.getLength(this.leftRow),o=i instanceof jp&&i.streetRect?i.streetRect.topLeft.y-n.y:this.height-this.getLength(this.rightRow);return r>0&&o>0?Math.min(r,o):0}calculateBottomStreetOverhang(n){const e=this.leftRow.at(-1),i=this.rightRow.at(-1),r=n.y+this.height,o=e instanceof jp&&e.streetRect?r-e.streetRect.getBottomRight().y:this.height-this.getLength(this.leftRow),s=i instanceof jp&&i.streetRect?r-i.streetRect.getBottomRight().y:this.height-this.getLength(this.rightRow);return o>0&&s>0?Math.min(o,s):0}}class NRe extends g3{constructor(n){super(n)}calculateDimension(n){this.metricValue=t_.calculateSize(this.node,n);const e=Math.sqrt(this.metricValue);this.width=this.height=e}layout(n,e){return[{...this.node,value:this.metricValue,rect:this.createMarginatedRectangle(e),zOffset:0}]}}class URe extends g3{constructor(n){super(n),this.treeMapNodes=[]}calculateDimension(n){this.metricName=n,this.metricValue=ta.calculateSize(this.node,n),this.width=Math.sqrt(this.metricValue),this.height=Math.sqrt(this.metricValue)}}class oJ{constructor(n){this.nodes=[],this.nodes=n}totalScaledSize(n,e,i,r){return n.reduce((o,s)=>o+this.scaledSize(s,i,r,e),0)}totalSize(n){return this.nodes.reduce((e,i)=>e+ta.calculateSize(i,n),0)}min(n,e,i,r){return n.reduce((o,s)=>Math.min(o,this.scaledSize(s,i,r,e)),Number.MAX_VALUE)}max(n,e,i,r){return n.reduce((o,s)=>Math.max(o,this.scaledSize(s,i,r,e)),Number.MIN_VALUE)}populate(n,e,i,r){for(const o of n){const s=this.worstAspectRatio(this.nodes,e,i,r);if(!(this.worstAspectRatio([...this.nodes,o],e,i,r)0?b/u:0,C=new $f(new ut(a,n.topLeft.y),y,u);h.push({...f,value:"File"===f.type?e:0,rect:this.applyNodeMargin(C,o),zOffset:r}),a+=y}return h}worstAspectRatio(n,e,i,r){const o=e.width,s=e.area(),a=this.totalScaledSize(n,r,i,s),c=this.min(n,r,i,s),l=this.max(n,r,i,s),d=Math.pow(o,2),u=Math.pow(a,2);return Math.max(d*l/u,u/(d*c))}}var v3=function(t){return t[t.topToBottom=0]="topToBottom",t[t.bottomToTop=1]="bottomToTop",t}(v3||{});class HRe extends oJ{constructor(n){super(n)}layout(n,e,i,r,o,s=v3.topToBottom){let a=n.topLeft.y;s!==v3.topToBottom&&this.nodes.reverse();const c=this.nodes,l=n.area(),d=n.height,u=this.totalScaledSize(c,i,e,l)/d,h=[];for(const f of c){const b=this.scaledSize(f,e,l,i),y=u>0?b/u:0,C=new $f(new ut(n.topLeft.x,a),u,y);h.push({...f,value:"File"===f.type?e:0,rect:this.applyNodeMargin(C,o),zOffset:r}),a+=y}return h}worstAspectRatio(n,e,i,r){const o=e.height,s=e.area(),a=this.totalScaledSize(n,r,i,s),c=this.min(n,r,i,s),l=this.max(n,r,i,s),d=o**2,u=a**2;return Math.max(d*l/u,u/(d*c))}}class VRe extends URe{constructor(n){super(n)}layout(n,e=new ut(0,0)){const i=this.createMarginatedRectangle(e),r={...this.node,value:this.metricValue,rect:i,zOffset:0},o=this.node.children.filter(s=>ta.calculateSize(s,this.metricName)>0);return this.treeMapNodes.push(r),o.length>0&&this.createNodes(o,i,this.metricValue,1,n),this.treeMapNodes}createNodes(n,e,i,r,o){let s=0,a=new $f(new ut(e.topLeft.x,e.topLeft.y),e.width,e.height),c=i;const l=this.orderBySizeDescending(n);do{const d=this.createStrip(a,l.slice(s),c),u=d.totalSize(this.metricName);if(u>0){const h=this.createStripNodes(d,a,c,r,o);this.createChildrenNodes(h,r,o),a=this.remainingRectangle(a,d,c,a.area()),c-=u}s+=d.nodes.length}while(s0){const o=r.children.filter(s=>ta.calculateSize(s,this.metricName)>0);if(o.length>0){const s=ta.calculateSize(r,this.metricName);this.createNodes(o,r.rect,s,e+1,i)}}}orderBySizeDescending(n){return n.sort((e,i)=>ta.calculateSize(i,this.metricName)-ta.calculateSize(e,this.metricName))}}class Kp{static createStreetLayoutNodes(n,e,i,r){const o=RM(e.files),s=i.find(y=>y.name===e.dynamicSettings.heightMetric).maxValue*o,a=2*Qo/s*.1,c=e.dynamicSettings.areaMetric,l=t_.mergeDirectories(n,c),u=this.createBoxes(l,c,e,b3.Vertical,0,e.appSettings.maxTreeMapFiles),h=new jp(l,u,0);return h.calculateDimension(c),h.layout(.02*e.dynamicSettings.margin,new ut(0,0)).map(y=>t_.buildNodeFrom(y,a,s,e,r))}static createBoxes(n,e,i,r,o,s){const a=[],c=i.dynamicSettings.areaMetric;for(let l of n.children){if(Cu(l.path,i.fileSettings.blacklist,"exclude"))continue;if(Ao(l)){a.push(new NRe(l));continue}const d=i.appSettings.layoutAlgorithm,u=Kp.countFileDescendants(l);if(d===Ad.TreeMapStreet&&u<=s){const h=Kp.createTreeMap(l);a.push(h)}else{l=t_.mergeDirectories(l,c);const h=Kp.createBoxes(l,e,i,1-r,o+1,s),f=Kp.createStreet(l,r,h,o);a.push(f)}}return a}static createStreet(n,e,i,r){return e===b3.Horizontal?new jp(n,i,r):new n_(n,i,r)}static createTreeMap(n){return new VRe(n)}static countFileDescendants(n){let e=0;for(const i of n.children)e+=Ao(i)?1:Kp.countFileDescendants(i);return e}}const aJ=Bt(Pr,t=>t.amountOfEdgePreviews),GRe=Bt(Cs,Xu,aJ,(t,n,e)=>new Set(WRe(t.nodeEdgeMetricsMap,n,e))),WRe=(t,n,e)=>{const i=[];if(0===e)return i;const r=t.get(n);if(void 0===r)return i;for(const o of r.keys())if(i.push(o),i.length===e)break;return i},$Re=Bt(gy,t=>t.edges),KRe=Bt(GRe,$Re,Xu,(t,n,e)=>{const i=hd(n);return((t,n,e)=>{for(const i of n)if(i.visible=gd.none,void 0!==i.attributes[e]){const r=t.has(i.fromNodeName),o=t.has(i.toNodeName);r&&o?i.visible=gd.both:r?i.visible=gd.from:o&&(i.visible=gd.to)}})(t,i,e),i});let XRe=(()=>{class t{constructor(e,i,r,o){this.store=e,this.state=i,this.threeSceneService=r,this.idToBuildingService=o,this.VERTICES_PER_LINE=5,this.arrows=new Array,this.HIGHLIGHT_BUILDING_DELAY=1,this.debounceCalculation=Bd(s=>this.resetEdgesOfBuildings(s),this.HIGHLIGHT_BUILDING_DELAY),this.subscription=this.store.select(gx).pipe(co(s=>{if(null!==s){const a=this.idToBuildingService.get(s);this.onBuildingHovered(a)}else this.onBuildingUnhovered()})).subscribe(),this.resetEdgesOfBuildings=s=>{this.isEdgeApplicableForBuilding(s)&&(this.clearArrows(),this.showEdgesOfBuildings(s)),this.scale()},this.onBuildingSelected=s=>{this.isEdgeApplicableForBuilding(s.building)&&(this.clearArrows(),this.showEdgesOfBuildings()),this.scale()},this.onBuildingDeselected=()=>{this.clearArrows(),this.addEdgePreview()},this.threeSceneService.subscribe("onBuildingSelected",this.onBuildingSelected),this.threeSceneService.subscribe("onBuildingDeselected",this.onBuildingDeselected)}ngOnDestroy(){this.subscription.unsubscribe()}onBuildingHovered(e){this.debounceCalculation(e)}onBuildingUnhovered(){const{isEdgeMetricVisible:e}=this.state.getValue().appSettings;e&&(this.clearArrows(),this.showEdgesOfBuildings()),this.scale()}clearArrows(){this.arrows=[],this.threeSceneService.edgeArrows.children.length=0}addArrow(e,i,r){const{appSettings:o,dynamicSettings:s}=this.state.getValue(),a=100*o.edgeHeight;if(e.attributes?.[s.heightMetric]&&i.attributes?.[s.heightMetric]){const c=this.createCurve(i,e,a),l=Qi.getNumber(o.mapColors[r?"outgoingEdge":"incomingEdge"]);this.highlightBuilding(r?e:i),this.setCurveColor(c,l)}}addEdgePreview(){const e=KRe(this.state.getValue());for(const i of e){const r=this.map.get(i.fromNodeName),o=this.map.get(i.toNodeName);if(r&&o&&i.visible!==gd.none&&i.visible){const s=100*this.state.getValue().appSettings.edgeHeight,a=this.createCurve(r,o,s);this.previewMode(a,i.visible)}}}addEdgeMapBasedOnNodes(e){this.map=this.getNodesAsMap(e)}scale(){const{scaling:e}=this.state.getValue().appSettings;for(const i of this.arrows)i.scale.x=e.x,i.scale.y=e.y,i.scale.z=e.z}isEdgeApplicableForBuilding(e){return this.state.getValue().appSettings.isEdgeMetricVisible&&e&&!e.node.flat}showEdgesOfBuildings(e){const i=new Map,r=this.threeSceneService.getSelectedBuilding();if(r){const{node:o}=r;i.set(o.path,o)}if(e){const{node:o}=e;i.set(o.path,o)}i.size>0?this.buildPairingEdges(i):this.addEdgePreview()}buildPairingEdges(e){const{edges:i}=this.state.getValue().fileSettings;for(const r of i){const o=this.map.get(r.fromNodeName);if(void 0===o)continue;const s=this.map.get(r.toNodeName);void 0!==s&&(e.has(o.path)?(this.addArrow(s,o,!0),this.threeSceneService.highlightBuildings()):e.has(s.path)&&(this.addArrow(s,o,!1),this.threeSceneService.highlightBuildings()))}}createCurve(e,i,r){const o=e.outgoingEdgePoint.clone(),s=i.incomingEdgePoint.clone(),a=Math.max(o.y+i.height,s.y+1)+r;return o.setY(a),s.setY(a),new Hk(e.outgoingEdgePoint,o,s,i.incomingEdgePoint)}highlightBuilding(e){const i=this.threeSceneService.getMapMesh().getMeshDescription().getBuildingByPath(e.path);this.threeSceneService.addBuildingToHighlightingList(i)}setCurveColor(e,i,r=50){const o=e.getPoints(r),s=this.buildLine(o,i);s.add(this.buildArrow(o)),this.threeSceneService.edgeArrows.add(s),this.arrows.push(s)}previewMode(e,i){if(i===gd.both||i===gd.from){const r=this.makeArrowFromBezier(e,!1);this.threeSceneService.edgeArrows.add(r),this.arrows.push(r)}if(i===gd.both||i===gd.to){const r=this.makeArrowFromBezier(e,!0);this.threeSceneService.edgeArrows.add(r),this.arrows.push(r)}}getNodesAsMap(e){const i=new Map;for(const r of e)i.set(r.path,r);return i}makeArrowFromBezier(e,i,r=50){const o=e.getPoints(r),{incomingEdge:s,outgoingEdge:a}=this.state.getValue().appSettings.mapColors,c=i?s:a,l=i?o.slice(r+1-this.VERTICES_PER_LINE):o.slice(0,o.length-(r+1-this.VERTICES_PER_LINE));return this.buildEdge(l,Qi.getNumber(c))}buildEdge(e,i){const r=this.buildLine(e,i);return r.add(this.buildArrow(e)),r}buildLine(e,i=0){const r=new En;return r.setFromPoints(e),new wa(r,new es({color:i,linewidth:1}))}buildArrow(e,i=0,r=10,o=10){const s=e.at(-1).clone().sub(e.at(-2).clone()).normalize(),a=e.at(-1).clone();return s.y<0&&(a.y+=r+1),new iq(s,a,r+1,i,r,o)}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(Dr),ee(Yc),ee(hx))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),cJ=(()=>{class t{constructor(e,i,r,o,s,a,c){this.store=e,this.state=i,this.threeSceneService=r,this.codeMapLabelService=o,this.codeMapArrowService=s,this.threeStatsService=a,this.codeMapMouseEventService=c,this.nodesByColor={positive:[],neutral:[],negative:[]},this.onIsLoadingFileChanged=l=>{l?this.threeSceneService?.dispose():this.threeStatsService?.resetPanels()},this.subscription=this.store.select(TP).pipe(co(this.onIsLoadingFileChanged)).subscribe()}ngOnDestroy(){this.subscription.unsubscribe()}render(e){const i=this.getNodes(e),r=this.getVisibleNodes(i);this.unflattenedNodes=r.filter(({flat:o})=>!o),this.setNewMapMesh(i,r),this.getNodesMatchingColorSelector(this.unflattenedNodes),this.setLabels(this.unflattenedNodes),this.setArrows(r)}setNewMapMesh(e,i){const r=this.state.getValue(),o=new wRe(i,r,ld(r.files));this.threeSceneService.setMapMesh(e,o)}scaleMap(){this.codeMapMouseEventService.unhoverNode(),this.codeMapLabelService.scale(),this.codeMapArrowService.scale(),this.threeSceneService.scaleHeight(),this.codeMapLabelService.clearLabels(),this.setLabels(this.unflattenedNodes)}getNodes(e){const i=this.state.getValue(),r=Cs(i).nodeMetricData,{appSettings:{layoutAlgorithm:o},files:s}=i,a=ld(s);switch(o){case Ad.StreetMap:case Ad.TreeMapStreet:return Kp.createStreetLayoutNodes(e,i,r,a);case Ad.SquarifiedTreeMap:return function IRe(t,n,e,i){const r=RM(n.files),o=e.find(d=>d.name===n.dynamicSettings.heightMetric)?.maxValue*r,s=e.find(d=>d.name===n.dynamicSettings.areaMetric)?.maxValue*r,a=2*Qo/o;if(tJ(t)){const d=Jr(t),u=[ta.buildRootFolderForFixedFolders(d.data,a,n,i)],h=2*Qo+iJ(d)*(n.dynamicSettings.margin/qZ),f=h/u[0].width,b=h/u[0].length;return function DRe(t,n,e){t.x0*=e,t.y0*=n,t.width*=e,t.length*=n}(u[0],f,b),[...u,...eJ(d,n,f,b,0,0,a,o,s,i,r)]}const c=nJ(t,n,r,s),l=[];for(const d of c.treeMap)l.push(ta.buildNodeFrom(d,a,o,n,i));return l}(e,i,r,a);default:return[]}}getVisibleNodes(e){return e.filter(i=>i.visible&&i.length>0&&i.width>0).sort((i,r)=>r.height-i.height)}getNodesMatchingColorSelector(e){const i=this.state.getValue().dynamicSettings;this.nodesByColor={positive:[],negative:[],neutral:[]};for(const r of e)if(r.isLeaf){const o=r.attributes[i.colorMetric];"unary"===i.colorMetric?this.nodesByColor.positive.push(r):null!==o&&(ol.isLeaf).slice(0,s);this.setBuildingLabel(c,a)}}}setArrows(e){this.codeMapArrowService.clearArrows(),this.codeMapArrowService.addEdgeMapBasedOnNodes(e),this.codeMapArrowService.addEdgePreview()}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(Dr),ee(Yc),ee(Rq),ee(XRe),ee(Iq),ee(bx))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),IT=(()=>{class t{constructor(e,i){this.store=e,this.codeMapRenderService=i}createNodeObservable(){return Su([this.store.select(jZ),this.store.select(Qf),this.createTopLevelNodeObservable()]).pipe(mt(([o,s,a])=>o??s??a))}createTopLevelNodeObservable(){return Su([this.store.select(Xc),this.store.select(xc)]).pipe(Mi(([e])=>!!e.unifiedMapNode),mt(([e])=>this.findTopLevelNode(e)))}findTopLevelNode(e){const i=this.codeMapRenderService.getNodes(e.unifiedMapNode),r=this.codeMapRenderService.getVisibleNodes(i);return r.reduce((o,s)=>o.attributes.unary>s.attributes.unary?o:s,r[0])}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(cJ))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),lJ=(()=>{class t{constructor(e,i){this.store=e,this.nodeSelectionService=i,this.isNodeALeaf=r=>{if(r)return this.isNode(r)?r.isLeaf:Ao(r)}}ngOnInit(){this.isNodeALeaf$=this.nodeSelectionService.createNodeObservable().pipe(mt(e=>this.isNodeALeaf(e))),this.attributeType$=this.store.select(((t,n)=>Bt(cT,FN,(e,i)=>"relative"===i[t][e[n]]?"x\u0342":"\u03a3"))(this.attributeType,this.metricFor))}isNode(e){return"isLeaf"in e}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(IT))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-metric-chooser-type"]],inputs:{metricFor:"metricFor",attributeType:"attributeType"},decls:4,vars:6,consts:[[3,"hidden"]],template:function(i,r){1&i&&(T(0,"span",0),Ee(1,"async"),ge(2),Ee(3,"async"),L()),2&i&&(le("hidden",Re(1,2,r.isNodeALeaf$)),D(2),qt(" ",Re(3,4,r.attributeType$),"\n"))},dependencies:[Ln],encapsulation:2})}}return t})();function qRe(t,n){if(1&t&&(T(0,"div",5),Ee(1,"async"),Ee(2,"async"),ge(3),Ee(4,"async"),L()),2&t){const e=Se(),i=Se();xi("margin-left","2px")("background-color","heightMetric"===i.metricFor&&e.deltas[Re(1,5,i.primaryMetricNames$)[i.metricFor]]>0?"#b1d8a8":e.deltas[Re(2,7,i.primaryMetricNames$)[i.metricFor]]<0?"#ffcccc":"#e6e6e6"),D(3),qt(" \u0394",e.deltas[Re(4,9,i.primaryMetricNames$)[i.metricFor]]," ")}}function ZRe(t,n){if(1&t&&(T(0,"div",0)(1,"div",1),fe(2,"cc-metric-chooser-type",2),T(3,"span",3),ge(4),Ee(5,"async"),L()(),$e(6,qRe,5,11,"div",4),L()),2&t){const e=n,i=Se();D(2),le("attributeType","nodes")("metricFor",i.metricFor),D(2),gr(e.attributes[Re(5,4,i.primaryMetricNames$)[i.metricFor]]),D(2),at(6,e.deltas?6:-1)}}let y3=(()=>{class t{constructor(e,i){this.nodeSelectionService=e,this.store=i,this.node$=this.nodeSelectionService.createNodeObservable(),this.primaryMetricNames$=this.store.select(cT)}static{this.\u0275fac=function(i){return new(i||t)(N(IT),N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-metric-chooser-value"]],inputs:{metricFor:"metricFor"},decls:2,vars:3,consts:[[1,"metric-value"],[1,"rounded-box"],[3,"attributeType","metricFor"],[1,"value"],[1,"rounded-box","value",3,"marginLeft","backgroundColor"],[1,"rounded-box","value"]],template:function(i,r){if(1&i&&($e(0,ZRe,7,6,"div",0),Ee(1,"async")),2&i){let o;at(0,(o=Re(1,1,r.node$))?0:-1,o)}},dependencies:[lJ,Ln],encapsulation:2})}}return t})(),JRe=(()=>{class t{constructor(e){this.store=e,this.areaMetric$=this.store.select(qb)}handleAreaMetricChanged(e){this.store.dispatch(vu({value:e}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-area-metric-chooser"]],decls:4,vars:6,consts:[[1,"fa","fa-arrows-alt"],["title","Change area metric",3,"selectedMetricName","searchPlaceholder","handleMetricChanged"],["hoveredInformation","",3,"metricFor"]],template:function(i,r){1&i&&(fe(0,"i",0),T(1,"cc-metric-chooser",1),Ee(2,"async"),fe(3,"cc-metric-chooser-value",2),L()),2&i&&(D(),le("selectedMetricName",Re(2,4,r.areaMetric$))("searchPlaceholder","Area Metric (highest value)")("handleMetricChanged",r.handleAreaMetricChanged),D(2),le("metricFor","areaMetric"))},dependencies:[kx,y3,Ln],encapsulation:2})}}return t})();const eLe=Bt(xc,t=>t.margin),tLe=Bt(Pr,t=>t.enableFloorLabels),nLe=Bt(Pr,t=>t.invertArea),iLe=["input"],rLe=["label"],oLe=["*"],sLe=new He("mat-checkbox-default-options",{providedIn:"root",factory:dJ});function dJ(){return{color:"accent",clickAction:"check-indeterminate"}}var na=function(t){return t[t.Init=0]="Init",t[t.Checked=1]="Checked",t[t.Unchecked=2]="Unchecked",t[t.Indeterminate=3]="Indeterminate",t}(na||{});const aLe={provide:xs,useExisting:di(()=>Xp),multi:!0};class cLe{}let lLe=0;const uJ=dJ();let Xp=(()=>{class t{focus(){this._inputElement.nativeElement.focus()}_createChangeEvent(e){const i=new cLe;return i.source=this,i.checked=e,i}_getAnimationTargetElement(){return this._inputElement?.nativeElement}get inputId(){return`${this.id||this._uniqueId}-input`}constructor(e,i,r,o,s,a){this._elementRef=e,this._changeDetectorRef=i,this._ngZone=r,this._animationMode=s,this._options=a,this._animationClasses={uncheckedToChecked:"mdc-checkbox--anim-unchecked-checked",uncheckedToIndeterminate:"mdc-checkbox--anim-unchecked-indeterminate",checkedToUnchecked:"mdc-checkbox--anim-checked-unchecked",checkedToIndeterminate:"mdc-checkbox--anim-checked-indeterminate",indeterminateToChecked:"mdc-checkbox--anim-indeterminate-checked",indeterminateToUnchecked:"mdc-checkbox--anim-indeterminate-unchecked"},this.ariaLabel="",this.ariaLabelledby=null,this.labelPosition="after",this.name=null,this.change=new vn,this.indeterminateChange=new vn,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=na.Init,this._controlValueAccessorChangeFn=()=>{},this._validatorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||uJ,this.color=this._options.color||uJ.color,this.tabIndex=parseInt(o)||0,this.id=this._uniqueId="mat-mdc-checkbox-"+ ++lLe}ngOnChanges(e){e.required&&this._validatorChangeFn()}ngAfterViewInit(){this._syncIndeterminate(this._indeterminate)}get checked(){return this._checked}set checked(e){e!=this.checked&&(this._checked=e,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(e){e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(e){const i=e!=this._indeterminate;this._indeterminate=e,i&&(this._transitionCheckState(this._indeterminate?na.Indeterminate:this.checked?na.Checked:na.Unchecked),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(e){this.checked=!!e}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}validate(e){return this.required&&!0!==e.value?{required:!0}:null}registerOnValidatorChange(e){this._validatorChangeFn=e}_transitionCheckState(e){let i=this._currentCheckState,r=this._getAnimationTargetElement();if(i!==e&&r&&(this._currentAnimationClass&&r.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){r.classList.add(this._currentAnimationClass);const o=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{r.classList.remove(o)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){const e=this._options?.clickAction;this.disabled||"noop"===e?!this.disabled&&"noop"===e&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==e&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this._checked=!this._checked,this._transitionCheckState(this._checked?na.Checked:na.Unchecked),this._emitChangeEvent())}_onInteractionEvent(e){e.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition(e,i){if("NoopAnimations"===this._animationMode)return"";switch(e){case na.Init:if(i===na.Checked)return this._animationClasses.uncheckedToChecked;if(i==na.Indeterminate)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case na.Unchecked:return i===na.Checked?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case na.Checked:return i===na.Unchecked?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case na.Indeterminate:return i===na.Checked?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate(e){const i=this._inputElement;i&&(i.nativeElement.indeterminate=e)}_onInputClick(){this._handleInputClick()}_onTouchTargetClick(){this._handleInputClick(),this.disabled||this._inputElement.nativeElement.focus()}_preventBubblingFromLabel(e){e.target&&this._labelElement.nativeElement.contains(e.target)&&e.stopPropagation()}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(ao),N(mn),Oc("tabindex"),N(jo,8),N(sLe,8))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-checkbox"]],viewQuery:function(i,r){if(1&i&&(gi(iLe,5),gi(rLe,5),gi(Tu,5)),2&i){let o;ln(o=dn())&&(r._inputElement=o.first),ln(o=dn())&&(r._labelElement=o.first),ln(o=dn())&&(r.ripple=o.first)}},hostAttrs:[1,"mat-mdc-checkbox"],hostVars:14,hostBindings:function(i,r){2&i&&(rd("id",r.id),ni("tabindex",null)("aria-label",null)("aria-labelledby",null),ll(r.color?"mat-"+r.color:"mat-accent"),sn("_mat-animation-noopable","NoopAnimations"===r._animationMode)("mdc-checkbox--disabled",r.disabled)("mat-mdc-checkbox-disabled",r.disabled)("mat-mdc-checkbox-checked",r.checked))},inputs:{ariaLabel:[Ke.None,"aria-label","ariaLabel"],ariaLabelledby:[Ke.None,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[Ke.None,"aria-describedby","ariaDescribedby"],id:"id",required:[Ke.HasDecoratorInputTransform,"required","required",Nn],labelPosition:"labelPosition",name:"name",value:"value",disableRipple:[Ke.HasDecoratorInputTransform,"disableRipple","disableRipple",Nn],tabIndex:[Ke.HasDecoratorInputTransform,"tabIndex","tabIndex",e=>null==e?void 0:qs(e)],color:"color",checked:[Ke.HasDecoratorInputTransform,"checked","checked",Nn],disabled:[Ke.HasDecoratorInputTransform,"disabled","disabled",Nn],indeterminate:[Ke.HasDecoratorInputTransform,"indeterminate","indeterminate",Nn]},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],standalone:!0,features:[Zn([aLe,{provide:Yo,useExisting:t,multi:!0}]),Ro,ar,br],ngContentSelectors:oLe,decls:15,vars:19,consts:[["checkbox",""],["input",""],["label",""],["mat-internal-form-field","",3,"click","labelPosition"],[1,"mdc-checkbox"],[1,"mat-mdc-checkbox-touch-target",3,"click"],["type","checkbox",1,"mdc-checkbox__native-control",3,"blur","click","change","checked","indeterminate","disabled","id","required","tabIndex"],[1,"mdc-checkbox__ripple"],[1,"mdc-checkbox__background"],["focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mdc-checkbox__checkmark"],["fill","none","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-checkbox__checkmark-path"],[1,"mdc-checkbox__mixedmark"],["mat-ripple","",1,"mat-mdc-checkbox-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-label",3,"for"]],template:function(i,r){if(1&i){const o=Cn();so(),T(0,"div",3),De("click",function(a){return Mt(o),St(r._preventBubblingFromLabel(a))}),T(1,"div",4,0)(3,"div",5),De("click",function(){return Mt(o),St(r._onTouchTargetClick())}),L(),T(4,"input",6,1),De("blur",function(){return Mt(o),St(r._onBlur())})("click",function(){return Mt(o),St(r._onInputClick())})("change",function(a){return Mt(o),St(r._onInteractionEvent(a))}),L(),fe(6,"div",7),T(7,"div",8),ac(),T(8,"svg",9),fe(9,"path",10),L(),PA(),fe(10,"div",11),L(),fe(11,"div",12),L(),T(12,"label",13,2),Rn(14),L()()}if(2&i){const o=xo(2);le("labelPosition",r.labelPosition),D(4),sn("mdc-checkbox--selected",r.checked),le("checked",r.checked)("indeterminate",r.indeterminate)("disabled",r.disabled)("id",r.inputId)("required",r.required)("tabIndex",r.disabled?-1:r.tabIndex),ni("aria-label",r.ariaLabel||null)("aria-labelledby",r.ariaLabelledby)("aria-describedby",r.ariaDescribedby)("aria-checked",r.indeterminate?"mixed":null)("name",r.name)("value",r.value),D(7),le("matRippleTrigger",o)("matRippleDisabled",r.disableRipple||r.disabled)("matRippleCentered",!0),D(),le("for",r.inputId)}},dependencies:[Tu,R$],styles:['.mdc-touch-target-wrapper{display:inline}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:mdc-animation-deceleration-curve-timing-function;transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom}.mdc-checkbox[hidden]{display:none}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{border-color:CanvasText}}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{border-color:CanvasText}}@media all and (-ms-high-contrast: none){.mdc-checkbox .mdc-checkbox__focus-ring{display:none}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--upgraded .mdc-checkbox__checkmark{opacity:1}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background{transition:border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit}.mdc-checkbox__native-control:disabled{cursor:default;pointer-events:none}.mdc-checkbox--touch{margin:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2)}.mdc-checkbox--touch .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);right:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);width:var(--mdc-checkbox-state-layer-size);height:var(--mdc-checkbox-state-layer-size)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__mixedmark{transition:none}.mdc-checkbox{padding:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2);margin:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2)}.mdc-checkbox .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color);background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true][disabled]~.mdc-checkbox__background{border-color:transparent;background-color:var(--mdc-checkbox-disabled-selected-icon-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:var(--mdc-checkbox-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}@keyframes mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}}@keyframes mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}}.mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}@keyframes mdc-checkbox-fade-in-background-FF212121FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}}@keyframes mdc-checkbox-fade-out-background-FF212121FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}}.mdc-checkbox:hover.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:hover.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-FF212121FFF4433600000000FFF44336}.mdc-checkbox:hover.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:hover.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-FF212121FFF4433600000000FFF44336}.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}@keyframes mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}}@keyframes mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}}.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox .mdc-checkbox__background{top:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2)}.mdc-checkbox .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);right:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);width:var(--mdc-checkbox-state-layer-size);height:var(--mdc-checkbox-state-layer-size)}.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:focus:not(:checked):not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-focus-icon-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-focus-icon-color);background-color:var(--mdc-checkbox-selected-focus-icon-color)}.mdc-checkbox:hover .mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox:hover .mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mat-mdc-checkbox{display:inline-block;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-checkbox .mdc-checkbox__background{-webkit-print-color-adjust:exact;color-adjust:exact}.mat-mdc-checkbox._mat-animation-noopable *,.mat-mdc-checkbox._mat-animation-noopable *::before{transition:none !important;animation:none !important}.mat-mdc-checkbox label{cursor:pointer}.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{cursor:default;color:var(--mat-checkbox-disabled-label-color)}.mat-mdc-checkbox label:empty{display:none}.cdk-high-contrast-active .mat-mdc-checkbox.mat-mdc-checkbox-disabled{opacity:.5}.cdk-high-contrast-active .mat-mdc-checkbox .mdc-checkbox__checkmark{--mdc-checkbox-selected-checkmark-color: CanvasText;--mdc-checkbox-disabled-selected-checkmark-color: CanvasText}.mat-mdc-checkbox .mdc-checkbox__ripple{opacity:0}.mat-mdc-checkbox-ripple,.mdc-checkbox__ripple{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-checkbox-ripple:not(:empty),.mdc-checkbox__ripple:not(:empty){transform:translateZ(0)}.mat-mdc-checkbox-ripple .mat-ripple-element{opacity:.1}.mat-mdc-checkbox-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%);display:var(--mat-checkbox-touch-target-display)}.mat-mdc-checkbox-ripple::before{border-radius:50%}.mdc-checkbox__native-control:focus~.mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0})}}return t})(),hJ=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[Xp,nr,nr]})}}return t})();const w3=(t,n,e)=>{const i=Number.parseInt(t.target.value);return ie?e:i},hLe=["knob"],fLe=["valueIndicatorContainer"];function mLe(t,n){if(1&t&&(T(0,"div",2,1)(2,"div",5)(3,"span",6),ge(4),L()()()),2&t){const e=Se();D(4),gr(e.valueIndicatorText)}}const pLe=["trackActive"],ALe=["*"];function gLe(t,n){if(1&t&&fe(0,"div"),2&t){const e=n.$implicit,i=n.$index,r=Se(3);ll(0===e?"mdc-slider__tick-mark--active":"mdc-slider__tick-mark--inactive"),xi("transform",r._calcTickMarkTransform(i))}}function bLe(t,n){1&t&&xr(0,gLe,1,4,"div",8,Sr),2&t&&Cr(Se(2)._tickMarks)}function _Le(t,n){if(1&t&&(T(0,"div",6,1),$e(2,bLe,2,0),L()),2&t){const e=Se();D(2),at(2,e._cachedWidth?2:-1)}}function vLe(t,n){if(1&t&&fe(0,"mat-slider-visual-thumb",7),2&t){const e=Se();le("discrete",e.discrete)("thumbPosition",1)("valueIndicatorText",e.startValueIndicatorText)}}var Jn=function(t){return t[t.START=1]="START",t[t.END=2]="END",t}(Jn||{}),i_=function(t){return t[t.ACTIVE=0]="ACTIVE",t[t.INACTIVE=1]="INACTIVE",t}(i_||{});const DT=new He("_MatSlider"),fJ=new He("_MatSliderThumb"),mJ=new He("_MatSliderRangeThumb"),pJ=new He("_MatSliderVisualThumb");let yLe=(()=>{class t{constructor(e,i,r,o){this._cdr=e,this._ngZone=i,this._slider=o,this._isHovered=!1,this._isActive=!1,this._isValueIndicatorVisible=!1,this._platform=yt(Rr),this._onPointerMove=s=>{if(this._sliderInput._isFocused)return;const a=this._hostElement.getBoundingClientRect(),c=this._slider._isCursorOnSliderThumb(s,a);this._isHovered=c,c?this._showHoverRipple():this._hideRipple(this._hoverRippleRef)},this._onMouseLeave=()=>{this._isHovered=!1,this._hideRipple(this._hoverRippleRef)},this._onFocus=()=>{this._hideRipple(this._hoverRippleRef),this._showFocusRipple(),this._hostElement.classList.add("mdc-slider__thumb--focused")},this._onBlur=()=>{this._isActive||this._hideRipple(this._focusRippleRef),this._isHovered&&this._showHoverRipple(),this._hostElement.classList.remove("mdc-slider__thumb--focused")},this._onDragStart=s=>{0===s.button&&(this._isActive=!0,this._showActiveRipple())},this._onDragEnd=()=>{this._isActive=!1,this._hideRipple(this._activeRippleRef),this._sliderInput._isFocused||this._hideRipple(this._focusRippleRef),this._platform.SAFARI&&this._showHoverRipple()},this._hostElement=r.nativeElement}ngAfterViewInit(){this._ripple.radius=24,this._sliderInput=this._slider._getInput(this.thumbPosition),this._sliderInputEl=this._sliderInput._hostElement;const e=this._sliderInputEl;this._ngZone.runOutsideAngular(()=>{e.addEventListener("pointermove",this._onPointerMove),e.addEventListener("pointerdown",this._onDragStart),e.addEventListener("pointerup",this._onDragEnd),e.addEventListener("pointerleave",this._onMouseLeave),e.addEventListener("focus",this._onFocus),e.addEventListener("blur",this._onBlur)})}ngOnDestroy(){const e=this._sliderInputEl;e&&(e.removeEventListener("pointermove",this._onPointerMove),e.removeEventListener("pointerdown",this._onDragStart),e.removeEventListener("pointerup",this._onDragEnd),e.removeEventListener("pointerleave",this._onMouseLeave),e.removeEventListener("focus",this._onFocus),e.removeEventListener("blur",this._onBlur))}_showHoverRipple(){this._isShowingRipple(this._hoverRippleRef)||(this._hoverRippleRef=this._showRipple({enterDuration:0,exitDuration:0}),this._hoverRippleRef?.element.classList.add("mat-mdc-slider-hover-ripple"))}_showFocusRipple(){this._isShowingRipple(this._focusRippleRef)||(this._focusRippleRef=this._showRipple({enterDuration:0,exitDuration:0},!0),this._focusRippleRef?.element.classList.add("mat-mdc-slider-focus-ripple"))}_showActiveRipple(){this._isShowingRipple(this._activeRippleRef)||(this._activeRippleRef=this._showRipple({enterDuration:225,exitDuration:400}),this._activeRippleRef?.element.classList.add("mat-mdc-slider-active-ripple"))}_isShowingRipple(e){return e?.state===Wa.FADING_IN||e?.state===Wa.VISIBLE}_showRipple(e,i){if(!this._slider.disabled&&(this._showValueIndicator(),this._slider._isRange&&this._slider._getThumb(this.thumbPosition===Jn.START?Jn.END:Jn.START)._showValueIndicator(),!this._slider._globalRippleOptions?.disabled||i))return this._ripple.launch({animation:this._slider._noopAnimations?{enterDuration:0,exitDuration:0}:e,centered:!0,persistent:!0})}_hideRipple(e){if(e?.fadeOut(),this._isShowingAnyRipple())return;this._slider._isRange||this._hideValueIndicator();const i=this._getSibling();i._isShowingAnyRipple()||(this._hideValueIndicator(),i._hideValueIndicator())}_showValueIndicator(){this._hostElement.classList.add("mdc-slider__thumb--with-indicator")}_hideValueIndicator(){this._hostElement.classList.remove("mdc-slider__thumb--with-indicator")}_getSibling(){return this._slider._getThumb(this.thumbPosition===Jn.START?Jn.END:Jn.START)}_getValueIndicatorContainer(){return this._valueIndicatorContainer?.nativeElement}_getKnob(){return this._knob.nativeElement}_isShowingAnyRipple(){return this._isShowingRipple(this._hoverRippleRef)||this._isShowingRipple(this._focusRippleRef)||this._isShowingRipple(this._activeRippleRef)}static{this.\u0275fac=function(i){return new(i||t)(N(ao),N(mn),N(Mn),N(DT))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-slider-visual-thumb"]],viewQuery:function(i,r){if(1&i&&(gi(Tu,5),gi(hLe,5),gi(fLe,5)),2&i){let o;ln(o=dn())&&(r._ripple=o.first),ln(o=dn())&&(r._knob=o.first),ln(o=dn())&&(r._valueIndicatorContainer=o.first)}},hostAttrs:[1,"mdc-slider__thumb","mat-mdc-slider-visual-thumb"],inputs:{discrete:"discrete",thumbPosition:"thumbPosition",valueIndicatorText:"valueIndicatorText"},standalone:!0,features:[Zn([{provide:pJ,useExisting:t}]),br],decls:4,vars:2,consts:[["knob",""],["valueIndicatorContainer",""],[1,"mdc-slider__value-indicator-container"],[1,"mdc-slider__thumb-knob"],["matRipple","",1,"mat-mdc-focus-indicator",3,"matRippleDisabled"],[1,"mdc-slider__value-indicator"],[1,"mdc-slider__value-indicator-text"]],template:function(i,r){1&i&&($e(0,mLe,5,1,"div",2),fe(1,"div",3,0)(3,"div",4)),2&i&&(at(0,r.discrete?0:-1),D(3),le("matRippleDisabled",!0))},dependencies:[Tu],styles:[".mat-mdc-slider-visual-thumb .mat-ripple{height:100%;width:100%}.mat-mdc-slider .mdc-slider__tick-marks{justify-content:start}.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--active,.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--inactive{position:absolute;left:2px}"],encapsulation:2,changeDetection:0})}}return t})(),wLe=(()=>{class t{get disabled(){return this._disabled}set disabled(e){this._disabled=e;const i=this._getInput(Jn.END),r=this._getInput(Jn.START);i&&(i.disabled=this._disabled),r&&(r.disabled=this._disabled)}get discrete(){return this._discrete}set discrete(e){this._discrete=e,this._updateValueIndicatorUIs()}get min(){return this._min}set min(e){const i=isNaN(e)?this._min:e;this._min!==i&&this._updateMin(i)}_updateMin(e){const i=this._min;this._min=e,this._isRange?this._updateMinRange({old:i,new:e}):this._updateMinNonRange(e),this._onMinMaxOrStepChange()}_updateMinRange(e){const i=this._getInput(Jn.END),r=this._getInput(Jn.START),o=i.value,s=r.value;r.min=e.new,i.min=Math.max(e.new,r.value),r.max=Math.min(i.max,i.value),r._updateWidthInactive(),i._updateWidthInactive(),e.newe.old?this._onTranslateXChangeBySideEffect(r,i):this._onTranslateXChangeBySideEffect(i,r),o!==i.value&&this._onValueChange(i),s!==r.value&&this._onValueChange(r)}_updateMaxNonRange(e){const i=this._getInput(Jn.END);if(i){const r=i.value;i.max=e,i._updateThumbUIByValue(),this._updateTrackUI(i),r!==i.value&&this._onValueChange(i)}}get step(){return this._step}set step(e){const i=isNaN(e)?this._step:e;this._step!==i&&this._updateStep(i)}_updateStep(e){this._step=e,this._isRange?this._updateStepRange():this._updateStepNonRange(),this._onMinMaxOrStepChange()}_updateStepRange(){const e=this._getInput(Jn.END),i=this._getInput(Jn.START),r=e.value,o=i.value,s=i.value;e.min=this._min,i.max=this._max,e.step=this._step,i.step=this._step,this._platform.SAFARI&&(e.value=e.value,i.value=i.value),e.min=Math.max(this._min,i.value),i.max=Math.min(this._max,e.value),i._updateWidthInactive(),e._updateWidthInactive(),e.value`${c}`,this._rippleRadius=24,this.startValueIndicatorText="",this.endValueIndicatorText="",this._isRange=!1,this._isRtl=!1,this._hasViewInitialized=!1,this._tickMarkTrackWidth=0,this._hasAnimation=!1,this._resizeTimer=null,this._platform=yt(Rr),this._knobRadius=8,this._thumbsOverlap=!1,this._noopAnimations="NoopAnimations"===a,this._dirChangeSubscription=this._dir.change.subscribe(()=>this._onDirChange()),this._isRtl="rtl"===this._dir.value}ngAfterViewInit(){this._platform.isBrowser&&this._updateDimensions();const e=this._getInput(Jn.END),i=this._getInput(Jn.START);this._isRange=!!e&&!!i,this._cdr.detectChanges();const r=this._getThumb(Jn.END);this._rippleRadius=r._ripple.radius,this._inputPadding=this._rippleRadius-this._knobRadius,this._isRange?this._initUIRange(e,i):this._initUINonRange(e),this._updateTrackUI(e),this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._observeHostResize(),this._cdr.detectChanges()}_initUINonRange(e){e.initProps(),e.initUI(),this._updateValueIndicatorUI(e),this._hasViewInitialized=!0,e._updateThumbUIByValue()}_initUIRange(e,i){e.initProps(),e.initUI(),i.initProps(),i.initUI(),e._updateMinMax(),i._updateMinMax(),e._updateStaticStyles(),i._updateStaticStyles(),this._updateValueIndicatorUIs(),this._hasViewInitialized=!0,e._updateThumbUIByValue(),i._updateThumbUIByValue()}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._resizeObserver?.disconnect(),this._resizeObserver=null}_onDirChange(){this._isRtl="rtl"===this._dir.value,this._isRange?this._onDirChangeRange():this._onDirChangeNonRange(),this._updateTickMarkUI()}_onDirChangeRange(){const e=this._getInput(Jn.END),i=this._getInput(Jn.START);e._setIsLeftThumb(),i._setIsLeftThumb(),e.translateX=e._calcTranslateXByValue(),i.translateX=i._calcTranslateXByValue(),e._updateStaticStyles(),i._updateStaticStyles(),e._updateWidthInactive(),i._updateWidthInactive(),e._updateThumbUIByValue(),i._updateThumbUIByValue()}_onDirChangeNonRange(){this._getInput(Jn.END)._updateThumbUIByValue()}_observeHostResize(){typeof ResizeObserver>"u"||!ResizeObserver||this._ngZone.runOutsideAngular(()=>{this._resizeObserver=new ResizeObserver(()=>{this._isActive()||(this._resizeTimer&&clearTimeout(this._resizeTimer),this._onResize())}),this._resizeObserver.observe(this._elementRef.nativeElement)})}_isActive(){return this._getThumb(Jn.START)._isActive||this._getThumb(Jn.END)._isActive}_getValue(e=Jn.END){const i=this._getInput(e);return i?i.value:this.min}_skipUpdate(){return!(!this._getInput(Jn.START)?._skipUIUpdate&&!this._getInput(Jn.END)?._skipUIUpdate)}_updateDimensions(){this._cachedWidth=this._elementRef.nativeElement.offsetWidth,this._cachedLeft=this._elementRef.nativeElement.getBoundingClientRect().left}_setTrackActiveStyles(e){const i=this._trackActive.nativeElement.style;i.left=e.left,i.right=e.right,i.transformOrigin=e.transformOrigin,i.transform=e.transform}_calcTickMarkTransform(e){return`translateX(${e*(this._tickMarkTrackWidth/(this._tickMarks.length-1))}px`}_onTranslateXChange(e){this._hasViewInitialized&&(this._updateThumbUI(e),this._updateTrackUI(e),this._updateOverlappingThumbUI(e))}_onTranslateXChangeBySideEffect(e,i){this._hasViewInitialized&&(e._updateThumbUIByValue(),i._updateThumbUIByValue())}_onValueChange(e){this._hasViewInitialized&&(this._updateValueIndicatorUI(e),this._updateTickMarkUI(),this._cdr.detectChanges())}_onMinMaxOrStepChange(){this._hasViewInitialized&&(this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.markForCheck())}_onResize(){if(this._hasViewInitialized){if(this._updateDimensions(),this._isRange){const e=this._getInput(Jn.END),i=this._getInput(Jn.START);e._updateThumbUIByValue(),i._updateThumbUIByValue(),e._updateStaticStyles(),i._updateStaticStyles(),e._updateMinMax(),i._updateMinMax(),e._updateWidthInactive(),i._updateWidthInactive()}else{const e=this._getInput(Jn.END);e&&e._updateThumbUIByValue()}this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.detectChanges()}}_areThumbsOverlapping(){const e=this._getInput(Jn.START),i=this._getInput(Jn.END);return!(!e||!i)&&i.translateX-e.translateX<20}_updateOverlappingThumbClassNames(e){const i=e.getSibling(),r=this._getThumb(e.thumbPosition);this._getThumb(i.thumbPosition)._hostElement.classList.remove("mdc-slider__thumb--top"),r._hostElement.classList.toggle("mdc-slider__thumb--top",this._thumbsOverlap)}_updateOverlappingThumbUI(e){!this._isRange||this._skipUpdate()||this._thumbsOverlap!==this._areThumbsOverlapping()&&(this._thumbsOverlap=!this._thumbsOverlap,this._updateOverlappingThumbClassNames(e))}_updateThumbUI(e){this._skipUpdate()||(this._getThumb(e.thumbPosition===Jn.END?Jn.END:Jn.START)._hostElement.style.transform=`translateX(${e.translateX}px)`)}_updateValueIndicatorUI(e){if(this._skipUpdate())return;const i=this.displayWith(e.value);if(this._hasViewInitialized?e._valuetext=i:e._hostElement.setAttribute("aria-valuetext",i),this.discrete){e.thumbPosition===Jn.START?this.startValueIndicatorText=i:this.endValueIndicatorText=i;const r=this._getThumb(e.thumbPosition);i.length<3?r._hostElement.classList.add("mdc-slider__thumb--short-value"):r._hostElement.classList.remove("mdc-slider__thumb--short-value")}}_updateValueIndicatorUIs(){const e=this._getInput(Jn.END),i=this._getInput(Jn.START);e&&this._updateValueIndicatorUI(e),i&&this._updateValueIndicatorUI(i)}_updateTickMarkTrackUI(){if(!this.showTickMarks||this._skipUpdate())return;const e=this._step&&this._step>0?this._step:1,r=(Math.floor(this.max/e)*e-this.min)/(this.max-this.min);this._tickMarkTrackWidth=this._cachedWidth*r-6}_updateTrackUI(e){this._skipUpdate()||(this._isRange?this._updateTrackUIRange(e):this._updateTrackUINonRange(e))}_updateTrackUIRange(e){const i=e.getSibling();if(!i||!this._cachedWidth)return;const r=Math.abs(i.translateX-e.translateX)/this._cachedWidth;this._setTrackActiveStyles(e._isLeftThumb&&this._cachedWidth?{left:"auto",right:this._cachedWidth-i.translateX+"px",transformOrigin:"right",transform:`scaleX(${r})`}:{left:`${i.translateX}px`,right:"auto",transformOrigin:"left",transform:`scaleX(${r})`})}_updateTrackUINonRange(e){this._setTrackActiveStyles(this._isRtl?{left:"auto",right:"0px",transformOrigin:"right",transform:`scaleX(${1-e.fillPercentage})`}:{left:"0px",right:"auto",transformOrigin:"left",transform:`scaleX(${e.fillPercentage})`})}_updateTickMarkUI(){if(!this.showTickMarks||void 0===this.step||void 0===this.min||void 0===this.max)return;const e=this.step>0?this.step:1;this._isRange?this._updateTickMarkUIRange(e):this._updateTickMarkUINonRange(e),this._isRtl&&this._tickMarks.reverse()}_updateTickMarkUINonRange(e){const i=this._getValue();let r=Math.max(Math.floor((i-this.min)/e),0),o=Math.max(Math.floor((this.max-i)/e),0);this._isRtl?r++:o++,this._tickMarks=Array(r).fill(i_.ACTIVE).concat(Array(o).fill(i_.INACTIVE))}_updateTickMarkUIRange(e){const i=this._getValue(),r=this._getValue(Jn.START),o=Math.max(Math.floor((r-this.min)/e),0),s=Math.max(Math.floor((i-r)/e)+1,0),a=Math.max(Math.floor((this.max-i)/e),0);this._tickMarks=Array(o).fill(i_.INACTIVE).concat(Array(s).fill(i_.ACTIVE),Array(a).fill(i_.INACTIVE))}_getInput(e){return e===Jn.END&&this._input?this._input:this._inputs?.length?e===Jn.START?this._inputs.first:this._inputs.last:void 0}_getThumb(e){return e===Jn.END?this._thumbs?.last:this._thumbs?.first}_setTransition(e){this._hasAnimation=!this._platform.IOS&&e&&!this._noopAnimations,this._elementRef.nativeElement.classList.toggle("mat-mdc-slider-with-animation",this._hasAnimation)}_isCursorOnSliderThumb(e,i){const r=i.width/2,c=e.clientY-(i.y+r);return Math.pow(e.clientX-(i.x+r),2)+Math.pow(c,2)x3),multi:!0};let x3=(()=>{class t{get value(){return qs(this._hostElement.value,0)}set value(e){const i=(e=isNaN(e)?0:e)+"";this._hasSetInitialValue?this._isActive||this._setValue(i):this._initialValue=i}_setValue(e){this._hostElement.value=e,this._updateThumbUIByValue(),this._slider._onValueChange(this),this._cdr.detectChanges(),this._slider._cdr.markForCheck()}get translateX(){return this._slider.min>=this._slider.max?(this._translateX=this._tickMarkOffset,this._translateX):(void 0===this._translateX&&(this._translateX=this._calcTranslateXByValue()),this._translateX)}set translateX(e){this._translateX=e}get min(){return qs(this._hostElement.min,0)}set min(e){this._hostElement.min=e+"",this._cdr.detectChanges()}get max(){return qs(this._hostElement.max,0)}set max(e){this._hostElement.max=e+"",this._cdr.detectChanges()}get step(){return qs(this._hostElement.step,0)}set step(e){this._hostElement.step=e+"",this._cdr.detectChanges()}get disabled(){return Nn(this._hostElement.disabled)}set disabled(e){this._hostElement.disabled=e,this._cdr.detectChanges(),this._slider.disabled!==this.disabled&&(this._slider.disabled=this.disabled)}get percentage(){return this._slider.min>=this._slider.max?this._slider._isRtl?1:0:(this.value-this._slider.min)/(this._slider.max-this._slider.min)}get fillPercentage(){return this._slider._cachedWidth?0===this._translateX?0:this.translateX/this._slider._cachedWidth:this._slider._isRtl?1:0}_setIsFocused(e){this._isFocused=e}constructor(e,i,r,o){this._ngZone=e,this._elementRef=i,this._cdr=r,this._slider=o,this.valueChange=new vn,this.dragStart=new vn,this.dragEnd=new vn,this.thumbPosition=Jn.END,this._knobRadius=8,this._tickMarkOffset=3,this._isActive=!1,this._isFocused=!1,this._hasSetInitialValue=!1,this._destroyed=new It,this._skipUIUpdate=!1,this._onTouchedFn=()=>{},this._isControlInitialized=!1,this._platform=yt(Rr),this._hostElement=i.nativeElement,this._ngZone.runOutsideAngular(()=>{this._hostElement.addEventListener("pointerdown",this._onPointerDown.bind(this)),this._hostElement.addEventListener("pointermove",this._onPointerMove.bind(this)),this._hostElement.addEventListener("pointerup",this._onPointerUp.bind(this))})}ngOnDestroy(){this._hostElement.removeEventListener("pointerdown",this._onPointerDown),this._hostElement.removeEventListener("pointermove",this._onPointerMove),this._hostElement.removeEventListener("pointerup",this._onPointerUp),this._destroyed.next(),this._destroyed.complete(),this.dragStart.complete(),this.dragEnd.complete()}initProps(){this._updateWidthInactive(),this.disabled!==this._slider.disabled&&(this._slider.disabled=!0),this.step=this._slider.step,this.min=this._slider.min,this.max=this._slider.max,this._initValue()}initUI(){this._updateThumbUIByValue()}_initValue(){this._hasSetInitialValue=!0,void 0===this._initialValue?this.value=this._getDefaultValue():(this._hostElement.value=this._initialValue,this._updateThumbUIByValue(),this._slider._onValueChange(this),this._cdr.detectChanges())}_getDefaultValue(){return this.min}_onBlur(){this._setIsFocused(!1),this._onTouchedFn()}_onFocus(){this._slider._setTransition(!1),this._slider._updateTrackUI(this),this._setIsFocused(!0)}_onChange(){this.valueChange.emit(this.value),this._isActive&&this._updateThumbUIByValue({withAnimation:!0})}_onInput(){this._onChangeFn?.(this.value),(this._slider.step||!this._isActive)&&this._updateThumbUIByValue({withAnimation:!0}),this._slider._onValueChange(this)}_onNgControlValueChange(){(!this._isActive||!this._isFocused)&&(this._slider._onValueChange(this),this._updateThumbUIByValue()),this._slider.disabled=this._formControl.disabled}_onPointerDown(e){if(!this.disabled&&0===e.button){if(this._platform.IOS){const i=this._slider._isCursorOnSliderThumb(e,this._slider._getThumb(this.thumbPosition)._hostElement.getBoundingClientRect());return this._isActive=i,this._updateWidthActive(),void this._slider._updateDimensions()}this._isActive=!0,this._setIsFocused(!0),this._updateWidthActive(),this._slider._updateDimensions(),this._slider.step||this._updateThumbUIByPointerEvent(e,{withAnimation:!0}),this.disabled||(this._handleValueCorrection(e),this.dragStart.emit({source:this,parent:this._slider,value:this.value}))}}_handleValueCorrection(e){this._skipUIUpdate=!0,setTimeout(()=>{this._skipUIUpdate=!1,this._fixValue(e)},0)}_fixValue(e){const i=e.clientX-this._slider._cachedLeft,r=this._slider._cachedWidth,o=0===this._slider.step?1:this._slider.step,s=Math.floor((this._slider.max-this._slider.min)/o),l=Math.round((this._slider._isRtl?1-i/r:i/r)*s)/s*(this._slider.max-this._slider.min)+this._slider.min,d=Math.round(l/o)*o;if(d===this.value)return this._slider._onValueChange(this),void(this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(e,{withAnimation:this._slider._hasAnimation}));this.value=d,this.valueChange.emit(this.value),this._onChangeFn?.(this.value),this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(e,{withAnimation:this._slider._hasAnimation})}_onPointerMove(e){!this._slider.step&&this._isActive&&this._updateThumbUIByPointerEvent(e)}_onPointerUp(){this._isActive&&(this._isActive=!1,this._platform.SAFARI&&this._setIsFocused(!1),this.dragEnd.emit({source:this,parent:this._slider,value:this.value}),setTimeout(()=>this._updateWidthInactive(),this._platform.IOS?10:0))}_clamp(e){const i=this._tickMarkOffset;return Math.max(Math.min(e,this._slider._cachedWidth-this._tickMarkOffset),i)}_calcTranslateXByValue(){return this._slider._isRtl?(1-this.percentage)*(this._slider._cachedWidth-2*this._tickMarkOffset)+this._tickMarkOffset:this.percentage*(this._slider._cachedWidth-2*this._tickMarkOffset)+this._tickMarkOffset}_calcTranslateXByPointerEvent(e){return e.clientX-this._slider._cachedLeft}_updateWidthActive(){}_updateWidthInactive(){this._hostElement.style.padding=`0 ${this._slider._inputPadding}px`,this._hostElement.style.width=`calc(100% + ${this._slider._inputPadding-2*this._tickMarkOffset}px)`,this._hostElement.style.left=`-${this._slider._rippleRadius-this._tickMarkOffset}px`}_updateThumbUIByValue(e){this.translateX=this._clamp(this._calcTranslateXByValue()),this._updateThumbUI(e)}_updateThumbUIByPointerEvent(e,i){this.translateX=this._clamp(this._calcTranslateXByPointerEvent(e)),this._updateThumbUI(i)}_updateThumbUI(e){this._slider._setTransition(!!e?.withAnimation),this._slider._onTranslateXChange(this)}writeValue(e){(this._isControlInitialized||null!==e)&&(this.value=e)}registerOnChange(e){this._onChangeFn=e,this._isControlInitialized=!0}registerOnTouched(e){this._onTouchedFn=e}setDisabledState(e){this.disabled=e}focus(){this._hostElement.focus()}blur(){this._hostElement.blur()}static{this.\u0275fac=function(i){return new(i||t)(N(mn),N(Mn),N(ao),N(DT))}}static{this.\u0275dir=Et({type:t,selectors:[["input","matSliderThumb",""]],hostAttrs:["type","range",1,"mdc-slider__input"],hostVars:1,hostBindings:function(i,r){1&i&&De("change",function(){return r._onChange()})("input",function(){return r._onInput()})("blur",function(){return r._onBlur()})("focus",function(){return r._onFocus()}),2&i&&ni("aria-valuetext",r._valuetext)},inputs:{value:[Ke.HasDecoratorInputTransform,"value","value",qs]},outputs:{valueChange:"valueChange",dragStart:"dragStart",dragEnd:"dragEnd"},exportAs:["matSliderThumb"],standalone:!0,features:[Zn([CLe,{provide:fJ,useExisting:t}]),Ro]})}}return t})(),AJ=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nr,jg]})}}return t})(),RT=(()=>{class t{constructor(){this.step=1,this.disabled=!1}handleSliderOnChange(e){e!==this.value&&this.onChange(e)}handleInputOnChange(e){const i=w3(e,this.min,this.max);i!==this.value&&!Number.isNaN(i)&&this.onChange(i)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-slider"]],inputs:{value:"value",min:"min",max:"max",label:"label",step:"step",disabled:"disabled",onChange:"onChange"},decls:8,vars:10,consts:[[1,"cc-slider-container"],[1,"label"],[1,"slider-with-input"],[3,"disabled","step","min","max"],["matSliderThumb","",3,"input","value"],["appearance","outline"],["matInput","","type","number",3,"input","value","disabled","min","max"]],template:function(i,r){1&i&&(T(0,"div",0)(1,"mat-label",1),ge(2),L(),T(3,"div",2)(4,"mat-slider",3)(5,"input",4),De("input",function(s){return r.handleInputOnChange(s)}),L()(),T(6,"mat-form-field",5)(7,"input",6),De("input",function(s){return r.handleInputOnChange(s)}),L()()()()),2&i&&(D(2),gr(r.label),D(2),le("disabled",r.disabled)("step",r.step)("min",r.min)("max",r.max),D(),le("value",r.value),D(2),le("value",r.value)("disabled",r.disabled)("min",r.min)("max",r.max))},dependencies:[Dd,Id,Gp,wLe,x3],styles:["cc-slider{width:100%;margin-top:8px}cc-slider .label{margin-left:10px}cc-slider .cc-slider-container{display:flex;flex-direction:column}cc-slider .cc-slider-container .slider-with-input{display:flex;align-items:center}cc-slider .cc-slider-container .slider-with-input mat-slider{margin:0 12px;flex:2}cc-slider .cc-slider-container .slider-with-input mat-form-field{flex:1;height:32px}cc-slider .cc-slider-container .slider-with-input mat-form-field .mat-mdc-text-field-wrapper{padding:0 12px}cc-slider .cc-slider-container .slider-with-input mat-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex{align-self:center}cc-slider .cc-slider-container .slider-with-input mat-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{padding:0;min-height:28px}cc-slider .cc-slider-container .slider-with-input mat-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-mdc-input-element{min-height:inherit}cc-slider .cc-slider-container .slider-with-input mat-form-field .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{display:none}\n"],encapsulation:2})}}return t})();const C3={positive:!1,negative:!1,neutral:!1},SLe=ci(C3,Jt(J0,tT(C3))),kLe=ci(!0,Jt(ly,Fi(!0))),TLe=ci(!1,Jt(cy,Fi(!1))),gJ=jt("SET_SORTING_ORDER_ASCENDING",{_as:"props",_p:void 0}),S3=jt("TOGGLE_SORTING_ORDER_ASCENDING"),FLe=ci(!0,Jt(gJ,Fi(!0)),Jt(S3,t=>!t)),BLe=ci(!0,Jt(Zm,Fi(!0))),ILe=ci(!0,Jt(Hg,Fi(!0))),DLe=ci(!0,Jt(gM,Fi(!0))),RLe=ci(!1,Jt(dy,Fi(!1))),LLe=ci(!1,Jt(ry,Fi(!1))),PLe=ci(!1,Jt(iy,Fi(!1))),OLe=ci(!1,Jt(ty,Fi(!1))),NLe=ci(!1,Jt(mM,Fi(!1))),ULe=ci(!1,Jt(hM,Fi(!1))),N3=Ad.SquarifiedTreeMap,HLe=ci(N3,Jt(oy,Fi(N3))),VLe=ci(100,Jt(sy,Fi(100))),H3=rp.Standard,QLe=ci(H3,Jt(ay,Fi(H3))),zLe=ci(!1,Jt(uM,Fi(!1))),GLe=ci(!1,Jt(ny,Fi(!1))),WLe=ci(!0,Jt(kR,(t,n)=>n.value),Jt(fM,t=>!t)),$Le=ci(!1,Jt(TR,(t,n)=>n.value),Jt(FR,t=>!t)),vJ=jt("SET_IS_FILE_EXPLORER_PINNED",{_as:"props",_p:void 0}),z3=jt("TOGGLE_IS_FILE_EXPLORER_PINNED"),jLe=ci(!1,Jt(vJ,Fi(!1)),Jt(z3,t=>!t)),XLe=qm({colorLabels:SLe,showMetricLabelNodeName:kLe,showMetricLabelNameValue:TLe,sortingOrderAscending:FLe,isSearchPanelPinned:jLe,isLoadingFile:BLe,isLoadingMap:ILe,mapColors:eFe,resetCameraIfNewFileIsLoaded:DLe,showOnlyBuildingsWithEdges:RLe,isEdgeMetricVisible:WLe,isWhiteBackground:LLe,invertHeight:PLe,invertArea:GLe,hideFlatBuildings:OLe,scaling:GIe,edgeHeight:zIe,amountOfEdgePreviews:QIe,amountOfTopLabels:UIe,isPresentationMode:NLe,experimentalFeaturesEnabled:ULe,screenshotToClipboardEnabled:zLe,layoutAlgorithm:HLe,maxTreeMapFiles:VLe,sharpnessMode:QLe,isColorMetricLinkedToHeightMetric:$Le,enableFloorLabels:ci(!0,Jt(ey,Fi(!0)))}),YLe={colorLabels:C3,showMetricLabelNodeName:!0,showMetricLabelNameValue:!1,sortingOrderAscending:!0,isSearchPanelPinned:!1,isLoadingFile:!0,isLoadingMap:!0,mapColors:Td,resetCameraIfNewFileIsLoaded:!0,showOnlyBuildingsWithEdges:!1,isEdgeMetricVisible:!0,isWhiteBackground:!1,invertHeight:!1,invertArea:!1,hideFlatBuildings:!1,scaling:wT,edgeHeight:4,amountOfEdgePreviews:1,amountOfTopLabels:1,isPresentationMode:!1,experimentalFeaturesEnabled:!1,screenshotToClipboardEnabled:!1,layoutAlgorithm:N3,maxTreeMapFiles:100,sharpnessMode:H3,isColorMetricLinkedToHeightMetric:!1,enableFloorLabels:!0};function yJ(t,n){return t.filter(e=>!Wp(e,n))}function wJ(t,n){return xJ(t,n)?t:[...t,hd(n)]}function xJ(t,n){return t.some(e=>Wp(e,n))}const JLe=(t,{path:n,color:e})=>{const i=TN(t,n);(!i||i.color!==e)&&t.set(n,{path:n,color:e});for(const[r,o]of t)if(o.path===n)o.color!==e&&t.delete(r);else if(o.path.startsWith(n)){const s=TN(t,o.path);s&&s.color===o.color&&t.delete(r)}},CJ=(t,n)=>{const e=t.findIndex(r=>r.path===n);if(-1!==e)return e;let i=-1;for(let r=0;r{const e=new Map(t.map(i=>[i.path,i]));for(const i of n.packages)JLe(e,i);return[...e.values()]}),Jt(EM,(t,n)=>{const e=CJ(t,n.path);return-1!==e?function qLe(t,n){return[...t.slice(0,n),...t.slice(n+1)]}(t,e):t})),j3=[],tPe=ci(j3,Jt(OR,Fi(j3)),Jt(mW,(t,n)=>wJ(t,n.edge)),Jt(pW,(t,n)=>yJ(t,n.edge))),K3={nodes:{},edges:{}},nPe=ci(K3,Jt(IR,Fi(K3)),Jt(DR,(t,n)=>({...t,[n.category]:{...t[n.category],[n.name]:n.attributeType}}))),X3=[],iPe=ci(X3,Jt(RR,Fi(X3)),Jt(LR,(t,n)=>wJ(t,n.item)),Jt(wM,(t,n)=>function ZLe(t,n){const e=[...t];for(const i of n)xJ(e,i)||e.push(i);return e}(t,n.items)),Jt(xM,(t,n)=>yJ(t,n.item))),Y3={},oPe=qm({markedPackages:ePe,edges:tPe,attributeTypes:nPe,attributeDescriptors:ci(Y3,Jt(BR,Fi(Y3))),blacklist:iPe}),sPe={markedPackages:$3,edges:j3,attributeTypes:K3,attributeDescriptors:Y3,blacklist:X3},q3=Ny.weightedGradient,aPe=ci(q3,Jt(uy,Fi(q3))),Z3=aS.NAME,cPe=ci(Z3,Jt(yM,Fi(Z3))),lPe=ci(null,Jt(yu,Fi(null))),eU={from:0,to:0},dPe=ci(eU,Jt(cd,tT(eU))),uPe=ci("",Jt(df,Fi("")),Jt(_y,()=>"")),EJ=[],hPe=ci(EJ,Jt(bM,(t,n)=>[...n.value]),Jt(fy,()=>[]),Jt(_M,(t,n)=>n.value===bd.rootPath?t:[n.value,...t]),Jt(vM,t=>t.slice(1))),gPe=qm({colorMode:aPe,sortingOption:cPe,edgeMetric:lPe,colorRange:dPe,margin:WIe,searchPattern:uPe,focusedNodePath:hPe,heightMetric:ci(null,Jt(wu,Fi(null))),distributionMetric:ci(null,Jt(hy,Fi(null))),colorMetric:ci(null,Jt(gl,Fi(null))),areaMetric:ci(null,Jt(vu,Fi(null)))}),bPe={colorMode:q3,sortingOption:Z3,edgeMetric:null,colorRange:eU,margin:50,searchPattern:"",focusedNodePath:EJ,heightMetric:null,distributionMetric:null,colorMetric:null,areaMetric:null},oU=[],_Pe=ci(oU,Jt(by,Fi(oU)),Jt(RW,(t,n)=>[...t,{file:n.file,selectedAs:Ri.None}]),Jt(nL,(t,n)=>function vPe(t,n){const e=t.filter(r=>r.file.fileMeta.fileName!==n);return e.some(r=>r.selectedAs===Ri.Partial)||(e[0]={...e[0],selectedAs:Ri.Partial}),e}(t,n.fileName)),Jt(PM,(t,n)=>function yPe(t,n,e){return t.map(i=>kM(i.file,n)?{...i,selectedAs:Ri.Reference}:e&&kM(i.file,e)?{...i,selectedAs:Ri.Comparison}:{...i,selectedAs:Ri.None})}(t,n.referenceFile,n.comparisonFile)),Jt(cL,(t,n)=>function wPe(t,n){return t.map(e=>kM(e.file,n)?{...e,selectedAs:Ri.Reference}:e.selectedAs===Ri.Comparison?e:{...e,selectedAs:Ri.None})}(t,n.file)),Jt(aL,(t,n)=>function xPe(t,n){return t.map(e=>e.file===n?{...e,selectedAs:Ri.Comparison}:e.selectedAs===Ri.Reference?e:{...e,selectedAs:Ri.None})}(t,n.file)),Jt(sL,t=>function CPe(t){return t.map(n=>n.selectedAs===Ri.Reference?{...n,selectedAs:Ri.Comparison}:n.selectedAs===Ri.Comparison?{...n,selectedAs:Ri.Reference}:n)}(t)),Jt(_y,(t,n)=>MJ(t,n.files.map(e=>e.fileMeta.fileName))),Jt(iL,(t,n)=>MJ(t,n.fileNames)),Jt(oL,t=>t.map(n=>({...n,selectedAs:n.selectedAs===Ri.Partial?Ri.None:Ri.Partial}))),Jt(rL,t=>t.map(n=>({...n,selectedAs:Ri.Partial}))));function MJ(t,n){return t.map(e=>({...e,selectedAs:n.includes(e.file.fileMeta.fileName)?Ri.Partial:Ri.None}))}const EPe=ci(null,Jt(Xb,Fi(null))),MPe=ci(null,Jt(Yb,(t,n)=>n.value)),FPe={fileSettings:oPe,appSettings:XLe,dynamicSettings:gPe,files:_Pe,appStatus:qm({hoveredNodeId:EPe,selectedBuildingId:ci(null,Jt(kN,Fi(null))),rightClickedNodeData:MPe})},kJ={fileSettings:sPe,appSettings:YLe,dynamicSettings:bPe,files:oU,appStatus:{hoveredNodeId:null,selectedBuildingId:null,rightClickedNodeData:null}},BPe=t=>(n,e)=>function $Ie(t){return t.type===zp.type}(e)?TJ(hd(n),e.value):t(n,e),IPe=new Set(["fileSettings.attributeTypes","fileSettings.attributeDescriptors","fileSettings.blacklist","fileSettings.edges","fileSettings.markedPackages","dynamicSettings.focusedNodePath","files"]);function TJ(t,n,e=[]){for(const[i,r]of Object.entries(n)){if(null==r||!DPe(t,i))continue;const o=[...e,i],s=o.join(".");t[i]="object"!=typeof r||IPe.has(s)?r:TJ(t[i],r,o)}return t}function DPe(t,n){return Object.prototype.hasOwnProperty.call(t,n)}function PPe(t,n){if(1&t&&(T(0,"span",2),ge(1),L()),2&t){const e=Se();D(),qt(" ",e.label,"")}}let Bx=(()=>{class t{constructor(e,i){this.store=e,this.state=i}applyDefaultSettings(){const e=((t,n)=>{const e={};let i=0;for(const r of t){const o=r.split(".");let s=kJ,a=e;for(const[c,l]of o.entries())void 0!==s[l]&&(a[l]||(a[l]={},i++),c===o.length-1?a[l]=s[l]:(s=s[l],a=a[l]))}return 0!==i&&i3(e),t.includes("appSettings.amountOfTopLabels")&&(e.appSettings.amountOfTopLabels=n3(_T(n))),e})(this.settingsKeys,this.state.getValue());this.store.dispatch(zp({value:e})),this.callback&&this.callback()}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(Dr))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-reset-settings-button"]],inputs:{settingsKeys:"settingsKeys",tooltip:"tooltip",label:"label",callback:"callback"},decls:3,vars:2,consts:[[3,"click","title"],[1,"fa","fa-undo"],[1,"reset-settings-button-label"]],template:function(i,r){1&i&&(T(0,"button",0),De("click",function(){return r.applyDefaultSettings()}),fe(1,"i",1),$e(2,PPe,2,1,"span",2),L()),2&i&&(le("title",r.tooltip),D(2),at(2,r.label?2:-1))},styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-reset-settings-button button{color:#1b9cfc;background:none;align-items:center;display:flex;gap:4px;margin:0;padding:0}cc-reset-settings-button button .fa{display:flex;align-items:center;justify-content:center;height:40px;width:40px;font-size:18px}cc-reset-settings-button button:hover .fa{border-radius:100%;background-color:#9e9e9e33}\n'],encapsulation:2})}}return t})();const OPe=()=>["dynamicSettings.margin","appSettings.invertArea","appSettings.enableFloorLabels"];let NPe=(()=>{class t{static{this.DEBOUNCE_TIME=400}constructor(e){this.store=e,this.margin$=this.store.select(eLe),this.enableFloorLabels$=this.store.select(tLe),this.isInvertedArea$=this.store.select(nLe),this.applyDebouncedMargin=Bd(i=>{this.store.dispatch(Pg({value:i}))},t.DEBOUNCE_TIME)}setEnableFloorLabel(e){this.store.dispatch(ey({value:e.checked}))}toggleInvertingArea(e){this.store.dispatch(ny({value:e.checked}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-area-settings-panel"]],decls:10,vars:14,consts:[[1,"options"],["title","Amount of space between buildings in percent","label","Margin",3,"value","onChange","min","max"],[3,"change","checked"],["tooltip","Reset area metric settings to their defaults","label","Reset area metric settings",3,"settingsKeys"]],template:function(i,r){1&i&&(T(0,"div",0),fe(1,"cc-slider",1),Ee(2,"async"),T(3,"mat-checkbox",2),Ee(4,"async"),De("change",function(s){return r.setEnableFloorLabel(s)}),ge(5,"Enable Floor Labels"),L(),T(6,"mat-checkbox",2),Ee(7,"async"),De("change",function(s){return r.toggleInvertingArea(s)}),ge(8,"Invert Area"),L(),fe(9,"cc-reset-settings-button",3),L()),2&i&&(D(),le("value",Re(2,7,r.margin$))("onChange",r.applyDebouncedMargin)("min",1)("max",100),D(2),le("checked",Re(4,9,r.enableFloorLabels$)),D(3),le("checked",Re(7,11,r.isInvertedArea$)),D(3),le("settingsKeys",Kh(13,OPe)))},dependencies:[Xp,RT,Bx,Ln],styles:["cc-area-settings-panel{text-align:left;max-height:300px}cc-area-settings-panel .options{display:flex;flex-direction:column}cc-area-settings-panel .options .margin-option{position:relative}cc-area-settings-panel .options .margin-option cc-reset-settings-button{position:absolute;top:-20%;left:20%}\n"],encapsulation:2})}}return t})();const UPe=Bt(Pr,t=>t.amountOfTopLabels),FJ=Bt(Pr,t=>t.colorLabels),HPe=Bt(FJ,t=>t.negative||t.neutral||t.positive),VPe=Bt(Pr,t=>t.showMetricLabelNodeName),QPe=Bt(Pr,t=>t.showMetricLabelNameValue),zPe=Bt(Pr,t=>t.scaling),GPe=Bt(Pr,t=>t.invertHeight),WPe=()=>["appSettings.amountOfTopLabels","appSettings.scaling.y","appSettings.invertHeight"];function $Pe(t,n){if(1&t){const e=Cn();T(0,"mat-checkbox",1),Ee(1,"async"),De("change",function(r){return Mt(e),St(Se().setInvertHeight(r))}),ge(2," Invert Height "),L()}2&t&&le("checked",Re(1,1,Se().invertHeight$))}let jPe=(()=>{class t{static{this.DEBOUNCE_TIME=400}constructor(e){this.store=e,this.amountOfTopLabels$=this.store.select(UPe),this.isLabelsSliderDisabled$=this.store.select(HPe),this.showMetricLabelNodeName$=this.store.select(VPe),this.showMetricLabelNodeValue$=this.store.select(QPe),this.scaling$=this.store.select(zPe),this.invertHeight$=this.store.select(GPe),this.isDeltaState$=this.store.select(zf),this.applyDebouncedTopLabels=Bd(i=>{this.store.dispatch(lf({value:i}))},t.DEBOUNCE_TIME),this.applyDebouncedScalingY=Bd(i=>{this.store.dispatch(Lg({value:{y:i}}))},t.DEBOUNCE_TIME)}setShowMetricLabelNodeName(e){this.store.dispatch(ly({value:e.checked}))}setShowMetricLabelNameValue(e){this.store.dispatch(cy({value:e.checked}))}setInvertHeight(e){this.store.dispatch(iy({value:e.checked}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-height-settings-panel"]],decls:16,vars:32,consts:[["label","Labels",1,"cc-height-settings-panel-row",3,"disabled","title","min","max","value","onChange"],[3,"change","checked"],["title","Height","label","Height",1,"cc-height-settings-panel-row",3,"step","min","max","value","onChange"],[3,"checked"],["tooltip","Reset height metric settings to their defaults","label","Reset height metric settings",3,"settingsKeys"]],template:function(i,r){1&i&&(fe(0,"cc-slider",0),Ee(1,"async"),Ee(2,"async"),Ee(3,"async"),Ee(4,"async"),T(5,"mat-checkbox",1),Ee(6,"async"),De("change",function(s){return r.setShowMetricLabelNodeName(s)}),ge(7,"Show label node names\n"),L(),T(8,"mat-checkbox",1),Ee(9,"async"),De("change",function(s){return r.setShowMetricLabelNameValue(s)}),ge(10,"Show label node metrics\n"),L(),fe(11,"cc-slider",2),Ee(12,"async"),$e(13,$Pe,3,3,"mat-checkbox",3),Ee(14,"async"),fe(15,"cc-reset-settings-button",4)),2&i&&(le("disabled",Re(1,15,r.isLabelsSliderDisabled$))("title",Re(2,17,r.isLabelsSliderDisabled$)?"Disabled because color labels are used":"Display the labels of the "+Re(3,19,r.amountOfTopLabels$)+" highest buildings")("min",0)("max",50)("value",Re(4,21,r.amountOfTopLabels$))("onChange",r.applyDebouncedTopLabels),D(5),le("checked",Re(6,23,r.showMetricLabelNodeName$)),D(3),le("checked",Re(9,25,r.showMetricLabelNodeValue$)),D(3),le("step",1)("min",1)("max",5)("value",Re(12,27,r.scaling$).y)("onChange",r.applyDebouncedScalingY),D(2),at(13,Re(14,29,r.isDeltaState$)?-1:13),D(2),le("settingsKeys",Kh(31,WPe)))},dependencies:[Xp,RT,Bx,Ln],encapsulation:2})}}return t})(),KPe=(()=>{class t{constructor(e){this.store=e,this.heightMetric$=this.store.select(_x)}handleHeightMetricChanged(e){this.store.dispatch(wu({value:e}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-height-metric-chooser"]],decls:4,vars:6,consts:[[1,"fa","fa-arrows-v"],["title","Change height metric",3,"selectedMetricName","searchPlaceholder","handleMetricChanged"],["hoveredInformation","",3,"metricFor"]],template:function(i,r){1&i&&(fe(0,"i",0),T(1,"cc-metric-chooser",1),Ee(2,"async"),fe(3,"cc-metric-chooser-value",2),L()),2&i&&(D(),le("selectedMetricName",Re(2,4,r.heightMetric$))("searchPlaceholder","Height Metric (highest value)")("handleMetricChanged",r.handleHeightMetricChanged),D(2),le("metricFor","heightMetric"))},dependencies:[kx,y3,Ln],encapsulation:2})}}return t})();const cU=Bt(Pr,t=>t.isColorMetricLinkedToHeightMetric);let XPe=(()=>{class t{constructor(e){this.store=e,this.isColorMetricLinkedToHeightMetric$=this.store.select(cU)}toggleIsColorMetricLinkedToHeightMetric(){this.store.dispatch(FR())}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-link-color-metric-to-height-metric-button"]],decls:4,vars:6,consts:[[1,"link-metrics-button",3,"click","title"],[3,"ngClass"]],template:function(i,r){1&i&&(T(0,"button",0),Ee(1,"async"),De("click",function(){return r.toggleIsColorMetricLinkedToHeightMetric()}),fe(2,"i",1),Ee(3,"async"),L()),2&i&&(Ga("title",Re(1,2,r.isColorMetricLinkedToHeightMetric$)?"Unlink Height and Color Metric":"Link Height and Color Metric"),D(2),le("ngClass",Re(3,4,r.isColorMetricLinkedToHeightMetric$)?"fa fa-chain-broken":"fa fa-link"))},dependencies:[Qm,Ln],styles:["cc-link-color-metric-to-height-metric-button{display:flex;justify-content:center;height:100%}cc-link-color-metric-to-height-metric-button .link-metrics-button{width:50px;height:100%;padding:0;margin:0;background-color:transparent}cc-link-color-metric-to-height-metric-button .link-metrics-button .fa{color:#444}cc-link-color-metric-to-height-metric-button .link-metrics-button:hover{background-color:#c8c8c8}\n"],encapsulation:2})}}return t})(),YPe=(()=>{class t{constructor(e){this.store=e,this.colorMetric$=this.store.select(Vf),this.isColorMetricLinkedToHeightMetric$=this.store.select(cU),this.nonDisabledColor="rgba(0, 0, 0, 0.38)",this.disabledColor="rgba(68,68,68, 1)"}handleColorMetricChanged(e){this.store.dispatch(gl({value:e}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-color-metric-chooser"]],decls:7,vars:16,consts:[[1,"fa","fa-paint-brush"],[3,"selectedMetricName","searchPlaceholder","handleMetricChanged","isDisabled"],["hoveredInformation","",3,"metricFor"]],template:function(i,r){1&i&&(fe(0,"i",0),Ee(1,"async"),T(2,"cc-metric-chooser",1),Ee(3,"async"),Ee(4,"async"),Ee(5,"async"),fe(6,"cc-metric-chooser-value",2),L()),2&i&&(xi("color",Re(1,8,r.isColorMetricLinkedToHeightMetric$)?r.nonDisabledColor:r.disabledColor),D(2),le("selectedMetricName",Re(3,10,r.colorMetric$))("searchPlaceholder","Color Metric (highest value)")("handleMetricChanged",r.handleColorMetricChanged)("isDisabled",Re(4,12,r.isColorMetricLinkedToHeightMetric$)),ni("title",Re(5,14,r.isColorMetricLinkedToHeightMetric$)?"Currently linked to height metric":"Change color metric"),D(4),le("metricFor","colorMetric"))},dependencies:[kx,y3,Ln],encapsulation:2})}}return t})();const qPe=Bt(xc,t=>t.colorMode),ZPe=Bt(jb,zf,t=>({leftColor:t.positive,middleColor:t.neutral,rightColor:t.negative})),JPe=Bt(ju,mZ,(t,n)=>({values:t.values,min:t.minValue,max:t.maxValue,from:n.from,to:n.to}));function BJ(t,n){let e;if(void 0===n)for(const i of t)null!=i&&(e=i)&&(e=i);else{let i=-1;for(let r of t)null!=(r=n(r,++i,t))&&(e=r)&&(e=r)}return e}function tOe(t){return t}function nOe(t){return"translate("+t+",0)"}function iOe(t){return"translate(0,"+t+")"}function rOe(t){return n=>+t(n)}function oOe(t,n){return n=Math.max(0,t.bandwidth()-2*n)/2,t.round()&&(n=Math.round(n)),e=>+t(e)+n}function sOe(){return!this.__axis}function NT(t,n){var e=[],i=null,r=null,o=6,s=6,a=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=1===t||4===t?-1:1,d=4===t||2===t?"x":"y",u=1===t||3===t?nOe:iOe;function h(f){var b=i??(n.ticks?n.ticks.apply(n,e):n.domain()),y=r??(n.tickFormat?n.tickFormat.apply(n,e):tOe),C=Math.max(o,0)+a,x=n.range(),w=+x[0]+c,S=+x[x.length-1]+c,M=(n.bandwidth?oOe:rOe)(n.copy(),c),P=f.selection?f.selection():f,R=P.selectAll(".domain").data([null]),W=P.selectAll(".tick").data(b,n).order(),se=W.exit(),ae=W.enter().append("g").attr("class","tick"),ce=W.select("line"),ue=W.select("text");R=R.merge(R.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),W=W.merge(ae),ce=ce.merge(ae.append("line").attr("stroke","currentColor").attr(d+"2",l*o)),ue=ue.merge(ae.append("text").attr("fill","currentColor").attr(d,l*C).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),f!==P&&(R=R.transition(f),W=W.transition(f),ce=ce.transition(f),ue=ue.transition(f),se=se.transition(f).attr("opacity",1e-6).attr("transform",function(Me){return isFinite(Me=M(Me))?u(Me+c):this.getAttribute("transform")}),ae.attr("opacity",1e-6).attr("transform",function(Me){var ve=this.parentNode.__axis;return u((ve&&isFinite(ve=ve(Me))?ve:M(Me))+c)})),se.remove(),R.attr("d",4===t||2===t?s?"M"+l*s+","+w+"H"+c+"V"+S+"H"+l*s:"M"+c+","+w+"V"+S:s?"M"+w+","+l*s+"V"+c+"H"+S+"V"+l*s:"M"+w+","+c+"H"+S),W.attr("opacity",1).attr("transform",function(Me){return u(M(Me)+c)}),ce.attr(d+"2",l*o),ue.attr(d,l*C).text(y),P.filter(sOe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),P.each(function(){this.__axis=M})}return h.scale=function(f){return arguments.length?(n=f,h):n},h.ticks=function(){return e=Array.from(arguments),h},h.tickArguments=function(f){return arguments.length?(e=null==f?[]:Array.from(f),h):e.slice()},h.tickValues=function(f){return arguments.length?(i=null==f?null:Array.from(f),h):i&&i.slice()},h.tickFormat=function(f){return arguments.length?(r=f,h):r},h.tickSize=function(f){return arguments.length?(o=s=+f,h):o},h.tickSizeInner=function(f){return arguments.length?(o=+f,h):o},h.tickSizeOuter=function(f){return arguments.length?(s=+f,h):s},h.tickPadding=function(f){return arguments.length?(a=+f,h):a},h.offset=function(f){return arguments.length?(c=+f,h):c},h}function lOe(){}function dU(t){return null==t?lOe:function(){return this.querySelector(t)}}function hOe(){return[]}function DJ(t){return null==t?hOe:function(){return this.querySelectorAll(t)}}function RJ(t){return function(){return this.matches(t)}}function LJ(t){return function(n){return n.matches(t)}}var pOe=Array.prototype.find;function gOe(){return this.firstElementChild}var _Oe=Array.prototype.filter;function vOe(){return Array.from(this.children)}function PJ(t){return new Array(t.length)}function UT(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function MOe(t,n,e,i,r,o){for(var a,s=0,c=n.length,l=o.length;sn?1:t>=n?0:NaN}UT.prototype={constructor:UT,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var uU="http://www.w3.org/1999/xhtml";const OJ={svg:"http://www.w3.org/2000/svg",xhtml:uU,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function HT(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),OJ.hasOwnProperty(n)?{space:OJ[n],local:t}:t}function zOe(t){return function(){this.removeAttribute(t)}}function GOe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function WOe(t,n){return function(){this.setAttribute(t,n)}}function $Oe(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function jOe(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function KOe(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function NJ(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function YOe(t){return function(){this.style.removeProperty(t)}}function qOe(t,n,e){return function(){this.style.setProperty(t,n,e)}}function ZOe(t,n,e){return function(){var i=n.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,e)}}function r_(t,n){return t.style.getPropertyValue(n)||NJ(t).getComputedStyle(t,null).getPropertyValue(n)}function eNe(t){return function(){delete this[t]}}function tNe(t,n){return function(){this[t]=n}}function nNe(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function UJ(t){return t.trim().split(/^|\s+/)}function hU(t){return t.classList||new HJ(t)}function HJ(t){this._node=t,this._names=UJ(t.getAttribute("class")||"")}function VJ(t,n){for(var e=hU(t),i=-1,r=n.length;++i=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var WJ=[null];function Ec(t,n){this._groups=t,this._parents=n}function $J(){return new Ec([[document.documentElement]],WJ)}Ec.prototype=$J.prototype={constructor:Ec,select:function dOe(t){"function"!=typeof t&&(t=dU(t));for(var n=this._groups,e=n.length,i=new Array(e),r=0;r=S&&(S=w+1);!(P=C[S])&&++S=0;)(s=i[r])&&(o&&4^s.compareDocumentPosition(o)&&o.parentNode.insertBefore(s,o),o=s);return this},sort:function LOe(t){function n(u,h){return u&&h?t(u.__data__,h.__data__):!u-!h}t||(t=POe);for(var e=this._groups,i=e.length,r=new Array(i),o=0;o1?this.each((null==n?YOe:"function"==typeof n?ZOe:qOe)(t,n,e??"")):r_(this.node(),t)},property:function iNe(t,n){return arguments.length>1?this.each((null==n?eNe:"function"==typeof n?nNe:tNe)(t,n)):this.node()[t]},classed:function aNe(t,n){var e=UJ(t+"");if(arguments.length<2){for(var i=hU(this.node()),r=-1,o=e.length;++r=0&&(e=n.slice(i+1),n=n.slice(0,i)),{type:n,name:e}})}(t+""),o=i.length;if(!(arguments.length<2)){for(a=n?RNe:DNe,r=0;r{}};function jJ(){for(var i,t=0,n=arguments.length,e={};t=0&&(i=e.slice(r+1),e=e.slice(0,r)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:i}})}(t+"",e),o=-1,s=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o0)for(var r,o,e=new Array(r),i=0;i=0&&t._call.call(void 0,n),t=t._next;--o_}()}finally{o_=0,function KNe(){for(var t,e,n=QT,i=1/0;n;)n._call?(i>n._time&&(i=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:QT=e);Px=t,mU(i)}(),Yp=0}}function jNe(){var t=Ox.now(),n=t-zT;n>XJ&&(GT-=n,zT=t)}function mU(t){o_||(Rx&&(Rx=clearTimeout(Rx)),t-Yp>24?(t<1/0&&(Rx=setTimeout(ZJ,t-Ox.now()-GT)),Lx&&(Lx=clearInterval(Lx))):(Lx||(zT=Ox.now(),Lx=setInterval(jNe,XJ)),o_=1,YJ(ZJ)))}function JJ(t,n,e){var i=new WT;return i.restart(r=>{i.stop(),t(r+n)},n=null==n?0:+n,e),i}WT.prototype=qJ.prototype={constructor:WT,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?fU():+e)+(null==n?0:+n),!this._next&&Px!==this&&(Px?Px._next=this:QT=this,Px=this),this._call=t,this._time=e,mU()},stop:function(){this._call&&(this._call=null,this._time=1/0,mU())}};var XNe=GNe("start","end","cancel","interrupt"),YNe=[],eee=0,$T=3;function KT(t,n,e,i,r,o){var s=t.__transition;if(s){if(e in s)return}else t.__transition={};!function qNe(t,n,e){var r,i=t.__transition;function s(l){var d,u,h,f;if(1!==e.state)return c();for(d in i)if((f=i[d]).name===e.name){if(f.state===$T)return JJ(s);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[d]):+deee)throw new Error("too late; already scheduled");return e}function Rd(t,n){var e=Rl(t,n);if(e.state>$T)throw new Error("too late; already running");return e}function Rl(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function Ll(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var XT,iee=180/Math.PI,bU={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ree(t,n,e,i,r,o){var s,a,c;return(s=Math.sqrt(t*t+n*n))&&(t/=s,n/=s),(c=t*e+n*i)&&(e-=t*c,i-=n*c),(a=Math.sqrt(e*e+i*i))&&(e/=a,i/=a,c/=a),t*i180?d+=360:d-l>180&&(l+=360),h.push({i:u.push(r(u)+"rotate(",null,i)-2,x:Ll(l,d)})):d&&u.push(r(u)+"rotate("+d+i)}(l.rotate,d.rotate,u,h),function a(l,d,u,h){l!==d?h.push({i:u.push(r(u)+"skewX(",null,i)-2,x:Ll(l,d)}):d&&u.push(r(u)+"skewX("+d+i)}(l.skewX,d.skewX,u,h),function c(l,d,u,h,f,b){if(l!==u||d!==h){var y=f.push(r(f)+"scale(",null,",",null,")");b.push({i:y-4,x:Ll(l,u)},{i:y-2,x:Ll(d,h)})}else(1!==u||1!==h)&&f.push(r(f)+"scale("+u+","+h+")")}(l.scaleX,l.scaleY,d.scaleX,d.scaleY,u,h),l=d=null,function(f){for(var C,b=-1,y=h.length;++b>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?qT(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?qT(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=c3e.exec(t))?new Xa(n[1],n[2],n[3],1):(n=l3e.exec(t))?new Xa(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=d3e.exec(t))?qT(n[1],n[2],n[3],n[4]):(n=u3e.exec(t))?qT(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=h3e.exec(t))?fee(n[1],n[2]/100,n[3]/100,1):(n=f3e.exec(t))?fee(n[1],n[2]/100,n[3]/100,n[4]):aee.hasOwnProperty(t)?dee(aee[t]):"transparent"===t?new Xa(NaN,NaN,NaN,0):null}function dee(t){return new Xa(t>>16&255,t>>8&255,255&t,1)}function qT(t,n,e,i){return i<=0&&(t=n=e=NaN),new Xa(t,n,e,i)}function ZT(t,n,e,i){return 1===arguments.length?function A3e(t){return t instanceof Nx||(t=qp(t)),t?new Xa((t=t.rgb()).r,t.g,t.b,t.opacity):new Xa}(t):new Xa(t,n,e,i??1)}function Xa(t,n,e,i){this.r=+t,this.g=+n,this.b=+e,this.opacity=+i}function uee(){return`#${Jp(this.r)}${Jp(this.g)}${Jp(this.b)}`}function hee(){const t=JT(this.opacity);return`${1===t?"rgb(":"rgba("}${Zp(this.r)}, ${Zp(this.g)}, ${Zp(this.b)}${1===t?")":`, ${t})`}`}function JT(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Zp(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Jp(t){return((t=Zp(t))<16?"0":"")+t.toString(16)}function fee(t,n,e,i){return i<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Pl(t,n,e,i)}function mee(t){if(t instanceof Pl)return new Pl(t.h,t.s,t.l,t.opacity);if(t instanceof Nx||(t=qp(t)),!t)return new Pl;if(t instanceof Pl)return t;var n=(t=t.rgb()).r/255,e=t.g/255,i=t.b/255,r=Math.min(n,e,i),o=Math.max(n,e,i),s=NaN,a=o-r,c=(o+r)/2;return a?(s=n===o?(e-i)/a+6*(e0&&c<1?0:s,new Pl(s,a,c,t.opacity)}function Pl(t,n,e,i){this.h=+t,this.s=+n,this.l=+e,this.opacity=+i}function pee(t){return(t=(t||0)%360)<0?t+360:t}function eF(t){return Math.max(0,Math.min(1,t||0))}function yU(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function Aee(t,n,e,i,r){var o=t*t,s=o*t;return((1-3*t+3*o-s)*n+(4-6*o+3*s)*e+(1+3*t+3*o-3*s)*i+s*r)/6}vU(Nx,qp,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:cee,formatHex:cee,formatHex8:function m3e(){return this.rgb().formatHex8()},formatHsl:function p3e(){return mee(this).formatHsl()},formatRgb:lee,toString:lee}),vU(Xa,ZT,see(Nx,{brighter(t){return t=null==t?YT:Math.pow(YT,t),new Xa(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new Xa(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Xa(Zp(this.r),Zp(this.g),Zp(this.b),JT(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:uee,formatHex:uee,formatHex8:function g3e(){return`#${Jp(this.r)}${Jp(this.g)}${Jp(this.b)}${Jp(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:hee,toString:hee})),vU(Pl,function b3e(t,n,e,i){return 1===arguments.length?mee(t):new Pl(t,n,e,i??1)},see(Nx,{brighter(t){return t=null==t?YT:Math.pow(YT,t),new Pl(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new Pl(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,i=e+(e<.5?e:1-e)*n,r=2*e-i;return new Xa(yU(t>=240?t-240:t+120,r,i),yU(t,r,i),yU(t<120?t+240:t-120,r,i),this.opacity)},clamp(){return new Pl(pee(this.h),eF(this.s),eF(this.l),JT(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=JT(this.opacity);return`${1===t?"hsl(":"hsla("}${pee(this.h)}, ${100*eF(this.s)}%, ${100*eF(this.l)}%${1===t?")":`, ${t})`}`}}));const wU=t=>()=>t;function bee(t,n){var e=n-t;return e?function gee(t,n){return function(e){return t+e*n}}(t,e):wU(isNaN(t)?n:t)}const tF=function t(n){var e=function w3e(t){return 1==(t=+t)?bee:function(n,e){return e-n?function y3e(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(i){return Math.pow(t+i*n,e)}}(n,e,t):wU(isNaN(n)?e:n)}}(n);function i(r,o){var s=e((r=ZT(r)).r,(o=ZT(o)).r),a=e(r.g,o.g),c=e(r.b,o.b),l=bee(r.opacity,o.opacity);return function(d){return r.r=s(d),r.g=a(d),r.b=c(d),r.opacity=l(d),r+""}}return i.gamma=t,i}(1);function _ee(t){return function(n){var s,a,e=n.length,i=new Array(e),r=new Array(e),o=new Array(e);for(s=0;s=1?(e=1,n-1):Math.floor(e*n),r=t[i],o=t[i+1];return Aee((e-i/n)*n,i>0?t[i-1]:2*r-o,r,o,ie&&(o=n.slice(e,o),a[s]?a[s]+=o:a[++s]=o),(i=i[0])===(r=r[0])?a[s]?a[s]+=r:a[++s]=r:(a[++s]=null,c.push({i:s,x:Ll(i,r)})),e=CU.lastIndex;return e=0&&(n=n.slice(0,e)),!n||"start"===n})}(n)?gU:Rd;return function(){var s=o(this,t),a=s.on;a!==i&&(r=(i=a).copy()).on(n,e),s.on=r}}(e,t,n))},attr:function B3e(t,n){var e=HT(t),i="transform"===e?i3e:yee;return this.attrTween(t,"function"==typeof n?(e.local?F3e:T3e)(e,i,_U(this,"attr."+t,n)):null==n?(e.local?M3e:E3e)(e):(e.local?k3e:S3e)(e,i,n))},attrTween:function P3e(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var i=HT(t);return this.tween(e,(i.local?R3e:L3e)(i,n))},style:function cUe(t,n,e){var i="transform"==(t+="")?n3e:yee;return null==n?this.styleTween(t,function rUe(t,n){var e,i,r;return function(){var o=r_(this,t),s=(this.style.removeProperty(t),r_(this,t));return o===s?null:o===e&&s===i?r:r=n(e=o,i=s)}}(t,i)).on("end.style."+t,wee(t)):"function"==typeof n?this.styleTween(t,function sUe(t,n,e){var i,r,o;return function(){var s=r_(this,t),a=e(this),c=a+"";return null==a&&(this.style.removeProperty(t),c=a=r_(this,t)),s===c?null:s===i&&c===r?o:(r=c,o=n(i=s,a))}}(t,i,_U(this,"style."+t,n))).each(function aUe(t,n){var e,i,r,a,o="style."+n,s="end."+o;return function(){var c=Rd(this,t),l=c.on,d=null==c.value[o]?a||(a=wee(n)):void 0;(l!==e||r!==d)&&(i=(e=l).copy()).on(s,r=d),c.on=i}}(this._id,t)):this.styleTween(t,function oUe(t,n,e){var i,o,r=e+"";return function(){var s=r_(this,t);return s===r?null:s===i?o:o=n(i=s,e)}}(t,i,n),e).on("end.style."+t,null)},styleTween:function uUe(t,n,e){var i="style."+(t+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==n)return this.tween(i,null);if("function"!=typeof n)throw new Error;return this.tween(i,function dUe(t,n,e){var i,r;function o(){var s=n.apply(this,arguments);return s!==r&&(i=(r=s)&&function lUe(t,n,e){return function(i){this.style.setProperty(t,n.call(this,i),e)}}(t,s,e)),i}return o._value=n,o}(t,n,e??""))},text:function mUe(t){return this.tween("text","function"==typeof t?function fUe(t){return function(){var n=t(this);this.textContent=n??""}}(_U(this,"text",t)):function hUe(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function gUe(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;return this.tween(n,function AUe(t){var n,e;function i(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&function pUe(t){return function(n){this.textContent=t.call(this,n)}}(r)),n}return i._value=t,i}(t))},remove:function J3e(){return this.on("end.remove",function Z3e(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}(this._id))},tween:function s3e(t,n){var e=this._id;if(t+="",arguments.length<2){for(var s,i=Rl(this.node(),e).tween,r=0,o=i.length;r2&&i.state<5,i.state=6,i.timer.stop(),i.on.call(r?"interrupt":"cancel",t,t.__data__,i.index,i.group),delete e[s]):o=!1;o&&delete t.__transition}}(this,t)})},Dx.prototype.transition=function EUe(t){var n,e;t instanceof eh?(n=t._id,t=t._name):(n=xee(),(e=xUe).time=fU(),t=null==t?null:t+"");for(var i=this._groups,r=i.length,o=0;o1?i[0]+i.slice(2):i,+t.slice(e+1)]}function l_(t){return(t=rF(Math.abs(t)))?t[1]:NaN}["w","e"].map(Vx),["n","s"].map(Vx),["n","w","e","s","nw","ne","sw","se"].map(Vx);var Tee,PUe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function oF(t){if(!(n=PUe.exec(t)))throw new Error("invalid format: "+t);var n;return new TU({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function TU(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Fee(t,n){var e=rF(t,n);if(!e)return t+"";var i=e[0],r=e[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")}oF.prototype=TU.prototype,TU.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Bee={"%":(t,n)=>(100*t).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function DUe(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>Fee(100*t,n),r:Fee,s:function NUe(t,n){var e=rF(t,n);if(!e)return t+"";var i=e[0],r=e[1],o=r-(Tee=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,s=i.length;return o===s?i:o>s?i+new Array(o-s+1).join("0"):o>0?i.slice(0,o)+"."+i.slice(o):"0."+new Array(1-o).join("0")+rF(t,Math.max(0,n+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Iee(t){return t}var sF,aF,Lee,Dee=Array.prototype.map,Ree=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];!function HUe(t){sF=function UUe(t){var n=void 0===t.grouping||void 0===t.thousands?Iee:function RUe(t,n){return function(e,i){for(var r=e.length,o=[],s=0,a=t[0],c=0;r>0&&a>0&&(c+a+1>i&&(a=Math.max(1,i-c)),o.push(e.substring(r-=a,r+a)),!((c+=a+1)>i));)a=t[s=(s+1)%t.length];return o.reverse().join(n)}}(Dee.call(t.grouping,Number),t.thousands+""),e=void 0===t.currency?"":t.currency[0]+"",i=void 0===t.currency?"":t.currency[1]+"",r=void 0===t.decimal?".":t.decimal+"",o=void 0===t.numerals?Iee:function LUe(t){return function(n){return n.replace(/[0-9]/g,function(e){return t[+e]})}}(Dee.call(t.numerals,String)),s=void 0===t.percent?"%":t.percent+"",a=void 0===t.minus?"\u2212":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function l(u){var h=(u=oF(u)).fill,f=u.align,b=u.sign,y=u.symbol,C=u.zero,x=u.width,w=u.comma,S=u.precision,M=u.trim,P=u.type;"n"===P?(w=!0,P="g"):Bee[P]||(void 0===S&&(S=12),M=!0,P="g"),(C||"0"===h&&"="===f)&&(C=!0,h="0",f="=");var R="$"===y?e:"#"===y&&/[boxX]/.test(P)?"0"+P.toLowerCase():"",W="$"===y?i:/[%p]/.test(P)?s:"",se=Bee[P],ae=/[defgprs%]/.test(P);function ce(ue){var $,me,Y,Me=R,ve=W;if("c"===P)ve=se(ue)+ve,ue="";else{var Ae=(ue=+ue)<0||1/ue<0;if(ue=isNaN(ue)?c:se(Math.abs(ue),S),M&&(ue=function OUe(t){e:for(var r,n=t.length,e=1,i=-1;e0&&(i=0)}return i>0?t.slice(0,i)+t.slice(r+1):t}(ue)),Ae&&0==+ue&&"+"!==b&&(Ae=!1),Me=(Ae?"("===b?b:a:"-"===b||"("===b?"":b)+Me,ve=("s"===P?Ree[8+Tee/3]:"")+ve+(Ae&&"("===b?")":""),ae)for($=-1,me=ue.length;++$(Y=ue.charCodeAt($))||Y>57){ve=(46===Y?r+ue.slice($+1):ue.slice($))+ve,ue=ue.slice(0,$);break}}w&&!C&&(ue=n(ue,1/0));var Fe=Me.length+ue.length+ve.length,Pe=Fe>1)+Me+ue+ve+Pe.slice(Fe);break;default:ue=Pe+Me+ue+ve}return o(ue)}return S=void 0===S?6:/[gprs]/.test(P)?Math.max(1,Math.min(21,S)):Math.max(0,Math.min(20,S)),ce.toString=function(){return u+""},ce}return{format:l,formatPrefix:function d(u,h){var f=l(((u=oF(u)).type="f",u)),b=3*Math.max(-8,Math.min(8,Math.floor(l_(h)/3))),y=Math.pow(10,-b),C=Ree[8+b/3];return function(x){return f(y*x)+C}}}}(t),aF=sF.format,Lee=sF.formatPrefix}({thousands:",",grouping:[3],currency:["$",""]});const VUe=Math.sqrt(50),QUe=Math.sqrt(10),zUe=Math.sqrt(2);function cF(t,n,e){const i=(n-t)/Math.max(0,e),r=Math.floor(Math.log10(i)),o=i/Math.pow(10,r),s=o>=VUe?10:o>=QUe?5:o>=zUe?2:1;let a,c,l;return r<0?(l=Math.pow(10,-r)/s,a=Math.round(t*l),c=Math.round(n*l),a/ln&&--c,l=-l):(l=Math.pow(10,r)*s,a=Math.round(t/l),c=Math.round(n/l),a*ln&&--c),cn?1:t>=n?0:NaN}function $Ue(t,n){return null==t||null==n?NaN:nt?1:n>=t?0:NaN}function Pee(t){let n,e,i;function r(a,c,l=0,d=a.length){if(l>>1;e(a[u],c)<0?l=u+1:d=u}while(llF(t(a),c),i=(a,c)=>t(a)-c):(n=t===lF||t===$Ue?t:jUe,e=t,i=t),{left:r,center:function s(a,c,l=0,d=a.length){const u=r(a,c,l,d-1);return u>l&&i(a[u-1],c)>-i(a[u],c)?u-1:u},right:function o(a,c,l=0,d=a.length){if(l>>1;e(a[u],c)<=0?l=u+1:d=u}while(l0))return[];if((t=+t)==(n=+n))return[t];const i=n=r))return[];const a=o-r+1,c=new Array(a);if(i)if(s<0)for(let l=0;l0;){if((l=FU(s,a,e))===c)return i[r]=s,i[o]=a,n(i);if(l>0)s=Math.floor(s/l)*l,a=Math.ceil(a/l)*l;else{if(!(l<0))break;s=Math.ceil(s*l)/l,a=Math.floor(a*l)/l}c=l}return t},t}function DU(){var t=function l4e(){return function c4e(){var i,r,o,a,c,l,t=Uee,n=Uee,e=BU,s=d_;function d(){var h=Math.min(t.length,n.length);return s!==d_&&(s=function r4e(t,n){var e;return t>n&&(e=t,t=n,n=e),function(i){return Math.max(t,Math.min(n,i))}}(t[0],t[h-1])),a=h>2?s4e:o4e,c=l=null,u}function u(h){return null==h||isNaN(h=+h)?o:(c||(c=a(t.map(i),n,e)))(i(s(h)))}return u.invert=function(h){return s(r((l||(l=a(n,t.map(i),Ll)))(h)))},u.domain=function(h){return arguments.length?(t=Array.from(h,i4e),d()):t.slice()},u.range=function(h){return arguments.length?(n=Array.from(h),d()):n.slice()},u.rangeRound=function(h){return n=Array.from(h),e=t4e,d()},u.clamp=function(h){return arguments.length?(s=!!h||d_,d()):s!==d_},u.interpolate=function(h){return arguments.length?(e=h,d()):e},u.unknown=function(h){return arguments.length?(o=h,u):o},function(h,f){return i=h,r=f,d()}}()(d_,d_)}();return t.copy=function(){return function a4e(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}(t,DU())},d4e.apply(t,arguments),p4e(t)}function Hee(t){return"string"==typeof t?new Ec([[document.querySelector(t)]],[document.documentElement]):new Ec([[t]],WJ)}function u_(t){return function(){return t}}function Vee(t){this._context=t}function g4e(t){return new Vee(t)}Vee.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};const RU=Math.PI,LU=2*RU,eA=1e-6,b4e=LU-eA;function Qee(t){this._+=t[0];for(let n=1,e=t.length;n=0))throw new Error(`invalid digits: ${t}`);if(n>15)return Qee;const e=10**n;return function(i){this._+=i[0];for(let r=1,o=i.length;reA)if(Math.abs(u*c-l*d)>eA&&o){let f=i-s,b=r-a,y=c*c+l*l,C=f*f+b*b,x=Math.sqrt(y),w=Math.sqrt(h),S=o*Math.tan((RU-Math.acos((y+h-C)/(2*x*w)))/2),M=S/w,P=S/x;Math.abs(M-1)>eA&&this._append`L${n+M*d},${e+M*u}`,this._append`A${o},${o},0,0,${+(u*f>d*b)},${this._x1=n+P*c},${this._y1=e+P*l}`}else this._append`L${this._x1=n},${this._y1=e}`}arc(n,e,i,r,o,s){if(n=+n,e=+e,s=!!s,(i=+i)<0)throw new Error(`negative radius: ${i}`);let a=i*Math.cos(r),c=i*Math.sin(r),l=n+a,d=e+c,u=1^s,h=s?r-o:o-r;null===this._x1?this._append`M${l},${d}`:(Math.abs(this._x1-l)>eA||Math.abs(this._y1-d)>eA)&&this._append`L${l},${d}`,i&&(h<0&&(h=h%LU+LU),h>b4e?this._append`A${i},${i},0,1,${u},${n-a},${e-c}A${i},${i},0,1,${u},${this._x1=l},${this._y1=d}`:h>eA&&this._append`A${i},${i},0,${+(h>=RU)},${u},${this._x1=n+i*Math.cos(o)},${this._y1=e+i*Math.sin(o)}`)}rect(n,e,i,r){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}h${i=+i}v${+r}h${-i}Z`}toString(){return this._}}function w4e(t){return t[0]}function x4e(t){return t[1]}function uF(t,n){this._context=t,this._t=n}function E4e(t){return new uF(t,0)}function h_(t,n,e){this.k=t,this.x=n,this.y=e}uF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}},h_.prototype={constructor:h_,scale:function(t){return 1===t?this:new h_(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new h_(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},new h_(1,0,0);let D4e=(()=>{class t{ngOnChanges(){this.values.length>0&&(this.percentileRanks=this.isAttributeDirectionInversed?this.calculateReversedPercentileRanks(this.values):this.calculatePercentileRanks(this.values),this.renderDiagram())}renderDiagram(){this.initializeDiagramDimesions(),this.clearDiagramContainer();const e=this.createSvg(),i=this.createGroup(e),r=this.createXScale(),o=this.createYScale();this.drawAxes(i,r,o),this.drawFrame(i),this.drawLabels(i),this.drawAreas(i,r),this.drawLine(i)}initializeDiagramDimesions(){this.frameWidth=296,this.frameBuffer=10,this.frameHeight=80,this.marginTop=10,this.marginBottom=10,this.marginLeft=66,this.marginRight=54,this.diagramWidth=this.frameWidth-this.marginLeft-this.marginRight,this.diagramHeight=this.frameHeight-this.marginTop-this.marginBottom,this.yLabelYOffset=-47}clearDiagramContainer(){Hee("#cc-range-diagram-container").selectAll("*").remove()}createSvg(){return Hee("#cc-range-diagram-container").append("svg")}createGroup(e){return e.append("g").attr("transform",`translate(${this.marginLeft}, ${this.marginTop})`)}drawFrame(e){e.append("path").attr("d",`M ${-this.frameBuffer} ${-this.frameBuffer} h${this.diagramWidth+2*this.frameBuffer} v${this.diagramHeight+2*this.frameBuffer} h${-this.diagramWidth-2*this.frameBuffer} v${-this.diagramHeight-2*this.frameBuffer}`).attr("fill","none").attr("stroke","#888").attr("stroke-width","1px")}drawAxes(e,i,r){e.append("g").attr("id","axis-x").attr("transform",`translate(0,${this.diagramHeight+this.frameBuffer})`).call(function aOe(t){return NT(3,t)}(i).ticks(5)).attr("color","#888"),e.append("g").attr("id","axis-y").attr("transform",`translate(${-this.frameBuffer}, 0)`).call(function cOe(t){return NT(4,t)}(r).ticks(5).tickFormat(function(o){return o>=1e4?`${aF(".0f")(o/1e3)}k`:o>=1e3?`${aF(".1f")(o/1e3)}k`:o.toString()})).attr("color","#888")}createXScale(){return DU().domain(function eOe(t,n){let e,i;if(void 0===n)for(const r of t)null!=r&&(void 0===e?r>=r&&(e=i=r):(e>r&&(e=r),i=o&&(e=i=o):(e>o&&(e=o),ie.x)).range([0,this.diagramWidth])}createYScale(){const e=[0,BJ(this.percentileRanks,r=>r.y)],i=[BJ(this.percentileRanks,r=>r.y),0];return DU().domain(this.isAttributeDirectionInversed?i:e).range([this.diagramHeight,0])}drawLabels(e){const o=(this.diagramHeight+2*this.frameBuffer)/2-this.frameBuffer;e.append("text").attr("id","y-label").attr("class","y label").attr("transform","rotate(-90)").attr("x",-o).attr("y",this.yLabelYOffset).attr("text-anchor","middle").attr("fill","#888").text(`${this.colorMetric}`),e.append("text").attr("id","x-label").attr("class","x label").attr("text-anchor","middle").attr("x",this.diagramWidth/2).attr("y",this.diagramHeight+this.marginTop+this.marginBottom+2*this.frameBuffer).attr("fill","#888").text(`Quantiles (% of ${this.colorMetric})`)}drawAreas(e,i){const r=i(this.isAttributeDirectionInversed?this.calculateReversedPercentileFromMetricValue(this.currentRightValue):this.calculatePercentileFromMetricValue(this.currentLeftValue)),o=i(this.isAttributeDirectionInversed?this.calculateReversedPercentileFromMetricValue(this.currentLeftValue):this.calculatePercentileFromMetricValue(this.currentRightValue));e.append("rect").attr("class","left-area").attr("x",0).attr("y",-this.frameBuffer).attr("width",r).attr("height",this.diagramHeight+2*this.frameBuffer).style("fill",this.isAttributeDirectionInversed?this.rightColor:this.leftColor).style("fill-opacity","0.3"),e.append("rect").attr("class","middle-area").attr("x",r).attr("y",-this.frameBuffer).attr("width",o-r).attr("height",this.diagramHeight+2*this.frameBuffer).style("fill",this.middleColor).style("fill-opacity","0.3"),e.append("rect").attr("class","right-area").attr("x",o).attr("y",-this.frameBuffer).attr("width",this.diagramWidth-o).attr("height",this.diagramHeight+2*this.frameBuffer).style("fill",this.isAttributeDirectionInversed?this.leftColor:this.rightColor).style("fill-opacity","0.3")}drawLine(e){e.append("path").attr("id","diagram-path").datum(this.percentileRanks).attr("fill","none").attr("stroke","#888").attr("stroke-width",1).attr("d",function C4e(t,n){var e=u_(!0),i=null,r=g4e,o=null,s=function y4e(t){let n=3;return t.digits=function(e){if(!arguments.length)return n;if(null==e)n=null;else{const i=Math.floor(e);if(!(i>=0))throw new RangeError(`invalid digits: ${e}`);n=i}return t},()=>new dF(n)}(a);function a(c){var l,u,f,d=(c=function A4e(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}(c)).length,h=!1;for(null==i&&(o=r(f=s())),l=0;l<=d;++l)!(lthis.createXScale()(i.x)).y(i=>this.createYScale()(i.y)))}calculatePercentileRanks(e){const i=[...new Set(e)].sort((s,a)=>s-a),r=e.length,o=[{x:0,y:i[0]}];for(const s of i){const c=e.filter(l=>l<=s).length/r*100;o.push({x:c,y:s})}return o}calculateReversedPercentileRanks(e){const i=[...new Set(e)].sort((s,a)=>s-a).reverse(),r=e.length,o=[{x:0,y:i[0]}];for(const s of i){const c=e.filter(l=>l>=s).length/r*100;o.push({x:c,y:s})}return o.sort((s,a)=>s.x-a.x)}calculatePercentileFromMetricValue(e){if(e===this.minValue)return 0;if(e===this.maxValue)return 100;let i=null;for(const r of this.percentileRanks){if(!(r.ye))return i;i=r.x}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-metric-color-range-diagram"]],inputs:{minValue:"minValue",maxValue:"maxValue",colorMetric:"colorMetric",values:"values",currentLeftValue:"currentLeftValue",currentRightValue:"currentRightValue",leftColor:"leftColor",middleColor:"middleColor",rightColor:"rightColor",isAttributeDirectionInversed:"isAttributeDirectionInversed"},features:[ar],decls:1,vars:0,consts:[["id","cc-range-diagram-container",1,"cc-range-diagram-container"]],template:function(i,r){1&i&&fe(0,"div",0)},styles:["#slider-label-left,#slider-label-right,#x-label,#y-label,#axis-x,#axis-y{font-size:11px}#slider-label-left[text-anchor].end,#slider-label-right[text-anchor].end,#x-label[text-anchor].end,#y-label[text-anchor].end,#axis-x[text-anchor].end,#axis-y[text-anchor].end{text-anchor:end}#slider-label-left[text-anchor].start,#slider-label-right[text-anchor].start,#x-label[text-anchor].start,#y-label[text-anchor].start,#axis-x[text-anchor].start,#axis-y[text-anchor].start{text-anchor:start}#slider-label-left{font-size:11px;fill:#888;text-anchor:end;dominant-baseline:hanging}#slider-label-right{font-size:11px;fill:#888;text-anchor:start;dominant-baseline:hanging}.cc-range-diagram-container{display:flex;justify-content:center;align-items:center}.cc-range-diagram-container svg{width:100%;height:130px}\n"],encapsulation:2})}}return t})();const L4e=({thumbX:t,minValue:n,maxValue:e,sliderWidth:i})=>Math.round(n+t*((e-n)/i)),Gee=({newThumbScreenX:t,sliderBoundingClientRectX:n,thumbRadius:e,sliderWidth:i,minValue:r,maxValue:o})=>{const s=t-n+e;return{updatedThumbX:s,upcomingValue:L4e({thumbX:s,minValue:r,maxValue:o,sliderWidth:i})}},N4e=["minLabel"],U4e=["maxLabel"],H4e=["currentLeftLabel"],V4e=["currentRightLabel"],Q4e=["combinedCurrentLeftRightLabel"];let z4e=(()=>{class t{constructor(e){this.changeDetector=e,this.hideMinLabel=!1,this.hideMaxLabel=!1,this.doLeftRightLabelOverlap=!1}ngAfterViewChecked(){this.updateLabelDisplays()}updateLabelDisplays(){const e=this.minLabel.nativeElement.getBoundingClientRect().width,i=this.currentLeftLabel.nativeElement.getBoundingClientRect().width;this.currentLeftLabelLeftPosition=this.sliderRangePosition.leftEnd-i/2;const r=this.currentRightLabel.nativeElement.getBoundingClientRect().width,o=this.sliderWidth-this.maxLabel.nativeElement.getBoundingClientRect().width;this.currentRightLabelLeftPosition=this.sliderRangePosition.rightStart-r/2,this.hideMinLabel=this.currentLeftLabelLeftPosition<=e+4,this.hideMaxLabel=this.currentRightLabelLeftPosition+r+4>=o;const s=this.currentLeftLabelLeftPosition+i;this.doLeftRightLabelOverlap=s+4>=this.currentRightLabelLeftPosition;const a=(s+this.currentRightLabelLeftPosition)/2,c=this.combinedCurrentLeftRightLabel.nativeElement.getBoundingClientRect().width;this.combinedCurrentLeftRightLabelLeftPosition=a-c/2,this.changeDetector.detectChanges()}static{this.\u0275fac=function(i){return new(i||t)(N(ao))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-range-slider-labels"]],viewQuery:function(i,r){if(1&i&&(gi(N4e,5),gi(U4e,5),gi(H4e,5),gi(V4e,5),gi(Q4e,5)),2&i){let o;ln(o=dn())&&(r.minLabel=o.first),ln(o=dn())&&(r.maxLabel=o.first),ln(o=dn())&&(r.currentLeftLabel=o.first),ln(o=dn())&&(r.currentRightLabel=o.first),ln(o=dn())&&(r.combinedCurrentLeftRightLabel=o.first)}},inputs:{minValue:"minValue",maxValue:"maxValue",leftValueLabel:"leftValueLabel",rightValueLabel:"rightValueLabel",sliderRangePosition:"sliderRangePosition",sliderWidth:"sliderWidth"},decls:15,vars:26,consts:[["minLabel",""],["currentLeftLabel",""],["currentRightLabel",""],["combinedCurrentLeftRightLabel",""],["maxLabel",""],[1,"cc-range-slider-label"]],template:function(i,r){1&i&&(T(0,"div",5,0),ge(2),L(),T(3,"div",5,1),ge(5),L(),T(6,"div",5,2),ge(8),L(),T(9,"div",5,3),ge(11),L(),T(12,"div",5,4),ge(14),L()),2&i&&(xi("left",0,"px")("visibility",r.hideMinLabel?"hidden":"visible"),D(2),qt(" ",r.minValue,"\n"),D(),xi("left",r.currentLeftLabelLeftPosition,"px")("visibility",r.doLeftRightLabelOverlap?"hidden":"visible"),D(2),qt(" ",r.leftValueLabel,"\n"),D(),xi("left",r.currentRightLabelLeftPosition,"px")("visibility",r.doLeftRightLabelOverlap?"hidden":"visible"),D(2),qt(" ",r.rightValueLabel,"\n"),D(),xi("left",r.combinedCurrentLeftRightLabelLeftPosition,"px")("visibility",r.doLeftRightLabelOverlap?"visible":"hidden"),D(2),wg(" ",r.leftValueLabel," - ",r.rightValueLabel,"\n"),D(),xi("right",0,"px")("visibility",r.hideMaxLabel?"hidden":"visible"),D(2),qt(" ",r.maxValue,"\n"))},styles:["cc-range-slider-labels .cc-range-slider-label{position:absolute;top:0;line-height:24px;font-size:14px;color:#aeaeae}\n"],encapsulation:2,changeDetection:0})}}return t})();const G4e=["rangeSliderContainer"],W4e=["leftThumb"],$4e=["rightThumb"];let j4e=(()=>{class t{constructor(){this.sliderWidth=150,this.sliderRangePosition={leftEnd:0,rightStart:0},this.thumbRadius=7,this.currentlySliding=void 0,this.resetCurrentlySlidingOnNextMouseUp=e=>{const i=()=>{this.currentlySliding=void 0,document.removeEventListener("mouseup",i),document.removeEventListener("mousemove",e)};document.addEventListener("mouseup",i)},this.handleLeftThumbMoved=e=>{const i=(({deltaX:t,thumbScreenX:n,thumbRadius:e,otherThumbScreenX:i,sliderBoundingClientRectX:r,sliderWidth:o,minValue:s,maxValue:a})=>{let c=n+t;return ci&&(c=i),Gee({newThumbScreenX:c,sliderBoundingClientRectX:r,thumbRadius:e,sliderWidth:o,minValue:s,maxValue:a})})({deltaX:e.movementX,thumbScreenX:this.leftThumb.nativeElement.getBoundingClientRect().x,thumbRadius:this.thumbRadius,otherThumbScreenX:this.rightThumb.nativeElement.getBoundingClientRect().x,sliderBoundingClientRectX:this.sliderContainer.nativeElement.getBoundingClientRect().x,sliderWidth:this.sliderWidth,minValue:this.minValue,maxValue:this.maxValue});this.sliderRangePosition={leftEnd:i.updatedThumbX,rightStart:this.sliderRangePosition.rightStart},this.upcomingLeftValue=i.upcomingValue,this.handleValueChange({newLeftValue:i.upcomingValue})},this.handleRightThumbMoved=e=>{const i=(({deltaX:t,thumbScreenX:n,thumbRadius:e,otherThumbScreenX:i,sliderBoundingClientRectX:r,sliderWidth:o,minValue:s,maxValue:a})=>{let c=n+t;return c>r+o-e&&(c=r+o-e),c{const o=n-t;return o<=0?{leftEnd:r,rightStart:r}:{leftEnd:(e-t)/o*r,rightStart:(i-t)/o*r}})({minValue:this.minValue,maxValue:this.maxValue,currentLeftValue:this.currentLeftValue,currentRightValue:this.currentRightValue,sliderWidth:this.sliderWidth}),e.currentLeftValue&&(this.upcomingLeftValue=this.currentLeftValue),e.currentRightValue&&(this.upcomingRightValue=this.currentRightValue))}setCurrentlySliding(e){switch(this.currentlySliding=e,this.currentlySliding){case"leftThumb":document.addEventListener("mousemove",this.handleLeftThumbMoved),this.rightThumb.nativeElement.style.zIndex="0",this.leftThumb.nativeElement.style.zIndex="1",this.resetCurrentlySlidingOnNextMouseUp(this.handleLeftThumbMoved);break;case"rightThumb":document.addEventListener("mousemove",this.handleRightThumbMoved),this.leftThumb.nativeElement.style.zIndex="0",this.rightThumb.nativeElement.style.zIndex="1",this.resetCurrentlySlidingOnNextMouseUp(this.handleRightThumbMoved)}}handleCurrentLeftInputChanged(e){const i=w3(e,this.minValue,this.currentRightValue);i!==this.currentLeftValue&&this.handleValueChange({newLeftValue:i})}handleCurrentRightInputChanged(e){const i=w3(e,this.currentLeftValue,this.maxValue);i!==this.currentRightValue&&this.handleValueChange({newRightValue:i})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-metric-color-range-slider"]],viewQuery:function(i,r){if(1&i&&(gi(G4e,5),gi(W4e,5),gi($4e,5)),2&i){let o;ln(o=dn())&&(r.sliderContainer=o.first),ln(o=dn())&&(r.leftThumb=o.first),ln(o=dn())&&(r.rightThumb=o.first)}},inputs:{minValue:"minValue",maxValue:"maxValue",currentLeftValue:"currentLeftValue",currentRightValue:"currentRightValue",leftColor:"leftColor",middleColor:"middleColor",rightColor:"rightColor",handleValueChange:"handleValueChange",sliderWidth:"sliderWidth",isAttributeDirectionInversed:"isAttributeDirectionInversed"},features:[ar],decls:15,vars:28,consts:[["rangeSliderContainer",""],["leftThumb",""],["rightThumb",""],[1,"cc-range-slider-container"],["appearance","outline"],["matInput","","type","number",3,"input","value","min","max"],[1,"cc-range-slider-slider"],[1,"cc-range-slider-bar"],[1,"cc-range-slider-slider-thumb",3,"mousedown"],[3,"minValue","maxValue","leftValueLabel","rightValueLabel","sliderRangePosition","sliderWidth"]],template:function(i,r){if(1&i){const o=Cn();T(0,"div",3)(1,"mat-form-field",4)(2,"input",5),De("input",function(a){return Mt(o),St(r.handleCurrentLeftInputChanged(a))}),L()(),T(3,"div",6,0),fe(5,"span",7)(6,"span",7)(7,"span",7),T(8,"div",8,1),De("mousedown",function(){return Mt(o),St(r.setCurrentlySliding("leftThumb"))}),L(),T(10,"div",8,2),De("mousedown",function(){return Mt(o),St(r.setCurrentlySliding("rightThumb"))}),L(),fe(12,"cc-range-slider-labels",9),L(),T(13,"mat-form-field",4)(14,"input",5),De("input",function(a){return Mt(o),St(r.handleCurrentRightInputChanged(a))}),L()()()}2&i&&(D(2),le("value",r.currentLeftValue)("min",r.minValue)("max",r.upcomingRightValue),D(3),xi("width",r.sliderRangePosition.leftEnd,"px")("border-bottom-color",r.leftColor),D(),xi("width",r.sliderRangePosition.rightStart-r.sliderRangePosition.leftEnd,"px")("border-bottom-color",r.middleColor),D(),xi("width",r.sliderWidth-r.sliderRangePosition.rightStart,"px")("border-bottom-color",r.rightColor),D(),xi("left",r.sliderRangePosition.leftEnd-r.thumbRadius,"px"),D(2),xi("left",r.sliderRangePosition.rightStart-r.thumbRadius,"px"),D(2),le("minValue",r.minValue)("maxValue",r.maxValue)("leftValueLabel",r.upcomingLeftValue)("rightValueLabel",r.upcomingRightValue)("sliderRangePosition",r.sliderRangePosition)("sliderWidth",r.sliderWidth),D(2),le("value",r.currentRightValue)("min",r.upcomingLeftValue)("max",r.maxValue))},dependencies:[Dd,Gp,z4e],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-metric-color-range-slider .cc-range-slider-container{display:flex;align-items:center;margin:0 10px}cc-metric-color-range-slider .cc-range-slider-container mat-form-field{height:32px}cc-metric-color-range-slider .cc-range-slider-container mat-form-field .mat-mdc-text-field-wrapper{padding:0 4px}cc-metric-color-range-slider .cc-range-slider-container mat-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex{align-self:center}cc-metric-color-range-slider .cc-range-slider-container mat-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{padding:0;min-height:28px}cc-metric-color-range-slider .cc-range-slider-container mat-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-mdc-input-element{min-height:inherit}cc-metric-color-range-slider .cc-range-slider-container mat-form-field .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{display:none}cc-metric-color-range-slider .cc-range-slider-container .cc-range-slider-slider{flex:1;margin:0 8px;position:relative;line-height:48px}cc-metric-color-range-slider .cc-range-slider-container .cc-range-slider-slider .cc-range-slider-bar{display:inline-block;border-bottom-width:4px;border-bottom-style:solid}cc-metric-color-range-slider .cc-range-slider-container .cc-range-slider-slider .cc-range-slider-slider-thumb{cursor:pointer;position:absolute;top:20px;border-radius:100%;border:7px solid #1b9cfc}\n'],encapsulation:2})}}return t})();const K4e=()=>["appSettings.mapColors.positiveDelta","appSettings.mapColors.negativeDelta","appSettings.mapColors.selected"],X4e=()=>["appSettings.mapColors.positive","appSettings.mapColors.negative","appSettings.mapColors.neutral","appSettings.mapColors.selected"],Y4e=()=>["appSettings.mapColors.positiveDelta","appSettings.mapColors.negativeDelta"];function q4e(t,n){if(1&t){const e=Cn();T(0,"div"),fe(1,"cc-metric-color-range-slider",4),Ee(2,"async"),Ee(3,"async"),Ee(4,"async"),Ee(5,"async"),Ee(6,"async"),Ee(7,"async"),Ee(8,"async"),Ee(9,"async"),fe(10,"cc-reset-settings-button",5)(11,"cc-metric-color-range-diagram",6),Ee(12,"async"),Ee(13,"async"),Ee(14,"async"),Ee(15,"async"),Ee(16,"async"),Ee(17,"async"),Ee(18,"async"),Ee(19,"async"),Ee(20,"async"),Ee(21,"async"),T(22,"mat-form-field",7)(23,"mat-label"),ge(24,"Gradient Mode"),L(),T(25,"mat-select",8),Ee(26,"async"),De("selectionChange",function(r){return Mt(e),St(Se().handleColorModeChange(r.value))}),T(27,"div",9),De("mousedown",function(r){return Mt(e),St(r.stopPropagation())}),T(28,"mat-option",10),ge(29,"Absolute"),L(),T(30,"mat-option",11),ge(31,"Focused Gradient"),L(),T(32,"mat-option",12),ge(33,"Weighted Gradient"),L(),T(34,"mat-option",13),ge(35,"True Gradient"),L()()()()()}if(2&t){const e=Se();D(),le("minValue",Re(2,22,e.sliderValues$).min)("maxValue",Re(3,24,e.sliderValues$).max)("currentLeftValue",Re(4,26,e.sliderValues$).from)("currentRightValue",Re(5,28,e.sliderValues$).to)("leftColor",Re(6,30,e.sliderColors$).leftColor)("middleColor",Re(7,32,e.sliderColors$).middleColor)("rightColor",Re(8,34,e.sliderColors$).rightColor)("handleValueChange",e.handleValueChange)("isAttributeDirectionInversed",Re(9,36,e.isAttributeDescriptionInversed$)),D(9),le("settingsKeys",Kh(60,Y4e))("callback",e.resetColorRange),D(),le("minValue",Re(12,38,e.sliderValues$).min)("maxValue",Re(13,40,e.sliderValues$).max)("currentLeftValue",Re(14,42,e.sliderValues$).from)("currentRightValue",Re(15,44,e.sliderValues$).to)("leftColor",Re(16,46,e.sliderColors$).leftColor)("middleColor",Re(17,48,e.sliderColors$).middleColor)("rightColor",Re(18,50,e.sliderColors$).rightColor)("colorMetric",Re(19,52,e.colorMetric$))("values",Re(20,54,e.sliderValues$).values)("isAttributeDirectionInversed",Re(21,56,e.isAttributeDescriptionInversed$)),D(14),le("value",Re(26,58,e.colorMode$))}}function Z4e(t,n){if(1&t){const e=Cn();T(0,"div",1),fe(1,"cc-color-picker-for-map-color",0),T(2,"mat-checkbox",14),Ee(3,"async"),De("change",function(r){return Mt(e),St(Se().toggleColorLabel(r,"positive"))}),ge(4,"Show labels"),L()(),T(5,"div",1),fe(6,"cc-color-picker-for-map-color",0),T(7,"mat-checkbox",14),Ee(8,"async"),De("change",function(r){return Mt(e),St(Se().toggleColorLabel(r,"neutral"))}),ge(9,"Show labels"),L()(),T(10,"div",1),fe(11,"cc-color-picker-for-map-color",0),T(12,"mat-checkbox",14),Ee(13,"async"),De("change",function(r){return Mt(e),St(Se().toggleColorLabel(r,"negative"))}),ge(14,"Show labels"),L()()}if(2&t){const e=Se();D(),le("mapColorFor","positive"),D(),le("checked",Re(3,6,e.colorLabels$).positive),D(4),le("mapColorFor","neutral"),D(),le("checked",Re(8,8,e.colorLabels$).neutral),D(4),le("mapColorFor","negative"),D(),le("checked",Re(13,10,e.colorLabels$).negative)}}function J4e(t,n){1&t&&fe(0,"cc-color-picker-for-map-color",0)(1,"cc-color-picker-for-map-color",0),2&t&&(le("mapColorFor","positiveDelta"),D(),le("mapColorFor","negativeDelta"))}function eHe(t,n){if(1&t){const e=Cn();T(0,"mat-checkbox",14),De("change",function(r){return Mt(e),St(Se().handleIsColorRangeInvertedChange(r.checked))}),ge(1,"Invert Colors"),L()}2&t&&le("checked",Se().isColorRangeInverted)}function tHe(t,n){if(1&t){const e=Cn();T(0,"mat-checkbox",14),De("change",function(r){return Mt(e),St(Se().handleAreDeltaColorsInverted(r.checked))}),ge(1,"Invert Colors"),L()}2&t&&le("checked",Se().areDeltaColorsInverted)}let nHe=(()=>{class t{constructor(e,i){this.store=e,this.state=i,this.colorMode$=this.store.select(qPe),this.colorLabels$=this.store.select(FJ),this.colorMetric$=this.store.select(Vf),this.isDeltaState$=this.store.select(zf),this.sliderValues$=this.store.select(JPe),this.sliderColors$=this.store.select(ZPe),this.isAttributeDescriptionInversed$=this.checkIsAttributeDirectionReversed(),this.isColorRangeInverted=!1,this.areDeltaColorsInverted=!1,this.newLeftValue=null,this.newRightValue=null,this.handleValueChange=({newLeftValue:r,newRightValue:o})=>{this.newLeftValue=r??this.newLeftValue,this.newRightValue=o??this.newRightValue,this.updateColorRangeDebounced()},this.updateColorRangeDebounced=Bd(()=>{const r={};null!==this.newLeftValue&&(r.from=this.newLeftValue),null!==this.newRightValue&&(r.to=this.newRightValue),this.store.dispatch(cd({value:r})),this.newLeftValue=null,this.newRightValue=null},400),this.resetInvertColorCheckboxes=()=>{this.isColorRangeInverted=!1,this.areDeltaColorsInverted=!1},this.resetColorRange=()=>{const r=ju(this.state.getValue());this.store.dispatch(cd({value:xT(r)}))}}checkIsAttributeDirectionReversed(){return this.colorMetric$.pipe(mt(e=>1===this.state.getValue().fileSettings.attributeDescriptors[e]?.direction))}handleColorModeChange(e){this.store.dispatch(uy({value:e}))}toggleColorLabel(e,i){this.store.dispatch(J0({value:{[i]:e.checked}}))}handleIsColorRangeInvertedChange(e){this.isColorRangeInverted=e,this.store.dispatch(pM())}handleAreDeltaColorsInverted(e){this.areDeltaColorsInverted=e,this.store.dispatch(AM())}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(Dr))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-color-settings-panel"]],decls:13,vars:18,consts:[[3,"mapColorFor"],[1,"color-row"],["tooltip","Reset color values to default","label","Reset colors",3,"settingsKeys","callback"],[3,"checked"],[3,"minValue","maxValue","currentLeftValue","currentRightValue","leftColor","middleColor","rightColor","handleValueChange","isAttributeDirectionInversed"],["tooltip","Reset slider thresholds to default","label","Reset thresholds",3,"settingsKeys","callback"],[3,"minValue","maxValue","currentLeftValue","currentRightValue","leftColor","middleColor","rightColor","colorMetric","values","isAttributeDirectionInversed"],["appearance","outline",1,"gradient-mode-selector"],[3,"selectionChange","value"],[3,"mousedown"],["value","absolute"],["value","focusedGradient"],["value","weightedGradient"],["value","trueGradient"],[3,"change","checked"]],template:function(i,r){1&i&&($e(0,q4e,36,61,"div"),Ee(1,"async"),Ee(2,"async"),$e(3,Z4e,15,12),Ee(4,"async"),$e(5,J4e,2,2),fe(6,"cc-color-picker-for-map-color",0),T(7,"div",1),fe(8,"cc-reset-settings-button",2),Ee(9,"async"),$e(10,eHe,2,1,"mat-checkbox",3),Ee(11,"async"),$e(12,tHe,2,1),L()),2&i&&(at(0,Re(1,6,r.isDeltaState$)||"unary"===Re(2,8,r.colorMetric$)?-1:0),D(3),at(3,Re(4,10,r.isDeltaState$)?5:3),D(3),le("mapColorFor","selected"),D(2),le("settingsKeys",Re(9,12,r.isDeltaState$)?Kh(16,K4e):Kh(17,X4e))("callback",r.resetInvertColorCheckboxes),D(2),at(10,Re(11,14,r.isDeltaState$)?12:10))},dependencies:[e3,D4e,j4e,Bx,Dd,Id,$p,Fu,Xp,Ln],styles:["cc-color-settings-panel.cc-metric-settings-panel .gradient-mode-selector{height:40px;margin:5px 10px;width:243px}cc-color-settings-panel.cc-metric-settings-panel .gradient-mode-selector .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{padding:10px;min-height:28px}cc-color-settings-panel.cc-metric-settings-panel .gradient-mode-selector .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-mdc-input-element{min-height:inherit}cc-color-settings-panel.cc-metric-settings-panel .gradient-mode-selector .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{display:none}cc-color-settings-panel.cc-metric-settings-panel .color-row{display:flex;align-items:center}cc-color-picker-for-map-color{width:50%}cc-reset-settings-button{width:50%}\n"],encapsulation:2})}}return t})();const OU=Bt(Pr,t=>t.isEdgeMetricVisible);function iHe(t,n){1&t&&(T(0,"div",4)(1,"div",5),fe(2,"cc-metric-chooser-type",6),ge(3),L()()),2&t&&(D(2),le("attributeType","edges")("metricFor","edgeMetric"),D(),qt(" ",n," "))}function rHe(t,n){if(1&t&&(T(0,"cc-metric-chooser",2),Ee(1,"async"),T(2,"div",3),$e(3,iHe,4,3,"div",4),Ee(4,"async"),L()()),2&t){let e;const i=Se();sn("is-edge-metric-disabled",!Re(1,7,i.isEdgeMetricVisible$)),le("selectedMetricName",n)("searchPlaceholder","Edge Metric (highest value)")("handleMetricChanged",i.handleEdgeMetricChanged)("type","edge"),D(3),at(3,(e=Re(4,9,i.edgeValue$))?3:-1,e)}}let oHe=(()=>{class t{constructor(e,i){this.store=e,this.nodeSelectionService=i,this.edgeValue$=this.createEdgeValue(),this.edgeMetric$=this.store.select(Xu),this.isEdgeMetricVisible$=this.store.select(OU),this.formatHoveredEdgeValue=(r,o)=>{if(!o)return null;const s=o.edgeAttributes[r];return s?`${this.formatValue(s.incoming)} / ${this.formatValue(s.outgoing)}`:null},this.formatValue=r=>"number"==typeof r?r.toLocaleString():"-"}handleEdgeMetricChanged(e){this.store.dispatch(yu({value:e}))}createEdgeValue(){return Su([this.store.select(Xu),this.nodeSelectionService.createNodeObservable()]).pipe(mt(([e,i])=>this.formatHoveredEdgeValue(e,i)))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(IT))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-edge-metric-chooser"]],decls:3,vars:3,consts:[[1,"fa","fa-exchange"],["title","Change edge metric",3,"is-edge-metric-disabled","selectedMetricName","searchPlaceholder","handleMetricChanged","type"],["title","Change edge metric",3,"selectedMetricName","searchPlaceholder","handleMetricChanged","type"],["hoveredInformation","",1,"cc-metric-chooser-container"],[1,"metric-value"],[1,"rounded-box"],[3,"attributeType","metricFor"]],template:function(i,r){if(1&i&&(fe(0,"i",0),$e(1,rHe,5,11,"cc-metric-chooser",1),Ee(2,"async")),2&i){let o;D(),at(1,(o=Re(2,1,r.edgeMetric$))?1:-1,o)}},dependencies:[kx,lJ,Ln],styles:["cc-edge-metric-chooser cc-metric-chooser.is-edge-metric-disabled .mat-mdc-select-value{color:gray}\n"],encapsulation:2})}}return t})();const sHe=Bt(Pr,t=>t.edgeHeight),aHe=Bt(Pr,t=>t.showOnlyBuildingsWithEdges),cHe=Bt(Cs,Xu,(t,n)=>t.nodeEdgeMetricsMap.get(n)?.size??0);let lHe=(()=>{class t{constructor(e){this.store=e}ngOnInit(){this.isEdgeMetricVisible$=this.store.select(OU)}toggleEdgeMetric(){this.store.dispatch(fM())}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-edge-metric-toggle"]],decls:3,vars:3,consts:[[1,"edgeMetricCheckbox",3,"change","checked"]],template:function(i,r){1&i&&(T(0,"mat-checkbox",0),Ee(1,"async"),De("change",function(){return r.toggleEdgeMetric()}),ge(2," Disable edge metric\n"),L()),2&i&&le("checked",!Re(1,1,r.isEdgeMetricVisible$))},dependencies:[Xp,Ln],encapsulation:2})}}return t})();const dHe=()=>["appSettings.showOnlyBuildingsWithEdges","appSettings.amountOfEdgePreviews","appSettings.edgeHeight"];let uHe=(()=>{class t{constructor(e){this.store=e,this.amountOfBuildingsWithSelectedEdgeMetric$=this.store.select(cHe),this.edgePreviewLabel$=this.amountOfBuildingsWithSelectedEdgeMetric$.pipe(mt(i=>`Preview the edges of up to ${i} buildings with the highest amount of incoming and outgoing edges`)),this.amountOfEdgePreviews$=this.store.select(aJ),this.edgeHeight$=this.store.select(sHe),this.showOnlyBuildingsWithEdges$=this.store.select(aHe),this.applySettingsAmountOfEdgePreviews=i=>{this.store.dispatch(Cx({value:i}))},this.applySettingsEdgeHeight=i=>{this.store.dispatch(Rg({value:i}))}}applyShowOnlyBuildingsWithEdges(e){this.store.dispatch(dy({value:e.checked}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-edge-settings-panel"]],decls:17,vars:35,consts:[[3,"title","label","value","onChange","min","max","disabled"],["title","Adjust the curve height",3,"label","value","onChange","min","max","disabled"],[1,"wrapper"],[3,"mapColorFor"],[3,"change","checked","disabled"],["tooltip","Reset edge metric settings to their defaults","label","Reset edge metric settings",3,"settingsKeys"]],template:function(i,r){1&i&&(fe(0,"cc-slider",0),Ee(1,"async"),Ee(2,"async"),Ee(3,"async"),Ee(4,"async"),fe(5,"cc-slider",1),Ee(6,"async"),Ee(7,"async"),T(8,"div",2),fe(9,"cc-color-picker-for-map-color",3)(10,"cc-color-picker-for-map-color",3),L(),T(11,"mat-checkbox",4),Ee(12,"async"),Ee(13,"async"),De("change",function(s){return r.applyShowOnlyBuildingsWithEdges(s)}),ge(14," Only show nodes with edges\n"),L(),fe(15,"cc-edge-metric-toggle")(16,"cc-reset-settings-button",5)),2&i&&(le("title",Re(1,18,r.edgePreviewLabel$))("label","Preview")("value",Re(2,20,r.amountOfEdgePreviews$))("onChange",r.applySettingsAmountOfEdgePreviews)("min",0)("max",Re(3,22,r.amountOfBuildingsWithSelectedEdgeMetric$))("disabled",0===Re(4,24,r.amountOfBuildingsWithSelectedEdgeMetric$)),D(5),le("label","Height")("value",Re(6,26,r.edgeHeight$))("onChange",r.applySettingsEdgeHeight)("min",1)("max",9)("disabled",0===Re(7,28,r.amountOfBuildingsWithSelectedEdgeMetric$)),D(4),le("mapColorFor","outgoingEdge"),D(),le("mapColorFor","incomingEdge"),D(),le("checked",Re(12,30,r.showOnlyBuildingsWithEdges$))("disabled",0===Re(13,32,r.amountOfBuildingsWithSelectedEdgeMetric$)),D(5),le("settingsKeys",Kh(34,dHe)))},dependencies:[Bx,RT,Xp,e3,lHe,Ln],encapsulation:2})}}return t})();function hHe(t,n){if(1&t){const e=Cn();T(0,"mat-card",18),fe(1,"cc-link-color-metric-to-height-metric-button"),L(),T(2,"mat-card",19)(3,"div",1)(4,"div",20),fe(5,"cc-color-metric-chooser"),L(),T(6,"span",21),De("click",function(){return Mt(e),St(Se().updatePanelSelection("COLOR_PANEL_OPEN"))}),ge(7," Color Metric Options "),fe(8,"i",9),L()(),fe(9,"cc-color-settings-panel",10),L()}if(2&t){const e=Se();D(2),sn("expanded","COLOR_PANEL_OPEN"===e.panelSelection),D(7),sn("hidden","COLOR_PANEL_OPEN"!==e.panelSelection)}}function fHe(t,n){if(1&t){const e=Cn();T(0,"mat-card",22)(1,"div",1)(2,"div",23),fe(3,"cc-edge-metric-chooser"),L(),T(4,"span",24),De("click",function(){return Mt(e),St(Se().updatePanelSelection("EDGE_PANEL_OPEN"))}),ge(5," Edge Metric Options "),fe(6,"i",9),L(),fe(7,"cc-edge-settings-panel",10),L()()}if(2&t){const e=Se();sn("expanded","EDGE_PANEL_OPEN"===e.panelSelection),D(7),sn("hidden","EDGE_PANEL_OPEN"!==e.panelSelection)}}function mHe(t,n){if(1&t){const e=Cn();T(0,"mat-card",17)(1,"div",25),De("click",function(){return Mt(e),St(Se().updatePanelSelection("COLOR_PANEL_OPEN"))}),fe(2,"i",26),ge(3," Color Settings "),fe(4,"i",27),L(),fe(5,"cc-color-settings-panel",10),L()}if(2&t){const e=Se();D(5),sn("hidden","COLOR_PANEL_OPEN"!==e.panelSelection)}}let pHe=(()=>{class t{constructor(e){this.store=e,this.panelSelection="NONE",this.experimentalFeaturesEnabled$=this.store.select(t3),this.isDeltaState$=this.store.select(zf),this.hasEdgeMetric$=this.store.select(Cs).pipe(mt(i=>i.edgeMetricData.length>0)),this.closePanelSelectionOnOutsideClick=i=>{"NONE"!==this.panelSelection&&this.isOutside(i)&&(this.panelSelection="NONE")},this.panelSelectionComponents=["CC-AREA-SETTINGS-PANEL","CC-HEIGHT-SETTINGS-PANEL","CC-COLOR-SETTINGS-PANEL","CC-EDGE-SETTINGS-PANEL","COLOR-CHROME"],this.panelSectionTogglerTitles=["Show area metric settings","Show height metric settings","Show color metric settings","Show edge metric settings"]}ngOnInit(){document.addEventListener("mousedown",this.closePanelSelectionOnOutsideClick)}ngOnDestroy(){document.removeEventListener("mousedown",this.closePanelSelectionOnOutsideClick)}updatePanelSelection(e){this.panelSelection=this.panelSelection===e?"NONE":e}isOutside(e){return e.composedPath().every(i=>!this.panelSelectionComponents.includes(i.nodeName)&&!this.panelSectionTogglerTitles.includes(i.title)&&"codemap-context-menu"!==i.id)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-ribbon-bar"]],decls:43,vars:21,consts:[["appearance","outlined","id","scenario-card",1,"scenario-card"],[1,"section"],[1,"section-header"],[1,"section-title","no-hover"],["appearance","outlined","id","custom-configs-card",1,"custom-configs-card"],["appearance","outlined","id","ai-card",1,"ai-card"],["appearance","outlined","id","area-metric-card",1,"area-metric-card","metric-card"],["id","area-metric-header-section",1,"section-header"],["title","Show area metric settings",1,"section-title",3,"click"],[1,"fa","fa-angle-down"],[1,"cc-metric-settings-panel"],["appearance","outlined","id","height-and-color-metric-container"],["appearance","outlined","id","height-metric-card",1,"height-metric-card","metric-card"],["id","height-metric-section",1,"section"],["id","height-metric-header-section",1,"section-header"],["title","Show height metric settings",1,"section-title",3,"click"],["appearance","outlined","id","edge-metric-card",1,"edge-metric-card","metric-card",3,"expanded"],["appearance","outlined","id","color-settings-card"],["appearance","outlined",1,"link-color-metric-to-height-metric-card"],["appearance","outlined","id","color-metric-card",1,"color-metric-card","metric-card"],["id","color-metric-header-section",1,"section-header"],["title","Show color metric settings",1,"section-title",3,"click"],["appearance","outlined","id","edge-metric-card",1,"edge-metric-card","metric-card"],["id","edge-metric-header-section",1,"section-header"],["title","Show edge metric settings",1,"section-title",3,"click"],["title","Show color settings",1,"delta-color-section",3,"click"],[1,"fa","fa-paint-brush","color-icon"],[1,"fa","fa-sort-down","color-dropdown-icon"]],template:function(i,r){1&i&&(fe(0,"cc-search-panel"),T(1,"mat-card",0)(2,"div",1)(3,"div",2),fe(4,"cc-show-scenarios-button"),L(),T(5,"span",3),ge(6,"Metric Templates"),L()()(),T(7,"mat-card",4)(8,"div",1)(9,"div",2),fe(10,"cc-custom-configs"),L(),T(11,"span",3),ge(12,"Custom Views"),L()()(),T(13,"mat-card",5)(14,"div",1)(15,"div",2),fe(16,"cc-artificial-intelligence"),L(),T(17,"span",3),ge(18,"Suspicious Metrics"),L()()(),T(19,"mat-card",6)(20,"div",1)(21,"div",7),fe(22,"cc-area-metric-chooser"),L(),T(23,"span",8),De("click",function(){return r.updatePanelSelection("AREA_PANEL_OPEN")}),ge(24," Area Metric Options "),fe(25,"i",9),L()(),fe(26,"cc-area-settings-panel",10),L(),T(27,"mat-card",11),Ee(28,"async"),T(29,"mat-card",12)(30,"div",13)(31,"div",14),fe(32,"cc-height-metric-chooser"),L(),T(33,"span",15),De("click",function(){return r.updatePanelSelection("HEIGHT_PANEL_OPEN")}),ge(34," Height Metric Options "),fe(35,"i",9),L()(),fe(36,"cc-height-settings-panel",10),L(),$e(37,hHe,10,4),Ee(38,"async"),L(),$e(39,fHe,8,4,"mat-card",16),Ee(40,"async"),$e(41,mHe,6,2,"mat-card",17),Ee(42,"async")),2&i&&(D(19),sn("expanded","AREA_PANEL_OPEN"===r.panelSelection),D(7),sn("hidden","AREA_PANEL_OPEN"!==r.panelSelection),D(),sn("delta",Re(28,13,r.isDeltaState$)),D(2),sn("expanded","HEIGHT_PANEL_OPEN"===r.panelSelection),D(7),sn("hidden","HEIGHT_PANEL_OPEN"!==r.panelSelection),D(),at(37,Re(38,15,r.isDeltaState$)?-1:37),D(2),at(39,Re(40,17,r.hasEdgeMetric$)?39:-1),D(2),at(41,Re(42,19,r.isDeltaState$)?41:-1))},dependencies:[gT,gZ,n2e,NZ,z2e,JRe,NPe,jPe,KPe,XPe,YPe,nHe,oHe,uHe,Ln],styles:['cc-ribbon-bar{position:fixed;z-index:10;white-space:nowrap;display:flex;flex-wrap:nowrap;flex-direction:row;width:100%}cc-ribbon-bar #height-and-color-metric-container{display:flex;flex-wrap:nowrap;flex-direction:row;border:none;flex:2.5 2.5 0}cc-ribbon-bar #height-and-color-metric-container.delta{flex:1 1 0}cc-ribbon-bar #height-and-color-metric-container .mat-mdc-card{box-shadow:none}cc-ribbon-bar .cc-ribbon-bar-menu-button{height:22px;line-height:22px;min-width:45px;margin:0;padding:0;font-size:9pt;background-color:#e6e6e6f5;color:#444}cc-ribbon-bar .cc-ribbon-bar-menu-button:hover{background-color:#c8c8c8}cc-ribbon-bar cc-search-panel .search-panel-card{border-left:none;width:100%}cc-ribbon-bar cc-search-panel .search-panel-card.expanded{height:100%}cc-ribbon-bar cc-search-panel .search-panel-card.expanded .section-body{min-height:162px;max-height:500px;overflow-y:auto}cc-ribbon-bar cc-search-panel .search-panel-card .section-body{display:flex;flex-direction:column;padding:6px;position:absolute;top:45px;background:#fff;border:1px solid #b5b5b5;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}cc-ribbon-bar cc-search-panel .search-panel-card .section-body.hidden{display:none;pointer-events:none}cc-ribbon-bar .mat-mdc-card{padding:0;height:46px;border-radius:0;border-top:1px solid #cdcdcd;flex:1 1 0;transition:.2s width ease-in-out}cc-ribbon-bar .mat-mdc-card .section{display:inline-block;height:100%;width:100%;vertical-align:top;overflow:hidden}cc-ribbon-bar .mat-mdc-card .section#height-metric-section{border-right:none}cc-ribbon-bar .mat-mdc-card .section .section-header{margin:0 5px;height:31px;color:#444;overflow:hidden;padding:5px}cc-ribbon-bar .mat-mdc-card .section .section-header#area-metric-header-section,cc-ribbon-bar .mat-mdc-card .section .section-header#height-metric-header-section,cc-ribbon-bar .mat-mdc-card .section .section-header#color-metric-header-section,cc-ribbon-bar .mat-mdc-card .section .section-header#edge-metric-header-section{border-bottom:1px solid rgba(0,0,0,.12)}cc-ribbon-bar .mat-mdc-card .section .section-title{font-size:8pt;display:block;width:100%;height:100%;color:gray;text-align:center;transition:background-color .4s;border-bottom:1px solid transparent}cc-ribbon-bar .mat-mdc-card .section .section-title:hover{background-color:#e0e0e0;cursor:pointer}cc-ribbon-bar .mat-mdc-card .section .section-title:focus{outline:none}cc-ribbon-bar .mat-mdc-card .section .section-title.no-hover{pointer-events:none}cc-ribbon-bar .mat-mdc-card .section .section-title i:before{content:"\\f107"}cc-ribbon-bar .mat-mdc-card.expanded .section-title i:before{content:"\\f106"}cc-ribbon-bar .mat-mdc-card.expanded .section-body cc-reset-settings-button button{opacity:1;pointer-events:all}cc-ribbon-bar .mat-mdc-card .section-height-metric-card{border-right:none}cc-ribbon-bar .mat-mdc-card .delta-color-section{line-height:45px;vertical-align:baseline}cc-ribbon-bar .mat-mdc-card .delta-color-section:hover{cursor:pointer}cc-ribbon-bar .mat-mdc-card .delta-color-section .color-icon{margin:8px}cc-ribbon-bar .mat-mdc-card .delta-color-section .color-dropdown-icon{position:absolute;top:12px;right:8px}cc-ribbon-bar .mat-mdc-card.ai-card .section .section-header,cc-ribbon-bar .mat-mdc-card.custom-configs-card .section .section-header{overflow:visible;text-align:center}cc-ribbon-bar .mat-mdc-card.ai-card .section .section-title,cc-ribbon-bar .mat-mdc-card.custom-configs-card .section .section-title{padding:1px 5px}cc-ribbon-bar mat-card,cc-ribbon-bar .section .section-header,cc-ribbon-bar .section .section-body,cc-ribbon-bar .section-body cc-reset-settings-button button{transition:height .1s ease}cc-ribbon-bar mat-card.custom-configs-card,cc-ribbon-bar mat-card.ai-card{max-width:120px;min-width:120px}cc-ribbon-bar mat-card.link-color-metric-to-height-metric-card{display:flex;justify-content:center;flex-grow:0}cc-ribbon-bar mat-card.scenario-card{max-width:100px;min-width:100px}cc-ribbon-bar cc-area-metric-chooser,cc-ribbon-bar cc-height-metric-chooser,cc-ribbon-bar cc-color-metric-chooser,cc-ribbon-bar cc-edge-metric-chooser{display:flex;align-items:center;margin:auto}cc-ribbon-bar cc-area-metric-chooser i,cc-ribbon-bar cc-height-metric-chooser i,cc-ribbon-bar cc-color-metric-chooser i,cc-ribbon-bar cc-edge-metric-chooser i{margin-right:8px}cc-ribbon-bar .cc-metric-settings-panel{display:flex;flex-direction:column;position:absolute;top:45px;right:0;padding:8px;width:280px;background:#fff;border:1px solid #b5b5b5;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;overflow:hidden;opacity:1;font-size:.9em;transition:max-height .2s ease-in-out}cc-ribbon-bar .cc-metric-settings-panel.hidden{max-height:0;pointer-events:none;opacity:0;transition:opacity 0ms .2s,max-height .2s ease-in-out}\n'],encapsulation:2})}}return t})();const Wee=()=>{const t=document.createElement("INPUT");return t.setAttribute("type","file"),t.setAttribute("accept",".json,.gz"),t.setAttribute("multiple",""),document.body.appendChild(t),t},f_="base";function $ee(t,n,e,i,r,o){if(0===t.length)return;const[s]=t;let a={name:s,type:jee(t)?$a.FILE:$a.FOLDER,attributes:{}};jee(t)?a=function _He(t,n,e){const i={...n};return i.attributes={height:e.scale.y},{name:t,type:$a.FOLDER,attributes:{},children:[i]}}(s,a,i):a.children=[],function bHe(t,n){return t.some(e=>e.name===n)}(n,s)?a=n.find(d=>d.name===s):n.push(a);const c=r.find(d=>d.name===e);a.fixedPosition=function vHe(t,n,e,i){let r;if(t.type===$a.FOLDER){const s=n.position.z-n.scale.z/2,c=e.position.z-e.scale.z/2,l=hF((e.position.x-e.scale.x/2-(n.position.x-n.scale.x/2))/n.scale.x*100,2);r={left:hF((c-s)/n.scale.z*100,2),top:l,width:hF(e.scale.z/n.scale.z*100,2),height:hF(e.scale.x/n.scale.x*100,2)}}return t.name===i&&(r=function yHe(t){const n={...t};return n.top=Math.floor(50-n.height/2),n.left=Math.floor(50-n.width/2),n}(r)),r}(a,c,i,o.name);const l=e===f_?a.name:`${e}.${a.name}`;$ee(t.slice(1),a.children,l,i,r,o)}function jee(t){return 1===t.length}function hF(t,n){const e=Math.pow(10,n);return Math.round(t*e)/e}function Kee(t){const n=t.replaceAll(".","/"),i=t.split(".").slice(-1);return`/${f_}/${n}/${i}`}const EHe=JSON.parse('{"$id":"http://example.com/example.json","$schema":"http://json-schema.org/draft-07/schema","default":{},"description":"This is the JSON Schema for the GameObjectsPositions structure","examples":[{"gameObjectPositions":[{"name":"root.analysis.import.SourceCodeParser.src.test.kotlin.de.maibornwolff.codecharta.importer.sourcecodeparser.oop.core.extract.HelloWorldTest","position":{"x":69,"y":18.5,"z":228.5},"scale":{"x":9,"y":5,"z":9}},{"name":"root.analysis.import.SourceCodeParser.src.test.kotlin.de.maibornwolff.codecharta.importer.sourcecodeparser.oop.core.extract.TryCatchFinallyTest","position":{"x":66,"y":22.5,"z":177.5},"scale":{"x":1,"y":13,"z":1}}],"cycles":[{"from":"root.analysis.import.SCMLogParser.src.main.java.de.maibornwolff.codecharta.importer.scmlogparser.SCMLogParser","to":"root.analysis.import.SCMLogParser.src.main.java.de.maibornwolff.codecharta.importer.scmlogparser.SCMLogParserParameter"}]}],"required":["gameObjectPositions"],"title":"The root schema","type":"object","properties":{"gameObjectPositions":{"$id":"#/properties/gameObjectPositions","type":"array","title":"The gameObjectPositions schema","description":"Defines the position and scale of GameObjects","default":[],"examples":[[{"name":"root.analysis.import.SourceCodeParser.src.test.kotlin.de.maibornwolff.codecharta.importer.sourcecodeparser.oop.core.extract.HelloWorldTest","position":{"x":69,"y":18.5,"z":228.5},"scale":{"x":9,"y":5,"z":9}},{"name":"root.analysis.import.SourceCodeParser.src.test.kotlin.de.maibornwolff.codecharta.importer.sourcecodeparser.oop.core.extract.SwitchCaseTest","position":{"x":65,"y":22,"z":181},"scale":{"x":2,"y":12,"z":2}}]],"additionalItems":true,"items":{"$id":"#/properties/gameObjectPositions/items","anyOf":[{"$id":"#/properties/gameObjectPositions/items/anyOf/0","type":"object","title":"The first anyOf schema","description":"Defines the properties of a GameObject","default":{},"examples":[{"name":"root.analysis.import.SourceCodeParser.src.test.kotlin.de.maibornwolff.codecharta.importer.sourcecodeparser.oop.core.extract.HelloWorldTest","position":{"x":69,"y":18.5,"z":228.5},"scale":{"x":9,"y":5,"z":9}}],"required":["name","position","scale"],"properties":{"name":{"$id":"#/properties/gameObjectPositions/items/anyOf/0/properties/name","type":"string","title":"The name schema","description":"An explanation about the purpose of this instance.","default":"","examples":["root.analysis.import.SourceCodeParser.src.test.kotlin.de.maibornwolff.codecharta.importer.sourcecodeparser.oop.core.extract.HelloWorldTest"]},"position":{"$id":"#/properties/gameObjectPositions/items/anyOf/0/properties/position","type":"object","title":"The position schema","description":"The position in absolute values","default":{},"examples":[{"x":69,"y":18.5,"z":228.5}],"required":["x","y","z"],"properties":{"x":{"$id":"#/properties/gameObjectPositions/items/anyOf/0/properties/position/properties/x","type":"number","title":"The x schema","description":"x position","default":0,"examples":[69]},"y":{"$id":"#/properties/gameObjectPositions/items/anyOf/0/properties/position/properties/y","type":"number","title":"The y schema","description":"y position","default":0,"examples":[18.5]},"z":{"$id":"#/properties/gameObjectPositions/items/anyOf/0/properties/position/properties/z","type":"number","title":"The z schema","description":"z position","default":0,"examples":[228.5]}},"additionalProperties":true},"scale":{"$id":"#/properties/gameObjectPositions/items/anyOf/0/properties/scale","type":"object","title":"The scale schema","description":"The scale of GameObjects","default":{},"examples":[{"x":9,"y":5,"z":9}],"required":["x","y","z"],"properties":{"x":{"$id":"#/properties/gameObjectPositions/items/anyOf/0/properties/scale/properties/x","type":"number","title":"The x schema","description":"x scale","default":0,"examples":[9]},"y":{"$id":"#/properties/gameObjectPositions/items/anyOf/0/properties/scale/properties/y","type":"number","title":"The y schema","description":"y scale","default":0,"examples":[5]},"z":{"$id":"#/properties/gameObjectPositions/items/anyOf/0/properties/scale/properties/z","type":"number","title":"The z schema","description":"z scale","default":0,"examples":[9]}},"additionalProperties":true}},"additionalProperties":true}]}},"cycles":{"$id":"#/properties/cycles","type":"array","title":"The cycles schema","description":"Defines the cycles between GameObjects","default":[],"examples":[[{"from":"root.analysis.import.SCMLogParser.src.main.java.de.maibornwolff.codecharta.importer.scmlogparser.SCMLogParser","to":"root.analysis.import.SCMLogParser.src.main.java.de.maibornwolff.codecharta.importer.scmlogparser.SCMLogParserParameter"}]],"additionalItems":true,"items":{"$id":"#/properties/cycles/items","anyOf":[{"$id":"#/properties/cycles/items/anyOf/0","type":"object","title":"The first anyOf schema","description":"A cycle between two GameObjects","default":{},"examples":[{"from":"root.analysis.import.SCMLogParser.src.main.java.de.maibornwolff.codecharta.importer.scmlogparser.SCMLogParser","to":"root.analysis.import.SCMLogParser.src.main.java.de.maibornwolff.codecharta.importer.scmlogparser.SCMLogParserParameter"}],"required":["from","to"],"properties":{"from":{"$id":"#/properties/cycles/items/anyOf/0/properties/from","type":"string","title":"The from schema","description":"from GameObject","default":"","examples":["root.analysis.import.SCMLogParser.src.main.java.de.maibornwolff.codecharta.importer.scmlogparser.SCMLogParser"]},"to":{"$id":"#/properties/cycles/items/anyOf/0/properties/to","type":"string","title":"The to schema","description":"to GameObject","default":"","examples":["root.analysis.import.SCMLogParser.src.main.java.de.maibornwolff.codecharta.importer.scmlogparser.SCMLogParserParameter"]}},"additionalProperties":true}]}}},"additionalProperties":true}'),Xee=t=>{const n=[];for(let e=0;e{const i=n.name.endsWith(".gz"),r=new FileReader;let o;i?r.readAsArrayBuffer(n):r.readAsText(n,"utf8"),r.onload=s=>{const a=s.target.result.toString();o=i?SP(s.target.result,{to:"string"}):a,a.includes("gameObjectPositions")&&function MHe(t){return new(K$())({allErrors:!0}).validate(EHe,JSON.parse(t))}(a)&&(o=JSON.stringify(function AHe(t){const{gameObjectPositions:n,cycles:e=[]}=JSON.parse(t),i={checksum:"",data:{projectName:"GameObjects",fileChecksum:"",apiVersion:"1.3",nodes:[]}},r=[{name:f_,type:$a.FOLDER,attributes:{},children:[]}];!function gHe(t){for(const n of t)n.name.startsWith("root")||(n.name=n.name.startsWith(".")?`root${n.name}`:`root.${n.name}`)}(n);const o=n.find(a=>"root"===a.name),s=function CHe(t){const n=Math.max(t.x,t.z);return{name:f_,position:{x:0,y:0,z:0},scale:{x:n,y:0,z:n}}}(o.scale);n.push(s);for(const a of n){const c=a.name.split(".");c[0]!==f_&&$ee(c,r[0].children,f_,a,n,o)}return i.data.nodes=r,i.data.edges=e.map(a=>function wHe(t){return{fromNodeName:Kee(t.from),toNodeName:Kee(t.to),attributes:{coupling:100}}}(a)),i.data.attributeTypes=function xHe(){return{edges:{coupling:Af.relative}}}(),i.checksum=FM()(JSON.stringify(i.data)),i}(a)))},r.onloadend=()=>{e(o)}})});return function(e){return t.apply(this,arguments)}}();let Yee=(()=>{class t{constructor(e,i){this.store=e,this.loadFileService=i,this.isUploading=!1}uploadFiles(){const e=Wee();e.addEventListener("change",()=>{this.uploadFilesOnEvent(e)}),e.click()}uploadFilesOnEvent(e){var i=this;return m(function*(){try{i.isUploading=!0,i.store.dispatch(Zm({value:!0})),i.store.dispatch(Hg({value:!0}));const r=yield Promise.all(Xee(e.files)),{customConfigs:o,ccFiles:s}=i.splitCustomConfigsAndCCFiles(e.files,r);for(const a of o)Bi.importCustomConfigs(a);s.length>0&&(yield i.loadFileService.loadFiles(s))}catch{i.store.dispatch(Zm({value:!1})),i.store.dispatch(Hg({value:!1}))}finally{i.isUploading=!1}})()}splitCustomConfigsAndCCFiles(e,i){const r=[],o=[];for(const[s,a]of i.entries()){const c=e[s].name;c.includes(LZ)?r.push(a):o.push({fileName:c,fileSize:e[s].size,content:tL(a)})}return{customConfigs:r,ccFiles:o}}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(Xg))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),m_=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-action-icon"]],inputs:{icon:"icon"},decls:1,vars:2,consts:[["role","button"]],template:function(i,r){1&i&&fe(0,"i",0),2&i&&ll(r.icon)},styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-action-icon{display:inline-flex;align-items:center;cursor:pointer;width:24px;height:24px;border-radius:100%;background-color:#1b9cfc;font-size:14px}cc-action-icon:hover{background-color:#0374c9}cc-action-icon.disabled{opacity:.5}cc-action-icon i,cc-action-icon i.fa{margin:auto;line-height:1.5;color:#fff}\n'],encapsulation:2})}}return t})(),kHe=(()=>{class t{constructor(e){this.uploadFilesService=e}uploadFiles(){this.uploadFilesService.uploadFiles()}static{this.\u0275fac=function(i){return new(i||t)(N(Yee))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-upload-files-button"]],decls:1,vars:1,consts:[["title","Load cc.json files",3,"click","icon"]],template:function(i,r){1&i&&(T(0,"cc-action-icon",0),De("click",function(){return r.uploadFiles()}),L()),2&i&&le("icon","fa fa-folder-open folder-icon")},dependencies:[m_],styles:["cc-upload-files-button i{padding-left:1px}\n"],encapsulation:2})}}return t})();const NU=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function UU(t,n,e,i){t.addEventListener?t.addEventListener(n,e,i):t.attachEvent&&t.attachEvent("on".concat(n),e)}function Qx(t,n,e,i){t.removeEventListener?t.removeEventListener(n,e,i):t.detachEvent&&t.detachEvent("on".concat(n),e)}function qee(t,n){const e=n.slice(0,n.length-1);for(let i=0;i=0;)n[e-1]+=",",n.splice(e,1),e=n.lastIndexOf("");return n}const zx={backspace:8,"\u232b":8,tab:9,clear:12,enter:13,"\u21a9":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"\u21ea":20,",":188,".":190,"/":191,"`":192,"-":NU?173:189,"=":NU?61:187,";":NU?59:186,"'":222,"[":219,"]":221,"\\":220},Pd={"\u21e7":16,shift:16,"\u2325":18,alt:18,option:18,"\u2303":17,ctrl:17,control:17,"\u2318":91,cmd:91,command:91},HU={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},zs={16:!1,18:!1,17:!1,91:!1},bo={};for(let t=1;t<20;t++)zx["f".concat(t)]=111+t;let jr=[],Gx=null,Jee="all";const ih=new Map,Wx=t=>zx[t.toLowerCase()]||Pd[t.toLowerCase()]||t.toUpperCase().charCodeAt(0);function ete(t){Jee=t||"all"}function $x(){return Jee||"all"}function tte(t){if(typeof t>"u")Object.keys(bo).forEach(r=>{Array.isArray(bo[r])&&bo[r].forEach(o=>fF(o)),delete bo[r]}),VU(null);else if(Array.isArray(t))t.forEach(r=>{r.key&&fF(r)});else if("object"==typeof t)t.key&&fF(t);else if("string"==typeof t){for(var n=arguments.length,e=new Array(n>1?n-1:0),i=1;i{let{key:n,scope:e,method:i,splitKey:r="+"}=t;Zee(n).forEach(s=>{const a=s.split(r),c=a.length,l=a[c-1],d="*"===l?"*":Wx(l);if(!bo[d])return;e||(e=$x());const u=c>1?qee(Pd,a):[],h=[];bo[d]=bo[d].filter(f=>{const y=(!i||f.method===i)&&f.scope===e&&function THe(t,n){const e=t.length>=n.length?t:n,i=t.length>=n.length?n:t;let r=!0;for(let o=0;oVU(f))})};function nte(t,n,e,i){if(n.element!==i)return;let r;if(n.scope===e||"all"===n.scope){r=n.mods.length>0;for(const o in zs)Object.prototype.hasOwnProperty.call(zs,o)&&(!zs[o]&&n.mods.indexOf(+o)>-1||zs[o]&&-1===n.mods.indexOf(+o))&&(r=!1);(0===n.mods.length&&!zs[16]&&!zs[18]&&!zs[17]&&!zs[91]||r||"*"===n.shortcut)&&(n.keys=[],n.keys=n.keys.concat(jr),!1===n.method(t,n)&&(t.preventDefault?t.preventDefault():t.returnValue=!1,t.stopPropagation&&t.stopPropagation(),t.cancelBubble&&(t.cancelBubble=!0)))}}function ite(t,n){const e=bo["*"];let i=t.keyCode||t.which||t.charCode;if(!Od.filter.call(this,t))return;if((93===i||224===i)&&(i=91),-1===jr.indexOf(i)&&229!==i&&jr.push(i),["ctrlKey","altKey","shiftKey","metaKey"].forEach(a=>{const c=HU[a];t[a]&&-1===jr.indexOf(c)?jr.push(c):!t[a]&&jr.indexOf(c)>-1?jr.splice(jr.indexOf(c),1):"metaKey"===a&&t[a]&&3===jr.length&&(t.ctrlKey||t.shiftKey||t.altKey||(jr=jr.slice(jr.indexOf(c))))}),i in zs){zs[i]=!0;for(const a in Pd)Pd[a]===i&&(Od[a]=!0);if(!e)return}for(const a in zs)Object.prototype.hasOwnProperty.call(zs,a)&&(zs[a]=t[HU[a]]);t.getModifierState&&(!t.altKey||t.ctrlKey)&&t.getModifierState("AltGraph")&&(-1===jr.indexOf(17)&&jr.push(17),-1===jr.indexOf(18)&&jr.push(18),zs[17]=!0,zs[18]=!0);const r=$x();if(e)for(let a=0;a1&&(r=qee(Pd,t)),(t="*"===(t=t[t.length-1])?"*":Wx(t))in bo||(bo[t]=[]),bo[t].push({keyup:c,keydown:l,scope:o,mods:r,shortcut:i[a],method:e,key:i[a],splitKey:d,element:s});if(typeof s<"u"&&window){if(!ih.has(s)){const f=function(){return ite(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event,s)},b=function(){let y=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event;ite(y,s),function NHe(t){let n=t.keyCode||t.which||t.charCode;const e=jr.indexOf(n);if(e>=0&&jr.splice(e,1),t.key&&"meta"===t.key.toLowerCase()&&jr.splice(0,jr.length),(93===n||224===n)&&(n=91),n in zs){zs[n]=!1;for(const i in Pd)Pd[i]===n&&(Od[i]=!1)}}(y)};ih.set(s,{keydownListener:f,keyupListenr:b,capture:u}),UU(s,"keydown",f,u),UU(s,"keyup",b,u)}if(!Gx){const f=()=>{jr=[]};Gx={listener:f,capture:u},UU(window,"focus",f,u)}}}function VU(t){const n=Object.values(bo).flat();if(n.findIndex(i=>{let{element:r}=i;return r===t})<0){const{keydownListener:i,keyupListenr:r,capture:o}=ih.get(t)||{};i&&r&&(Qx(t,"keyup",r,o),Qx(t,"keydown",i,o),ih.delete(t))}if((n.length<=0||ih.size<=0)&&(Object.keys(ih).forEach(r=>{const{keydownListener:o,keyupListenr:s,capture:a}=ih.get(r)||{};o&&s&&(Qx(r,"keyup",s,a),Qx(r,"keydown",o,a),ih.delete(r))}),ih.clear(),Object.keys(bo).forEach(r=>delete bo[r]),Gx)){const{listener:r,capture:o}=Gx;Qx(window,"focus",r,o),Gx=null}}const QU={getPressedKeyString:function DHe(){return jr.map(t=>(t=>Object.keys(zx).find(n=>zx[n]===t))(t)||(t=>Object.keys(Pd).find(n=>Pd[n]===t))(t)||String.fromCharCode(t))},setScope:ete,getScope:$x,deleteScope:function OHe(t,n){let e,i;t||(t=$x());for(const r in bo)if(Object.prototype.hasOwnProperty.call(bo,r))for(e=bo[r],i=0;i{let{element:a}=s;return VU(a)}):i++;$x()===t&&ete(n||"all")},getPressedKeyCodes:function IHe(){return jr.slice(0)},getAllKeyCodes:function RHe(){const t=[];return Object.keys(bo).forEach(n=>{bo[n].forEach(e=>{let{key:i,scope:r,mods:o,shortcut:s}=e;t.push({scope:r,shortcut:s,mods:o,keys:i.split("+").map(a=>Wx(a))})})}),t},isPressed:function PHe(t){return"string"==typeof t&&(t=Wx(t)),-1!==jr.indexOf(t)},filter:function LHe(t){const n=t.target||t.srcElement,{tagName:e}=n;let i=!0;const r="INPUT"===e&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(n.type);return(n.isContentEditable||(r||"TEXTAREA"===e||"SELECT"===e)&&!n.readOnly)&&(i=!1),i},trigger:function UHe(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";Object.keys(bo).forEach(e=>{bo[e].filter(r=>r.scope===n&&r.shortcut===t).forEach(r=>{r&&r.method&&r.method()})})},unbind:tte,keyMap:zx,modifier:Pd,modifierMap:HU};for(const t in QU)Object.prototype.hasOwnProperty.call(QU,t)&&(Od[t]=QU[t]);if(typeof window<"u"){const t=window.hotkeys;Od.noConflict=n=>(n&&window.hotkeys===Od&&(window.hotkeys=t),Od),window.hotkeys=Od}var HHe=A(7239),VHe=A.n(HHe);function zU(){return zU=m(function*(t){const n=[new ClipboardItem({[t.type]:t})];yield navigator.clipboard.write(n)}),zU.apply(this,arguments)}const rte=Bt(Pr,t=>t.screenshotToClipboardEnabled);function GHe(t,n){if(1&t){const e=Cn();T(0,"cc-action-icon",2),De("click",function(){return Mt(e),St(Se().makeScreenshotToClipboard())}),L()}if(2&t){const e=Se();sn("disabled",!e.isWriteToClipboardAllowed),Ga("title",e.TITLE_CLIPBOARD_BUTTON),le("icon","fa fa-camera")}}function WHe(t,n){if(1&t){const e=Cn();T(0,"cc-action-icon",2),De("click",function(){return Mt(e),St(Se().makeScreenshotToFile())}),L()}2&t&&(Ga("title",Se().TITLE_FILE_BUTTON),le("icon","fa fa-camera"))}let $He=(()=>{class t{constructor(e,i,r,o,s){this.threeCameraService=e,this.threeSceneService=i,this.threeRendererService=r,this.store=o,this.state=s,this.SCREENSHOT_HOTKEY_TO_FILE="Ctrl+Alt+S",this.SCREENSHOT_HOTKEY_TO_CLIPBOARD="Ctrl+Alt+F",this.isScreenshotToClipboardEnabled$=this.store.select(rte)}ngOnInit(){this.isWriteToClipboardAllowed=function zHe(){return"clipboard"in navigator&&"write"in navigator.clipboard}(),this.TITLE_CLIPBOARD_BUTTON=this.createTitleClipboardButton(),this.TITLE_FILE_BUTTON=this.createTitleFileButton(),Od(this.SCREENSHOT_HOTKEY_TO_FILE,()=>{this.makeScreenshotToFile()}),Od(this.SCREENSHOT_HOTKEY_TO_CLIPBOARD,()=>{this.makeScreenshotToClipboard()})}makeScreenshotToFile(){var e=this;return m(function*(){const i=e.threeRendererService.renderer,r=e.saveRenderSettings(i),o=yield e.buildScreenShotCanvas(i);e.downloadScreenshot(o,e.state.getValue().files),e.applyRenderSettings(i,r)})()}makeScreenshotToClipboard(){var e=this;return m(function*(){if(!e.isWriteToClipboardAllowed)return;const i=e.threeRendererService.renderer,r=e.saveRenderSettings(i),o=yield e.buildScreenShotCanvas(i),s=new Promise(c=>o.toBlob(c));e.applyRenderSettings(i,r);const a=yield s;yield function QHe(t){return zU.apply(this,arguments)}(a)})()}downloadScreenshot(e,i){const r=e.toDataURL("image/png"),o=document.createElement("a");o.download=function ybe(t,n){const e=ld(t)?"delta":"",r=eL(t).map(a=>function wbe(t){return t.file.fileMeta.fileName.replace(/(.cc)?.json$/,"")}(a)),o=function xbe(t){return t.length<=3?t.join(SM):[t.at(0),MW,t.at(-1)].join(SM)}(r);return function Cbe(t,n,e){const i=[n,t].filter(o=>o.length>0).join(SM),r=255-e.length-JR.length;return i.length<=r?[i,SM,e,JR].join(""):[i.slice(0,r-1),MW,e,JR].join("")}(o,e,n)}(i,"map"),o.href=r,document.body.appendChild(o),o.click(),o.remove()}saveRenderSettings(e){const i=e.getPixelRatio(),r=new Qt;return e.getClearColor(r),{pixelRatio:i,clearColor:r}}applyRenderSettings(e,i){const{pixelRatio:r,clearColor:o}=i;e.setPixelRatio(r),e.setClearColor(o),e.render(this.threeSceneService.scene,this.threeCameraService.camera)}buildScreenShotCanvas(e){var i=this;return m(function*(){e.setPixelRatio(window.devicePixelRatio),e.setClearColor(new Qt(0,0,0),0),e.render(i.threeSceneService.scene,i.threeCameraService.camera);const r=new Set(["cc-logo","cc-tool-bar","cc-view-cube","cc-ribbon-bar","cc-file-extension-bar","cc-attribute-side-bar","cc-loading-file-progess-spinner"]),o=new Set(["legend-panel-button"]),s=document.querySelector("body")?.offsetHeight,a=document.querySelector("cc-ribbon-bar")?.offsetHeight,c=document.querySelector("cc-tool-bar")?.offsetHeight,l=document.querySelector("cc-file-extension-bar")?.offsetHeight,d=a+c+l,u=yield VHe()(document.querySelector("body"),{removeContainer:!0,backgroundColor:"#00",scrollY:-d,height:s-d,ignoreElements:h=>r.has(h.tagName.toLowerCase())||o.has(h.id)||"10000"===h.style.zIndex});return i.getCroppedCanvas(u)})()}getCroppedCanvas(e){const i=e.getContext("2d"),r=e.width,o=e.height,a=i.getImageData(0,0,r,o).data;let c=r,l=o,d=0,u=0;for(let b=0;b0&&(c=Math.min(c,b),d=Math.max(d,b),l=Math.min(l,y),u=Math.max(u,y));const h=document.createElement("canvas"),f=h.getContext("2d");return h.width=d-c+1,h.height=u-l+1,f.drawImage(e,c,l,h.width,h.height,0,0,h.width,h.height),h}createTitleClipboardButton(){return this.isWriteToClipboardAllowed?`Take a screenshot of the map with ${this.SCREENSHOT_HOTKEY_TO_CLIPBOARD} (copy to clipboard) or ${this.SCREENSHOT_HOTKEY_TO_FILE} (save as file)`:"Firefox does not support copying to clipboard"}createTitleFileButton(){return`Take a screenshot of the map with ${this.SCREENSHOT_HOTKEY_TO_FILE} (save as file) or ${this.SCREENSHOT_HOTKEY_TO_CLIPBOARD} (copy to clipboard)`}static{this.\u0275fac=function(i){return new(i||t)(N(Fd),N(Yc),N(zi),N(Tt),N(Dr))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-screenshot-button"]],decls:4,vars:6,consts:[[3,"icon","title","disabled"],[3,"icon","title"],[3,"click","icon","title"]],template:function(i,r){1&i&&($e(0,GHe,1,4,"cc-action-icon",0),Ee(1,"async"),$e(2,WHe,1,2,"cc-action-icon",1),Ee(3,"async")),2&i&&(at(0,Re(1,2,r.isScreenshotToClipboardEnabled$)?0:-1),D(2),at(2,Re(3,4,r.isScreenshotToClipboardEnabled$)?-1:2))},dependencies:[m_,Ln],encapsulation:2})}}return t})();function jHe(t){return`\t\u2022 ${t.filePath} (${t.value})\n`}function KHe(t){return`${t.toUpperCase()}\n`}function ZHe(t){return t.type===$a.FILE&&void 0!==t.attributes}function JHe(t,n,e){for(const[i,r]of Object.entries(t.attributes)){const o=n?.[i]?.direction,s={filePath:t.path,value:r};if(e.has(i)){const a=e.get(i);e5e(a,s,o),e.set(i,a.slice(0,10))}else e.set(i,[s])}}function e5e(t,n,e){const i=function t5e(t){return 1===t?(n,e)=>n.value-e.value:(n,e)=>e.value-n.value}(e),r=t.findIndex(o=>i(n,o)<0);-1===r?t.push(n):t.splice(r,0,n)}let ote=(()=>{class t{constructor(e){this.state=e}getClipboardText(){const r=function qHe(t,n){const e=new Map;for(const{data:i}of Jr(t))ZHe(i)&&JHe(i,n,e);return e}(this.getUnifiedMapNode(),this.state.getValue().fileSettings.attributeDescriptors);return function XHe(t){let n="";for(const[e,i]of t.entries()){n+=KHe(e);for(const r of i)n+=jHe(r)}return n}(r)}getUnifiedMapNode(){const{unifiedMapNode:e}=Xc(this.state.getValue());return e}static{this.\u0275fac=function(i){return new(i||t)(ee(Dr))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),n5e=(()=>{class t{constructor(e){this.copyToClipboardService=e}copyNamesToClipBoard(){var e=this;return m(function*(){yield navigator.clipboard.writeText(e.copyToClipboardService.getClipboardText())})()}static{this.\u0275fac=function(i){return new(i||t)(N(ote))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-copy-to-clipboard-button"]],decls:1,vars:0,consts:[["icon","fa fa-clipboard","title","Copy filenames with highest metric values to clipboard",3,"click"]],template:function(i,r){1&i&&(T(0,"cc-action-icon",0),De("click",function(){return r.copyNamesToClipBoard()}),L())},dependencies:[m_],encapsulation:2})}}return t})();var GU=function(){};GU.prototype={constructor:GU,parse:function(t,n){void 0===n&&(n={});var e=void 0!==n.binary&&n.binary,i=[],r=0;t.traverse(function(Me){if(Me.isMesh){var ve=Me.geometry;if(!0!==ve.isBufferGeometry)throw new Error("THREE.STLExporter: Geometry is not of type THREE.BufferGeometry.");var $=ve.index,me=ve.getAttribute("position");r+=null!==$?$.count/3:me.count/3,i.push({object3d:Me,geometry:ve})}});var o,s=80;if(!0===e){var c=new ArrayBuffer(2*r+3*r*4*4+80+4);(o=new DataView(c)).setUint32(s,r,!0),s+=4}else o="",o+="solid exported\n";for(var l=new j,d=new j,u=new j,h=new j,f=new j,b=new j,y=0,C=i.length;y{class t{constructor(e,i){this.state=e,this.threeSceneService=i,this.exporter=new GU}downloadStlFile(){const e=xu(this.state.getValue()),i=Xc(this.state.getValue()).unifiedFileMeta?.fileName,r=this.threeSceneService.getMapMesh().getThreeMesh(),o=this.exporter.parse(r,{binary:!0}),s=`${Hf.getNewFileName(i,ld(e))}.stl`;h3.downloadData(o,s)}static{this.\u0275fac=function(i){return new(i||t)(N(Dr),N(Yc))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-export-threed-map-button"]],decls:1,vars:1,consts:[["title","Download stl file for 3D printing",3,"click","icon"]],template:function(i,r){1&i&&(T(0,"cc-action-icon",0),De("click",function(){return r.downloadStlFile()}),L()),2&i&&le("icon","fa fa-cube")},dependencies:[m_],encapsulation:2})}}return t})();const c5e=Bt(xu,t=>SW(t)),ste=Bt(Cs,qb,Vf,_x,(t,n,e,i)=>((t,n)=>n.every(e=>((t,n)=>t.some(e=>e.name===n))(t,e)))(t.nodeMetricData,[n,e,i])),l5e=Bt(xc,t=>(t=>Object.entries(t).every(([n,e])=>((t,n)=>"edgeMetric"===t||null!==n&&("object"!=typeof n||Object.values(n).every(e=>null!==e)))(n,e)))(t)),d5e=(Bt(Cs,c5e,ste,l5e,(t,n,e,i)=>!(null===t.nodeMetricData||!n||!e||!i)),t=>t.some(n=>"rloc"===n.name)?"rloc":"unary"),u5e=["rloc","real_lines_of_code","loc","lines_of_code","lines","statements","functions"],ate=["mcc","cognitive_complexity","sonar_cognitive_complexity","max_nesting_level","indentation_level"];function h5e(t){return t.some(n=>n.maxValue>0)}let p5e=(()=>{class t{constructor(e){this.store=e,this.resetChosenDistributionMetric$=Co(()=>this.store.select(Cs).pipe(mt(i=>i.nodeMetricData),Mi(h5e),gu(this.store.select(ste)),Mi(([,i])=>!i),co(([i])=>{cte(this.store,i)})),{dispatch:!1})}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();function cte(t,n){t.dispatch(hy({value:d5e(n)}));let[e,i,r]=function m5e(t){const n=[],e={AreaMetric:u5e,HeightMetric:ate,ColorMetric:ate},i=new Set(t.map(r=>r.name));for(const r in e)for(const o of e[r])if(i.has(o)){n.push(o);break}return n}(n);(!e||!i||!r)&&([e,i,r]=function f5e(t,n){const e=[];let i;for(const r of t)if(r.maxValue&&(e.push(r.name),i=r.name,0==--n))return e;if(!i)throw new Error("there are no metrics available");for(;n-- >0;)e.push(i);return e}(n,3)),t.dispatch(vu({value:e})),t.dispatch(wu({value:i})),t.dispatch(gl({value:r}))}let A5e=(()=>{class t{constructor(e,i,r,o){this.store=e,this.httpClient=i,this.loadFileService=r,this.loadInitialFileService=o,this.urlUtils=new E7(this.httpClient)}resetMap(){var e=this;return m(function*(){if(yield function pbe(){return YR.apply(this,arguments)}(),e.store.dispatch(zp({value:kJ})),e.loadInitialFileService.checkFileQueryParameterPresent())try{const r=yield e.urlUtils.getFileDataFromQueryParam();e.loadFileService.loadFiles(r),e.loadInitialFileService.setRenderStateFromUrl()}catch{e.loadFileService.loadFiles([yS,wS])}else e.loadFileService.loadFiles([yS,wS]);e.resetMetrics()})()}resetMetrics(){this.store.select(Cs).pipe(bT(),co(e=>{cte(this.store,e.nodeMetricData)})).subscribe()}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(I2),N(Xg),N(kP))}}static{this.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],decls:12,vars:0,consts:[["xmlns","http://www.w3.org/1999/html",1,"header"],[1,"dialog-content"],["mat-button","","mat-dialog-close",""],["mat-button","","mat-dialog-close","","cdkFocusInitial","",3,"click"]],template:function(i,r){1&i&&(T(0,"mat-toolbar",0)(1,"h2"),ge(2,"Confirm reset map to default"),L()(),T(3,"mat-dialog-content")(4,"div",1)(5,"p"),ge(6,"Uploaded maps, selected metrics and settings are reset to default"),L()()(),T(7,"mat-dialog-actions")(8,"button",2),ge(9,"No"),L(),T(10,"button",3),De("click",function(){return r.resetMap()}),ge(11,"Yes"),L()())},dependencies:[Zs,_l,pf,mf,Jb],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}.cc-confirm-reset-map-dialog .mat-mdc-dialog-container{padding:0;width:500px;overflow:hidden}.cc-confirm-reset-map-dialog .mat-mdc-dialog-container mat-toolbar.header{background-color:#1b9cfc}.cc-confirm-reset-map-dialog .mat-mdc-dialog-container mat-toolbar.header h2{color:#fff}.cc-confirm-reset-map-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions{margin:0;padding:0 8px;position:relative;display:flex;justify-content:right}.cc-confirm-reset-map-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions .mat-mdc-button{padding:0 8px;margin:8px 0 8px 8px;color:#1b9cfc;background-color:#8a848414;bottom:0}\n'],encapsulation:2})}}return t})(),g5e=(()=>{class t{constructor(e){this.dialog=e}showConfirmResetStateDialog(){this.dialog.open(A5e,{panelClass:"cc-confirm-reset-map-dialog"})}static{this.\u0275fac=function(i){return new(i||t)(N(ga))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-reset-map-button"]],decls:1,vars:1,consts:[["title","Reset map to default",3,"click","icon"]],template:function(i,r){1&i&&(T(0,"cc-action-icon",0),De("click",function(){return r.showConfirmResetStateDialog()}),L()),2&i&&le("icon","fa fa-undo")},dependencies:[m_],encapsulation:2})}}return t})();const b5e=Bt(jb,t=>`linear-gradient(${t.positiveDelta} 50%, ${t.negativeDelta} 50%)`);function _5e(t,n){if(1&t&&(T(0,"mat-option",2),ge(1),Ee(2,"removeExtension"),L()),2&t){const e=n.$implicit;le("value",e.file),D(),qt(" ",Re(2,2,e.file.fileMeta.fileName)," ")}}function v5e(t,n){if(1&t&&(T(0,"mat-option",2),ge(1),Ee(2,"removeExtension"),L()),2&t){const e=n.$implicit;le("value",e.file),D(),qt(" ",Re(2,2,e.file.fileMeta.fileName)," ")}}let y5e=(()=>{class t{constructor(e){this.store=e,this.files$=this.store.select(xu),this.referenceFile$=this.store.select(nj),this.comparisonFile$=this.files$.pipe(mt(i=>i.find(r=>r.selectedAs===Ri.Comparison)?.file)),this.possibleComparisonFiles$=this.files$.pipe(mt(i=>i.filter(r=>r.selectedAs!==Ri.Reference))),this.pictogramBackground$=this.store.select(b5e)}handleDeltaReferenceFileChange(e){this.store.dispatch(cL({file:e}))}handleDeltaComparisonFileChange(e){this.store.dispatch(aL({file:e}))}switchReferenceAndComparison(){this.store.dispatch(sL())}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-file-panel-delta-selector"]],decls:16,vars:17,consts:[[1,"delta-select-wrapper"],[1,"delta-select",3,"selectionChange","value"],[3,"value"],["title","Switch reference and comparison file",1,"reference-comparison-switch",3,"click","disabled"],[1,"fa","fa-arrows-h"],["placeholder","select comparison file",1,"delta-select",3,"selectionChange","value"],[1,"pictogram"]],template:function(i,r){1&i&&(T(0,"div",0)(1,"mat-select",1),Ee(2,"async"),De("selectionChange",function(s){return r.handleDeltaReferenceFileChange(s.value)}),xr(3,_5e,3,4,"mat-option",2,Sr),Ee(5,"async"),L(),T(6,"button",3),Ee(7,"async"),De("click",function(){return r.switchReferenceAndComparison()}),fe(8,"i",4),L(),T(9,"mat-select",5),Ee(10,"async"),De("selectionChange",function(s){return r.handleDeltaComparisonFileChange(s.value)}),xr(11,v5e,3,4,"mat-option",2,Sr),Ee(13,"async"),L(),fe(14,"div",6),Ee(15,"async"),L()),2&i&&(D(),le("value",Re(2,5,r.referenceFile$)),D(2),Cr(Re(5,7,r.files$)),D(3),le("disabled",void 0===Re(7,9,r.comparisonFile$)),D(3),le("value",Re(10,11,r.comparisonFile$)),D(2),Cr(Re(13,13,r.possibleComparisonFiles$)),D(3),xi("background",Re(15,15,r.pictogramBackground$)))},dependencies:[$p,Fu,Ln,VN],styles:["cc-file-panel-delta-selector .delta-select-wrapper{display:flex;gap:12px}\n"],encapsulation:2})}}return t})(),w5e=(()=>{class t{constructor(e){this.store=e}onRemoveFile(e,i){this.store.dispatch(nL({fileName:e})),i.stopPropagation(),i.preventDefault()}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-remove-file-button"]],inputs:{filename:"filename"},decls:2,vars:0,consts:[["title","Remove map",1,"remove-button",3,"click"],[1,"fa","fa-trash","delete-symbol"]],template:function(i,r){1&i&&(T(0,"button",0),De("click",function(s){return r.onRemoveFile(r.filename,s)}),fe(1,"i",1),L())},encapsulation:2})}}return t})();function x5e(t,n){1&t&&fe(0,"cc-remove-file-button",4),2&t&&le("filename",Se().$implicit.file.fileMeta.fileName)}function C5e(t,n){if(1&t&&(T(0,"mat-option",3),ge(1),Ee(2,"removeExtension"),$e(3,x5e,1,1,"cc-remove-file-button",4),L()),2&t){const e=n.$implicit,i=Se();le("value",e.file),D(),qt(" ",Re(2,3,e.file.fileMeta.fileName)," "),D(2),at(3,i.fileStates.length>1?3:-1)}}let E5e=(()=>{class t{constructor(e){this.store=e,this.fileStates=[],this.selectedFilesInUI=[],this.selectedFilesInStore=[],this.filesSubscription=this.store.select(xu).subscribe(i=>{this.fileStates=i,this.selectedFilesInStore=i.filter(r=>r.selectedAs===Ri.Partial).map(r=>r.file),this.selectedFilesInUI=this.selectedFilesInStore})}ngOnDestroy(){this.filesSubscription.unsubscribe()}handleSelectedFilesChanged(e){this.selectedFilesInUI=e,e.length>0&&this.store.dispatch(_y({files:e}))}handleOpenedChanged(e){e||(this.selectedFilesInUI=this.selectedFilesInStore)}handleSelectZeroFiles(){this.selectedFilesInUI=[]}handleInvertSelectedFiles(){this.selectedFilesInUI.length===this.fileStates.length?this.selectedFilesInUI=[]:this.store.dispatch(oL())}handleSelectAllFiles(){this.store.dispatch(rL())}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-file-panel-file-selector"]],decls:10,vars:1,consts:[["panelClass","file-select","multiple","",1,"standard-select",3,"valueChange","selectionChange","openedChange","value"],[1,"file-selection-actions"],[1,"file-select-action-button",3,"click"],[1,"filenames",3,"value"],[3,"filename"]],template:function(i,r){1&i&&(T(0,"mat-select",0),Cg("valueChange",function(s){return g0(r.selectedFilesInUI,s)||(r.selectedFilesInUI=s),s}),De("selectionChange",function(s){return r.handleSelectedFilesChanged(s.value)})("openedChange",function(s){return r.handleOpenedChanged(s)}),T(1,"div",1)(2,"button",2),De("click",function(){return r.handleSelectAllFiles()}),ge(3,"All"),L(),T(4,"button",2),De("click",function(){return r.handleSelectZeroFiles()}),ge(5,"None"),L(),T(6,"button",2),De("click",function(){return r.handleInvertSelectedFiles()}),ge(7,"Invert"),L()(),xr(8,C5e,4,5,"mat-option",3,Sr),L()),2&i&&(xg("value",r.selectedFilesInUI),D(8),Cr(r.fileStates))},dependencies:[$p,Fu,w5e,VN],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}.file-select.mat-mdc-select-panel{min-width:max-content;padding:0}.file-select.mat-mdc-select-panel .mat-mdc-option .mdc-list-item__primary-text{flex:1;display:flex;justify-content:space-between;align-items:center}.file-select.mat-mdc-select-panel .file-selection-actions{display:flex}.file-select.mat-mdc-select-panel button{width:100%;font-size:16px;margin:0;background-color:transparent}.file-select.mat-mdc-select-panel button:hover{background-color:#0000000d;color:#1b9cfc}.file-select.mat-mdc-select-panel button.file-select-action-button{padding:15px 10px}.file-select.mat-mdc-select-panel button.remove-button{padding:8px 10px}.file-select.mat-mdc-select-panel button.remove-button:hover{border-radius:50%}\n'],encapsulation:2})}}return t})();function lte(){return be((t,n)=>{let e,i=!1;t.subscribe(Ie(n,r=>{const o=e;e=r,i&&n.next([o,r]),i=!0}))})}let dte=(()=>{class t{constructor(e,i){this.store=e,this.state=i,this.lastSetFilesOfPreviousMode=[],this.subscription=this.store.select(xu).pipe(lte(),Mi(([r,o])=>ld(r)!==ld(o)||0===o.length),co(([r,o])=>{this.lastSetFilesOfPreviousMode=0===o.length?o:r})).subscribe()}ngOnDestroy(){this.subscription.unsubscribe()}toggle(){if(0===this.lastSetFilesOfPreviousMode.length||ld(this.lastSetFilesOfPreviousMode)){const i=xu(this.state.getValue());this.lastSetFilesOfPreviousMode=this.filterNoneExisting(i,this.lastSetFilesOfPreviousMode);const r=this.lastSetFilesOfPreviousMode.find(s=>s.selectedAs===Ri.Reference)??i.find(s=>s.selectedAs===Ri.Partial),o=this.lastSetFilesOfPreviousMode.find(s=>s.selectedAs===Ri.Comparison);this.store.dispatch(PM({referenceFile:r.file,comparisonFile:o?.file}))}else this.store.dispatch(by({value:this.lastSetFilesOfPreviousMode}))}filterNoneExisting(e,i){return i.filter(r=>e.find(o=>kM(o.file,r.file)))}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(Dr))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),M5e=(()=>{class t{constructor(e,i){this.store=e,this.fileSelectionModeService=i,this.isDeltaState$=this.store.select(zf)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(dte))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-file-panel-state-buttons"]],decls:11,vars:14,consts:[["mat-button","",1,"state-selector-button","mode-selector","left",3,"click","disabled"],[1,"text"],["mat-button","",1,"state-selector-button","mode-selector","right",3,"click","disabled"]],template:function(i,r){1&i&&(T(0,"div")(1,"button",0),Ee(2,"async"),Ee(3,"async"),De("click",function(){return r.fileSelectionModeService.toggle()}),T(4,"span",1),ge(5,"Standard"),L()(),T(6,"button",2),Ee(7,"async"),Ee(8,"async"),De("click",function(){return r.fileSelectionModeService.toggle()}),T(9,"span",1),ge(10,"Delta"),L()()()),2&i&&(D(),sn("current",!Re(2,6,r.isDeltaState$)),le("disabled",!Re(3,8,r.isDeltaState$)),D(5),sn("current",Re(7,10,r.isDeltaState$)),le("disabled",Re(8,12,r.isDeltaState$)))},dependencies:[Zs,Ln],encapsulation:2})}}return t})();function S5e(t,n){1&t&&fe(0,"cc-file-panel-file-selector")}function k5e(t,n){1&t&&fe(0,"cc-file-panel-delta-selector")}let T5e=(()=>{class t{constructor(e){this.store=e,this.isDeltaState$=this.store.select(zf)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-file-panel"]],decls:4,vars:3,template:function(i,r){1&i&&(fe(0,"cc-file-panel-state-buttons"),$e(1,S5e,1,0,"cc-file-panel-file-selector"),Ee(2,"async"),$e(3,k5e,1,0)),2&i&&(D(),at(1,Re(2,1,r.isDeltaState$)?3:1))},dependencies:[y5e,E5e,M5e,Ln],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-file-panel{display:flex;gap:inherit}cc-file-panel.hidden{display:none}cc-file-panel .state-selector-button.mode-selector{height:24px;width:66px;background-color:#fff}cc-file-panel .state-selector-button.mode-selector.middle{border-left:1px solid rgba(230,230,230,.96);border-right:1px solid rgba(230,230,230,.96)}cc-file-panel .state-selector-button.mode-selector.current{background-color:#1b9cfc;color:#fff}cc-file-panel .state-selector-button.mode-selector.current:hover{background-color:#1b9cfc}cc-file-panel .reference-comparison-switch{background-color:#1b9cfc;margin:0;height:24px;width:36px;border-radius:5px}cc-file-panel .reference-comparison-switch[disabled]{background-color:#ccc}cc-file-panel .reference-comparison-switch:hover{background-color:#0374c9}cc-file-panel .reference-comparison-switch:hover[disabled]{background-color:#ccc}cc-file-panel .reference-comparison-switch .fa{vertical-align:middle;color:#fff}cc-file-panel .pictogram{display:inline-flex;width:10px;margin-right:5px;margin-left:5px;height:22px;border-radius:2px;align-self:center;vertical-align:bottom}cc-file-panel .standard-select,cc-file-panel .delta-select{width:200px}\n'],encapsulation:2})}}return t})();const F5e=Bt(jZ,t=>t&&{path:t.path.slice(1).split("/"),isFile:"File"===t.type});function B5e(t,n){if(1&t&&fe(0,"i",2),2&t){const e=Se(2);sn("fa-file-o",e.isFile)("fa-folder",!e.isFile)}}function I5e(t,n){1&t&&fe(0,"i",1)}function D5e(t,n){if(1&t&&(T(0,"span"),$e(1,B5e,1,4,"i",0),T(2,"span"),ge(3),L(),$e(4,I5e,1,0,"i",1),L()),2&t){const e=n.$implicit,i=n.$index,r=n.$count;D(),at(1,i===r-1?1:-1),D(),sn("bold",i===r-1),D(),gr(e),D(),at(4,i!==r-1?4:-1)}}function R5e(t,n){1&t&&xr(0,D5e,5,5,"span",null,Sr),2&t&&Cr(n.path)}let L5e=(()=>{class t{constructor(e){this.store=e,this.hoveredNodePathPanelData$=this.store.select(F5e)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-hovered-node-path-panel"]],decls:2,vars:3,consts:[[1,"fa",3,"fa-file-o","fa-folder"],[1,"fa","fa-angle-right"],[1,"fa"]],template:function(i,r){if(1&i&&($e(0,R5e,2,0),Ee(1,"async")),2&i){let o;at(0,(o=Re(1,1,r.hoveredNodePathPanelData$))?0:-1,o)}},dependencies:[Ln],styles:["cc-hovered-node-path-panel{width:100%;min-width:400px;display:inline-block;vertical-align:middle;margin:0 8px;font-size:10pt;overflow:hidden;white-space:nowrap}cc-hovered-node-path-panel .bold{font-weight:600}cc-hovered-node-path-panel i{margin:0 4px}\n"],encapsulation:2})}}return t})();const P5e=Bt(Pr,t=>t.isLoadingMap),O5e=["determinateSpinner"];function N5e(t,n){if(1&t&&(ac(),T(0,"svg",11),fe(1,"circle",12),L()),2&t){const e=Se();ni("viewBox",e._viewBox()),D(),xi("stroke-dasharray",e._strokeCircumference(),"px")("stroke-dashoffset",e._strokeCircumference()/2,"px")("stroke-width",e._circleStrokeWidth(),"%"),ni("r",e._circleRadius())}}const U5e=new He("mat-progress-spinner-default-options",{providedIn:"root",factory:function H5e(){return{diameter:ute}}}),ute=100;let hte=(()=>{class t{get color(){return this._color||this._defaultColor}set color(e){this._color=e}constructor(e,i,r){this._elementRef=e,this._defaultColor="primary",this._value=0,this._diameter=ute,this._noopAnimations="NoopAnimations"===i&&!!r&&!r._forceAnimations,this.mode="mat-spinner"===e.nativeElement.nodeName.toLowerCase()?"indeterminate":"determinate",r&&(r.color&&(this.color=this._defaultColor=r.color),r.diameter&&(this.diameter=r.diameter),r.strokeWidth&&(this.strokeWidth=r.strokeWidth))}get value(){return"determinate"===this.mode?this._value:0}set value(e){this._value=Math.max(0,Math.min(100,e||0))}get diameter(){return this._diameter}set diameter(e){this._diameter=e||0}get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(e){this._strokeWidth=e||0}_circleRadius(){return(this.diameter-10)/2}_viewBox(){const e=2*this._circleRadius()+this.strokeWidth;return`0 0 ${e} ${e}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(jo,8),N(U5e))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(i,r){if(1&i&&gi(O5e,5),2&i){let o;ln(o=dn())&&(r._determinateCircle=o.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:18,hostBindings:function(i,r){2&i&&(ni("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow","determinate"===r.mode?r.value:null)("mode",r.mode),ll("mat-"+r.color),xi("width",r.diameter,"px")("height",r.diameter,"px")("--mdc-circular-progress-size",r.diameter+"px")("--mdc-circular-progress-active-indicator-width",r.diameter+"px"),sn("_mat-animation-noopable",r._noopAnimations)("mdc-circular-progress--indeterminate","indeterminate"===r.mode))},inputs:{color:"color",mode:"mode",value:[Ke.HasDecoratorInputTransform,"value","value",qs],diameter:[Ke.HasDecoratorInputTransform,"diameter","diameter",qs],strokeWidth:[Ke.HasDecoratorInputTransform,"strokeWidth","strokeWidth",qs]},exportAs:["matProgressSpinner"],standalone:!0,features:[Ro,br],decls:14,vars:11,consts:[["circle",""],["determinateSpinner",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(i,r){if(1&i&&($e(0,N5e,2,8,"ng-template",null,0,Xh),T(2,"div",2,1),ac(),T(4,"svg",3),fe(5,"circle",4),L()(),PA(),T(6,"div",5)(7,"div",6)(8,"div",7),_g(9,8),L(),T(10,"div",9),_g(11,8),L(),T(12,"div",10),_g(13,8),L()()()),2&i){const o=xo(1);D(4),ni("viewBox",r._viewBox()),D(),xi("stroke-dasharray",r._strokeCircumference(),"px")("stroke-dashoffset",r._strokeDashOffset(),"px")("stroke-width",r._circleStrokeWidth(),"%"),ni("r",r._circleRadius()),D(4),le("ngTemplateOutlet",o),D(2),le("ngTemplateOutlet",o),D(2),le("ngTemplateOutlet",o)}},dependencies:[M0],styles:["@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}}.mdc-circular-progress{display:inline-flex;position:relative;direction:ltr;line-height:0;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{animation:mdc-circular-progress-container-rotate 1568.2352941176ms linear infinite}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-1{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-2{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-3{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-4{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--closed{opacity:0}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mdc-circular-progress-active-indicator-color)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner circle{stroke-width:var(--mdc-circular-progress-active-indicator-width)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-1 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-2 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-3 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-4 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner .mdc-circular-progress{width:var(--mdc-circular-progress-size) !important;height:var(--mdc-circular-progress-size) !important}.mat-mdc-progress-spinner{display:block;overflow:hidden;line-height:0}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}"],encapsulation:2,changeDetection:0})}}return t})(),fte=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,nr]})}}return t})(),Q5e=(()=>{class t{constructor(e){this.isLoadingMap$=e.select(P5e)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-loading-map-progress-spinner"]],decls:2,vars:4,consts:[["id","loading-gif-map","mode","indeterminate","diameter","22","title","Rendering map"]],template:function(i,r){1&i&&(fe(0,"mat-progress-spinner",0),Ee(1,"async")),2&i&&xi("visibility",Re(1,2,r.isLoadingMap$)?"visible":"hidden")},dependencies:[hte,Ln],styles:["cc-loading-map-progress-spinner{display:inline-block;vertical-align:middle}\n"],encapsulation:2})}}return t})();const z5e=Bt(Pr,t=>t.isPresentationMode);let G5e=(()=>{class t{constructor(e,i){this.store=e,this.elementReference=i,this.isPresentationModeEnabled$=this.store.select(z5e)}setPresentationModeEnabled(e){this.store.dispatch(mM({value:e.checked})),this.elementReference.nativeElement.querySelector("mat-slide-toggle").classList.remove("cdk-focused"),this.elementReference.nativeElement.querySelector("mat-slide-toggle").classList.remove("cdk-program-focused"),this.elementReference.nativeElement.querySelector("mat-slide-toggle").classList.remove("mat-mdc-slide-toggle-focused")}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(Mn))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-presentation-mode-button"]],decls:5,vars:6,consts:[["aria-label","Presentation Mode Toggle",3,"change","checked","title"],[1,"presentation-mode-icon","fa","fa-television"]],template:function(i,r){1&i&&(T(0,"mat-slide-toggle",0),Ee(1,"async"),Ee(2,"async"),De("change",function(s){return r.setPresentationModeEnabled(s)}),fe(3,"i",1),ge(4," Presentation Mode\n"),L()),2&i&&le("checked",Re(1,2,r.isPresentationModeEnabled$))("title",Re(2,4,r.isPresentationModeEnabled$)?"Disable flashlight hover effect":"Enable flashlight hover effect")},dependencies:[Mx,Ln],styles:["cc-presentation-mode-button mat-slide-toggle.mat-mdc-slide-toggle div.mdc-form-field{font-size:10pt;flex-direction:row-reverse;gap:12px}\n"],encapsulation:2})}}return t})();const W5e=Bt(Pr,t=>t.hideFlatBuildings),mte=Bt(Pr,t=>t.resetCameraIfNewFileIsLoaded),pte=Bt(Pr,t=>t.layoutAlgorithm),$5e=Bt(Pr,t=>t.maxTreeMapFiles);function j5e(t,n){if(1&t&&(T(0,"mat-option",2),ge(1),L()),2&t){const e=n.$implicit;le("value",e),D(),qt(" ",e," ")}}function K5e(t,n){if(1&t&&(fe(0,"cc-slider",3),Ee(1,"async")),2&t){const e=Se();le("label","Maximum TreeMap Files")("min",1)("max",1e3)("value",Re(1,5,e.maxTreeMapFiles$))("onChange",e.handleChangeMaxTreeMapFiles)}}let X5e=(()=>{class t{constructor(e){this.store=e,this.layoutAlgorithms=Object.values(Ad),this.layoutAlgorithm$=this.store.select(pte),this.maxTreeMapFiles$=this.store.select($5e),this.handleChangeMaxTreeMapFiles=Bd(i=>{this.store.dispatch(sy({value:i}))},400)}handleSelectedLayoutAlgorithmChanged(e){this.store.dispatch(oy({value:e.value}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-map-layout-selection"]],decls:9,vars:6,consts:[["appearance","outline"],[3,"selectionChange","value"],[3,"value"],[1,"cc-tree-maps-max-tree-map-files",3,"label","min","max","value","onChange"]],template:function(i,r){1&i&&(T(0,"mat-form-field",0)(1,"mat-label"),ge(2,"Map Layout"),L(),T(3,"mat-select",1),Ee(4,"async"),De("selectionChange",function(s){return r.handleSelectedLayoutAlgorithmChanged(s)}),xr(5,j5e,2,2,"mat-option",2,Sr),L()(),$e(7,K5e,2,7,"cc-slider",3),Ee(8,"async")),2&i&&(D(3),le("value",Re(4,2,r.layoutAlgorithm$)),D(2),Cr(r.layoutAlgorithms),D(2),at(7,"TreeMapStreet"===Re(8,4,r.layoutAlgorithm$)?7:-1))},dependencies:[Dd,Id,$p,Fu,RT,Ln],encapsulation:2})}}return t})();function Y5e(t,n){if(1&t&&(T(0,"mat-option",2),ge(1),L()),2&t){const e=n.$implicit;le("value",e),D(),qt(" ",e," ")}}let q5e=(()=>{class t{constructor(e){this.store=e,this.sharpnessModes=Object.values(rp),this.sharpnessMode$=this.store.select(M7)}handleSelectedSharpnessModeChanged(e){this.store.dispatch(ay({value:e.value}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-display-quality-selection"]],decls:7,vars:3,consts:[["appearance","outline"],[3,"selectionChange","value"],[3,"value"]],template:function(i,r){1&i&&(T(0,"mat-form-field",0)(1,"mat-label"),ge(2,"Display Quality"),L(),T(3,"mat-select",1),Ee(4,"async"),De("selectionChange",function(s){return r.handleSelectedSharpnessModeChanged(s)}),xr(5,Y5e,2,2,"mat-option",2,Sr),L()()),2&i&&(D(3),le("value",Re(4,1,r.sharpnessMode$)),D(2),Cr(r.sharpnessModes))},dependencies:[Dd,Id,$p,Fu,Ln],encapsulation:2})}}return t})();const Z5e=()=>["appSettings.hideFlatBuildings","appSettings.isWhiteBackground","appSettings.resetCameraIfNewFileIsLoaded","appSettings.layoutAlgorithm","appSettings.maxTreeMapFiles"];let J5e=(()=>{class t{constructor(e){this.store=e,this.screenshotToClipboardEnabled$=this.store.select(rte),this.experimentalFeaturesEnabled$=this.store.select(t3),this.isWhiteBackground$=this.store.select(Fq),this.hideFlatBuildings$=this.store.select(W5e),this.resetCameraIfNewFileIsLoaded$=this.store.select(mte)}handleResetCameraIfNewFileIsLoadedChanged(e){this.store.dispatch(gM({value:e.checked}))}handleHideFlatBuildingsChanged(e){this.store.dispatch(ty({value:e.checked}))}handleIsWhiteBackgroundChanged(e){this.store.dispatch(ry({value:e.checked}))}handleExperimentalFeaturesEnabledChanged(e){this.store.dispatch(hM({value:e.checked}))}handleScreenshotToClipboardEnabledChanged(e){this.store.dispatch(uM({value:e.checked}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],decls:36,vars:17,consts:[["color","primary"],[1,"cc-global-configuration-dialog-content"],[1,"cc-global-configuration-align-right"],[1,"cc-global-configuration-toggle-option"],[3,"change","checked"],["tooltip","Reset global settings to their defaults","label","Reset global settings",3,"settingsKeys"],[1,"cc-global-configuration-links-list"],["href","https://github.com/MaibornWolff/codecharta/blob/main/README.md","target","_blank","rel","noopener noreferrer",1,"weblink"],[1,"fa","fa-external-link","icon-link"],["href","https://github.com/MaibornWolff/codecharta/","target","_blank","rel","noopener noreferrer",1,"weblink"],["href","https://github.com/MaibornWolff/codecharta/wiki","target","_blank","rel","noopener noreferrer",1,"weblink"],["align","end"],["mat-button","","mat-dialog-close","","cdkFocusInitial",""]],template:function(i,r){1&i&&(T(0,"mat-toolbar",0),ge(1,"Global Configuration"),L(),T(2,"div",1),fe(3,"div",2)(4,"cc-map-layout-selection")(5,"cc-display-quality-selection"),T(6,"div",3)(7,"mat-slide-toggle",4),Ee(8,"async"),De("change",function(s){return r.handleHideFlatBuildingsChanged(s)}),ge(9," Hide Flattened Buildings "),L(),T(10,"mat-slide-toggle",4),Ee(11,"async"),De("change",function(s){return r.handleResetCameraIfNewFileIsLoadedChanged(s)}),ge(12," Reset Camera when changing map "),L(),T(13,"mat-slide-toggle",4),Ee(14,"async"),De("change",function(s){return r.handleIsWhiteBackgroundChanged(s)}),ge(15," White Background "),L(),T(16,"mat-slide-toggle",4),Ee(17,"async"),De("change",function(s){return r.handleExperimentalFeaturesEnabledChanged(s)}),ge(18," Enable Experimental Features "),L(),T(19,"mat-slide-toggle",4),Ee(20,"async"),De("change",function(s){return r.handleScreenshotToClipboardEnabledChanged(s)}),ge(21," Screenshot to clipboard "),L()(),fe(22,"cc-reset-settings-button",5),T(23,"div",6)(24,"a",7),fe(25,"em",8),ge(26,"How-to "),L(),T(27,"a",9),fe(28,"em",8),ge(29,"Github "),L(),T(30,"a",10),fe(31,"em",8),ge(32,"Wiki "),L()(),T(33,"mat-dialog-actions",11)(34,"button",12),ge(35,"Close"),L()()()),2&i&&(D(7),le("checked",Re(8,6,r.hideFlatBuildings$)),D(3),le("checked",Re(11,8,r.resetCameraIfNewFileIsLoaded$)),D(3),le("checked",Re(14,10,r.isWhiteBackground$)),D(3),le("checked",Re(17,12,r.experimentalFeaturesEnabled$)),D(3),le("checked",Re(20,14,r.screenshotToClipboardEnabled$)),D(3),le("settingsKeys",Kh(16,Z5e)))},dependencies:[Zs,_l,pf,Jb,Mx,Bx,X5e,q5e,Ln],encapsulation:2})}}return t})(),eVe=(()=>{class t{constructor(e){this.dialog=e}showGlobalConfiguration(){this.dialog.open(J5e,{panelClass:"cc-global-configuration-dialog"})}static{this.\u0275fac=function(i){return new(i||t)(N(ga))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-global-configuration-button"]],decls:4,vars:1,consts:[["mat-button","","title","Global Configuration",3,"click"],[3,"icon"]],template:function(i,r){1&i&&(T(0,"button",0),De("click",function(){return r.showGlobalConfiguration()}),T(1,"span"),ge(2,"Global Configuration"),L(),fe(3,"cc-action-icon",1),L()),2&i&&(D(3),le("icon","fa fa-cog"))},dependencies:[Zs,m_],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-global-configuration-button button{margin:0;padding:0}cc-global-configuration-button button cc-action-icon{margin-left:12px}cc-global-configuration-button button:hover cc-action-icon{background-color:#0374c9}.cc-global-configuration-dialog .mat-mdc-dialog-container{width:36vw;min-width:600px}.cc-global-configuration-dialog .mat-mdc-dialog-container .cc-global-configuration-dialog-content{padding:0 16px;display:flex;flex-direction:column;gap:26px}.cc-global-configuration-dialog .mat-mdc-dialog-container cc-map-layout-selection>mat-form-field,.cc-global-configuration-dialog .mat-mdc-dialog-container cc-display-quality-selection>mat-form-field{width:100%}.cc-global-configuration-dialog .mat-mdc-dialog-container cc-map-layout-selection>mat-form-field .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align,.cc-global-configuration-dialog .mat-mdc-dialog-container cc-display-quality-selection>mat-form-field .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{display:none}.cc-global-configuration-dialog .mat-mdc-dialog-container cc-map-layout-selection .cc-tree-maps-max-tree-map-files,.cc-global-configuration-dialog .mat-mdc-dialog-container cc-display-quality-selection .cc-tree-maps-max-tree-map-files{display:inline-block;padding-left:16px}.cc-global-configuration-dialog .mat-mdc-dialog-container .cc-global-configuration-toggle-option{display:flex;flex-direction:column;gap:inherit}.cc-global-configuration-dialog .mat-mdc-dialog-container .cc-global-configuration-links-list{display:flex;gap:16px}.cc-global-configuration-dialog .mat-mdc-dialog-container .cc-global-configuration-links-list .weblink{display:block;color:#000000de;text-decoration:none}.cc-global-configuration-dialog .mat-mdc-dialog-container .cc-global-configuration-links-list .weblink .fa{margin:8px}\n'],encapsulation:2})}}return t})();function tVe(t,n){1&t&&fe(0,"cc-file-panel")}function nVe(t,n){1&t&&fe(0,"cc-hovered-node-path-panel")}let iVe=(()=>{class t{constructor(e){this.store=e,this.hoveredNodeId$=this.store.select(gx),this.experimentalFeaturesEnabled$=this.store.select(t3)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-tool-bar"]],decls:12,vars:3,consts:[[1,"right-aligned"]],template:function(i,r){1&i&&(fe(0,"cc-upload-files-button")(1,"cc-screenshot-button")(2,"cc-copy-to-clipboard-button")(3,"cc-export-threed-map-button")(4,"cc-reset-map-button"),$e(5,tVe,1,0,"cc-file-panel"),Ee(6,"async"),$e(7,nVe,1,0),T(8,"div",0),fe(9,"cc-loading-map-progress-spinner")(10,"cc-presentation-mode-button")(11,"cc-global-configuration-button"),L()),2&i&&(D(5),at(5,null===Re(6,1,r.hoveredNodeId$)?5:7))},dependencies:[kHe,$He,n5e,i5e,g5e,T5e,L5e,Q5e,G5e,eVe,Ln],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-tool-bar{display:flex;gap:8px;padding-left:8px;align-items:center;background-color:#f0f0f0;height:35px;border-bottom:1px solid #cdcdcd}cc-tool-bar .right-aligned{position:absolute;right:4px;display:inline-flex;align-items:center;width:400px;justify-content:space-between}cc-tool-bar span{font-size:10pt}\n'],encapsulation:2})}}return t})(),Ate=(()=>{class t{static{this.NO_EXTENSION="None"}static{this.OTHER_EXTENSION="other"}static{this.OTHER_GROUP_THRESHOLD_VALUE=3}static getMetricDistribution(e,i){if(!e)return[];const r=new Map;let o=0;for(const a of Jr(e))if(Ao(a)&&!a.data.isExcluded){const c=a.data.attributes[i],l=t.estimateFileExtension(a.data.name),d=r.get(l);o+=c,d?d.absoluteMetricValue+=c:r.set(l,t.getDistributionObject(l,c))}if(0===o)return[t.getNoneExtension()];let s=[];for(const a of r.values())0!==a.absoluteMetricValue&&(a.relativeMetricValue=100*a.absoluteMetricValue/o,s.push(a));return s.sort((a,c)=>c.absoluteMetricValue-a.absoluteMetricValue),s=t.getMetricDistributionWithOthers(s),s.length>0?s:[t.getNoneExtension()]}static getMetricDistributionWithOthers(e){const i=t.getOtherExtension(),r=[];for(const o of e)o.relativeMetricValue>t.OTHER_GROUP_THRESHOLD_VALUE?r.push(o):(i.absoluteMetricValue+=o.absoluteMetricValue,i.relativeMetricValue+=o.relativeMetricValue);return i.relativeMetricValue>0&&r.push(i),r}static getOtherExtension(){return{fileExtension:t.OTHER_EXTENSION,absoluteMetricValue:0,relativeMetricValue:0,color:t.getColor(t.OTHER_EXTENSION)}}static getDistributionObject(e,i){return{fileExtension:e,absoluteMetricValue:i,relativeMetricValue:0,color:t.getColor(e)}}static estimateFileExtension(e){const i=e.lastIndexOf(".");return i>0&&i!==e.length?e.slice(i+1).toLowerCase():t.NO_EXTENSION}static getNoneExtension(){return{fileExtension:t.NO_EXTENSION,absoluteMetricValue:null,relativeMetricValue:100,color:t.getColor(t.NO_EXTENSION)}}static getColor(e){if(e===t.NO_EXTENSION||e===t.OTHER_EXTENSION)return"#676867";let i=0;for(let r=0;rt.distributionMetric),rVe=Bt(Xc,gte,(t,n)=>Ate.getMetricDistribution(t.unifiedMapNode,n));let oVe=(()=>{class t{constructor(e){this.store=e,this.distributionMetric$=this.store.select(gte)}handleDistributionMetricChanged(e){this.store.dispatch(hy({value:e}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-distribution-metric-chooser"]],decls:3,vars:5,consts:[[1,"fa","fa-pie-chart"],[3,"selectedMetricName","searchPlaceholder","handleMetricChanged"]],template:function(i,r){1&i&&(fe(0,"i",0)(1,"cc-metric-chooser",1),Ee(2,"async")),2&i&&(D(),le("selectedMetricName",Re(2,3,r.distributionMetric$))("searchPlaceholder","Distribution Metric (highest value)")("handleMetricChanged",r.handleDistributionMetricChanged))},dependencies:[kx,Ln],encapsulation:2})}}return t})();function sVe(t,n){if(1&t){const e=Cn();T(0,"span",7),De("click",function(){return Mt(e),St(Se().toggleShowAbsoluteValues())}),T(1,"div",8),De("mouseover",function(){const r=Mt(e).$implicit;return St(Se().onHoverFileExtensionBar(r.fileExtension))})("mouseleave",function(){return Mt(e),St(Se().onUnhoverFileExtensionBar())}),ge(2),L()()}if(2&t){const e=n.$implicit,i=Se();xi("width",e.relativeMetricValue+"%")("background",e.color),D(),Ga("title",e.fileExtension.toString()+" "+(i.showAbsoluteValues?e.absoluteMetricValue.toFixed(0):e.relativeMetricValue.toFixed(2)+"%")),D(),wg(" ",e.relativeMetricValue>=e.fileExtension.length/2+1?e.fileExtension:""," ",i.showAbsoluteValues?e.absoluteMetricValue.toLocaleString():e.relativeMetricValue.toFixed(2)+"%"," ")}}function aVe(t,n){if(1&t&&(T(0,"div",6),fe(1,"span",9),ge(2),T(3,"span",10),ge(4),L()()),2&t){const e=n.$implicit,i=Se();D(),xi("background",e.color),D(),qt("",e.fileExtension," : "),D(2),qt(" ",i.showAbsoluteValues?e.absoluteMetricValue.toLocaleString():e.relativeMetricValue.toFixed(2)+"%"," ")}}let cVe=(()=>{class t{constructor(e,i){this.store=e,this.threeSceneService=i,this.showAbsoluteValues=!1,this.showDetails=!1,this.store.select(rVe).subscribe(r=>{this.metricDistribution=r})}onHoverFileExtensionBar(e){const i=new Set;for(const r of this.metricDistribution)"other"!==r.fileExtension&&i.add(r.fileExtension);for(const r of this.threeSceneService.getMapMesh().getMeshDescription().buildings)if(r.node.isLeaf){const o=Ate.estimateFileExtension(r.node.name);(o===e||"other"===e&&!i.has(o))&&this.threeSceneService.addBuildingToHighlightingList(r)}this.threeSceneService.highlightBuildings()}onUnhoverFileExtensionBar(){this.threeSceneService.clearHighlight()}toggleShowDetails(){this.showDetails=!this.showDetails}toggleShowAbsoluteValues(){this.showAbsoluteValues=!this.showAbsoluteValues}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(Yc))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-file-extension-bar"]],decls:10,vars:5,consts:[[1,"cc-distribution"],["title","Distribution metric"],[1,"cc-bar"],[1,"cc-bar-section",3,"width","background"],[1,"cc-show-details-button",3,"click"],[1,"cc-distribution-details",3,"click"],[1,"cc-distribution-details-entry"],[1,"cc-bar-section",3,"click"],[1,"cc-bar-section-text",3,"mouseover","mouseleave","title"],[1,"cc-dot"],[1,"cc-detail-metric-value"]],template:function(i,r){1&i&&(T(0,"div",0),fe(1,"cc-distribution-metric-chooser",1),T(2,"div",2),xr(3,sVe,3,7,"span",3,Sr),L(),T(5,"button",4),De("click",function(){return r.toggleShowDetails()}),fe(6,"i"),L()(),T(7,"div",5),De("click",function(){return r.toggleShowAbsoluteValues()}),xr(8,aVe,5,4,"div",6,Sr),L()),2&i&&(D(3),Cr(r.metricDistribution),D(3),du("fa ",r.showDetails?"fa-caret-up":"fa-caret-down",""),D(),sn("cc-hidden",!r.showDetails),D(),Cr(r.metricDistribution))},dependencies:[oVe],styles:['#mat-select-2-panel{left:-24px;top:98px}cc-file-extension-bar{z-index:30;background-color:#fff}cc-file-extension-bar .cc-distribution{display:flex;height:17px}cc-file-extension-bar .cc-distribution cc-distribution-metric-chooser{width:210px;display:flex;align-items:center;font-size:12px;gap:6px;padding-left:6px}cc-file-extension-bar .cc-distribution .cc-bar{flex:1}cc-file-extension-bar .cc-distribution .cc-bar .cc-bar-section{height:100%;display:inline-block;overflow:hidden;color:#fff;text-align:center;cursor:pointer;outline:none}cc-file-extension-bar .cc-distribution .cc-bar .cc-bar-section:not(:last-child){border-right:1px solid white}cc-file-extension-bar .cc-distribution .cc-bar .cc-bar-section .cc-bar-section-text{font-size:10px;margin:2px 0;white-space:nowrap;padding:0 10px;text-overflow:""}cc-file-extension-bar .cc-show-details-button{line-height:10px;width:45px;margin:0;padding:0;background-color:#e6e6e6f5}cc-file-extension-bar .cc-distribution-details{border-top:1px solid #cdcdcd;height:25px;transition:all linear .2s}cc-file-extension-bar .cc-distribution-details.cc-hidden{height:0;border-top:0 solid #cdcdcd}cc-file-extension-bar .cc-distribution-details:hover{cursor:pointer}cc-file-extension-bar .cc-distribution-details .cc-distribution-details-entry{display:inline-block;font-size:15px;color:#000;margin:3px 0 3px 30px}cc-file-extension-bar .cc-distribution-details .cc-distribution-details-entry .cc-dot{height:10px;width:10px;border-radius:50%;display:inline-block;margin-right:8px}cc-file-extension-bar .cc-distribution-details .cc-distribution-details-entry .cc-detail-metric-value{color:gray}\n'],encapsulation:2})}}return t})(),lVe=(()=>{class t{constructor(e){this.isLoadingFile$=e.select(TP)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-loading-file-progress-spinner"]],decls:3,vars:4,consts:[["id","loading-gif-file"],["mode","indeterminate","diameter","96"]],template:function(i,r){1&i&&(T(0,"div",0),Ee(1,"async"),fe(2,"mat-progress-spinner",1),L()),2&i&&xi("visibility",Re(1,2,r.isLoadingFile$)?"visible":"hidden")},dependencies:[hte,Ln],styles:["cc-loading-file-progress-spinner #loading-gif-file{position:fixed;left:0;top:0;width:100%;height:100%;z-index:40;background-color:#fffc;display:inline-block;text-align:center}cc-loading-file-progress-spinner #loading-gif-file mat-progress-spinner.mat-mdc-progress-spinner{display:inline-block;margin:22% auto 0}\n"],encapsulation:2})}}return t})(),dVe=(()=>{class t{constructor(e,i){this.store=e,this.loadInitialFileService=i,this.isInitialized=!1}ngOnInit(){var e=this;return m(function*(){e.store.dispatch(Zm({value:!0})),yield e.loadInitialFileService.loadFilesOrSampleFiles(),e.isInitialized=!0})()}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(kP))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-code-charta"]],decls:8,vars:2,template:function(i,r){1&i&&(T(0,"div"),fe(1,"cc-tool-bar")(2,"cc-file-extension-bar")(3,"cc-ribbon-bar")(4,"cc-code-map")(5,"cc-legend-panel")(6,"cc-loading-file-progress-spinner")(7,"cc-logo"),L()),2&i&&xi("visibility",r.isInitialized?"visible":"hidden")},dependencies:[t1e,dBe,TIe,pHe,iVe,cVe,lVe],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-code-charta #logo{display:flex;flex-direction:column;position:absolute;left:2em;bottom:1em;z-index:1}cc-code-charta #logo img{object-fit:contain;max-width:100%;height:auto}cc-code-charta #logo h2{color:#5a585a;font-weight:700;font-size:10px;text-align:center;margin:0;z-index:-1}cc-code-charta #codeMap{position:fixed;z-index:0;top:98px;left:0;width:100%;height:100%}cc-code-charta .cc-shadow{box-shadow:0 1px 5px #0003!important}cc-code-charta cc-attribute-side-bar .side-bar-container,cc-code-charta cc-legend-panel .block-wrapper,cc-code-charta cc-legend-panel .panel-button,cc-code-charta cc-view-cube,cc-code-charta unfocus-button-component{transition:right .3s ease}cc-code-charta .small-action-button{display:inline-block;height:24px;width:24px;vertical-align:top}cc-code-charta .state-selector-button{height:22px;vertical-align:bottom;width:30px;min-height:0;min-width:0;margin:0;padding:0;font-size:9pt;text-transform:none;background-color:#e6e6e6f5}cc-code-charta .state-selector-button:hover{background-color:#c8c8c8!important}cc-code-charta .state-selector-button i{vertical-align:middle;height:26px}cc-code-charta .state-selector-button.left{border-radius:5px 0 0 5px}cc-code-charta .state-selector-button.middle{border-radius:0;border-left:1px solid rgb(255,255,255);border-right:1px solid rgb(255,255,255)}cc-code-charta .state-selector-button.right{border-radius:0 5px 5px 0}cc-code-charta .state-selector-button.current{background-color:#009688;color:#fff}cc-code-charta .state-selector-button.current:hover{background-color:#0374c9!important}\n'],encapsulation:2})}}return t})(),uVe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn]})}}return t})();function bte(t){return new Ve(3e3,!1)}function Xf(t){switch(t.length){case 0:return new Dy;case 1:return t[0];default:return new P$(t)}}function _te(t,n,e=new Map,i=new Map){const r=[],o=[];let s=-1,a=null;if(n.forEach(c=>{const l=c.get("offset"),d=l==s,u=d&&a||new Map;c.forEach((h,f)=>{let b=f,y=h;if("offset"!==f)switch(b=t.normalizePropertyName(b,r),y){case"!":y=e.get(f);break;case Bu:y=i.get(f);break;default:y=t.normalizeStyleValue(f,b,y,r)}u.set(b,y)}),d||o.push(u),a=u,s=l}),r.length)throw function RVe(t){return new Ve(3502,!1)}();return o}function WU(t,n,e,i){switch(n){case"start":t.onStart(()=>i(e&&$U(e,"start",t)));break;case"done":t.onDone(()=>i(e&&$U(e,"done",t)));break;case"destroy":t.onDestroy(()=>i(e&&$U(e,"destroy",t)))}}function $U(t,n,e){const o=jU(t.element,t.triggerName,t.fromState,t.toState,n||t.phaseName,e.totalTime??t.totalTime,!!e.disabled),s=t._data;return null!=s&&(o._data=s),o}function jU(t,n,e,i,r="",o=0,s){return{element:t,triggerName:n,fromState:e,toState:i,phaseName:r,totalTime:o,disabled:!!s}}function Mc(t,n,e){let i=t.get(n);return i||t.set(n,i=e),i}function vte(t){const n=t.indexOf(":");return[t.substring(1,n),t.slice(n+1)]}const $Ve=typeof document>"u"?null:document.documentElement;function KU(t){const n=t.parentNode||t.host||null;return n===$Ve?null:n}let tA=null,yte=!1;function wte(t,n){for(;n;){if(n===t)return!0;n=KU(n)}return!1}function xte(t,n,e){if(e)return Array.from(t.querySelectorAll(n));const i=t.querySelector(n);return i?[i]:[]}let XU=(()=>{class t{validateStyleProperty(e){return function KVe(t){tA||(tA=function XVe(){return typeof document<"u"?document.body:null}()||{},yte=!!tA.style&&"WebkitAppearance"in tA.style);let n=!0;return tA.style&&!function jVe(t){return"ebkit"==t.substring(1,6)}(t)&&(n=t in tA.style,!n&&yte&&(n="Webkit"+t.charAt(0).toUpperCase()+t.slice(1)in tA.style)),n}(e)}matchesElement(e,i){return!1}containsElement(e,i){return wte(e,i)}getParentElement(e){return KU(e)}query(e,i,r){return xte(e,i,r)}computeStyle(e,i,r){return r||""}animate(e,i,r,o,s,a=[],c){return new Dy(r,o)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();class YU{static{this.NOOP=new XU}}class qU{}const qVe=1e3,ZU="ng-enter",mF="ng-leave",pF="ng-trigger",AF=".ng-trigger",Ete="ng-animating",JU=".ng-animating";function rh(t){if("number"==typeof t)return t;const n=t.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:e4(parseFloat(n[1]),n[2])}function e4(t,n){return"s"===n?t*qVe:t}function gF(t,n,e){return t.hasOwnProperty("duration")?t:function JVe(t,n,e){let r,o=0,s="";if("string"==typeof t){const a=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return n.push(bte()),{duration:0,delay:0,easing:""};r=e4(parseFloat(a[1]),a[2]);const c=a[3];null!=c&&(o=e4(parseFloat(c),a[4]));const l=a[5];l&&(s=l)}else r=t;if(!e){let a=!1,c=n.length;r<0&&(n.push(function hVe(){return new Ve(3100,!1)}()),a=!0),o<0&&(n.push(function fVe(){return new Ve(3101,!1)}()),a=!0),a&&n.splice(c,0,bte())}return{duration:r,delay:o,easing:s}}(t,n,e)}function Nd(t,n,e){n.forEach((i,r)=>{const o=n4(r);e&&!e.has(r)&&e.set(r,t.style[o]),t.style[o]=i})}function nA(t,n){n.forEach((e,i)=>{const r=n4(i);t.style[r]=""})}function jx(t){return Array.isArray(t)?1==t.length?t[0]:function v0e(t,n=null){return{type:ii.Sequence,steps:t,options:n}}(t):t}const t4=new RegExp("{{\\s*(.+?)\\s*}}","g");function Ste(t){let n=[];if("string"==typeof t){let e;for(;e=t4.exec(t);)n.push(e[1]);t4.lastIndex=0}return n}function Kx(t,n,e){const i=`${t}`,r=i.replace(t4,(o,s)=>{let a=n[s];return null==a&&(e.push(function pVe(t){return new Ve(3003,!1)}()),a=""),a.toString()});return r==i?t:r}const nQe=/-+([a-z0-9])/g;function n4(t){return t.replace(nQe,(...n)=>n[1].toUpperCase())}function Sc(t,n,e){switch(n.type){case ii.Trigger:return t.visitTrigger(n,e);case ii.State:return t.visitState(n,e);case ii.Transition:return t.visitTransition(n,e);case ii.Sequence:return t.visitSequence(n,e);case ii.Group:return t.visitGroup(n,e);case ii.Animate:return t.visitAnimate(n,e);case ii.Keyframes:return t.visitKeyframes(n,e);case ii.Style:return t.visitStyle(n,e);case ii.Reference:return t.visitReference(n,e);case ii.AnimateChild:return t.visitAnimateChild(n,e);case ii.AnimateRef:return t.visitAnimateRef(n,e);case ii.Query:return t.visitQuery(n,e);case ii.Stagger:return t.visitStagger(n,e);default:throw function AVe(t){return new Ve(3004,!1)}()}}const oQe=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class kte extends qU{normalizePropertyName(n,e){return n4(n)}normalizeStyleValue(n,e,i,r){let o="";const s=i.toString().trim();if(oQe.has(e)&&0!==i&&"0"!==i)if("number"==typeof i)o="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push(function gVe(t,n){return new Ve(3005,!1)}())}return s+o}}const bF="*";const _F=new Set(["true","1"]),vF=new Set(["false","0"]);function Tte(t,n){const e=_F.has(t)||vF.has(t),i=_F.has(n)||vF.has(n);return(r,o)=>{let s=t==bF||t==r,a=n==bF||n==o;return!s&&e&&"boolean"==typeof r&&(s=r?_F.has(t):vF.has(t)),!a&&i&&"boolean"==typeof o&&(a=o?_F.has(n):vF.has(n)),s&&a}}const lQe=new RegExp("s*:selfs*,?","g");function r4(t,n,e,i){return new dQe(t).build(n,e,i)}class dQe{constructor(n){this._driver=n}build(n,e,i){const r=new fQe(e);return this._resetContextStyleTimingState(r),Sc(this,jx(n),r)}_resetContextStyleTimingState(n){n.currentQuerySelector="",n.collectedStyles=new Map,n.collectedStyles.set("",new Map),n.currentTime=0}visitTrigger(n,e){let i=e.queryCount=0,r=e.depCount=0;const o=[],s=[];return"@"==n.name.charAt(0)&&e.errors.push(function bVe(){return new Ve(3006,!1)}()),n.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),a.type==ii.State){const c=a,l=c.name;l.toString().split(/\s*,\s*/).forEach(d=>{c.name=d,o.push(this.visitState(c,e))}),c.name=l}else if(a.type==ii.Transition){const c=this.visitTransition(a,e);i+=c.queryCount,r+=c.depCount,s.push(c)}else e.errors.push(function _Ve(){return new Ve(3007,!1)}())}),{type:ii.Trigger,name:n.name,states:o,transitions:s,queryCount:i,depCount:r,options:null}}visitState(n,e){const i=this.visitStyle(n.styles,e),r=n.options&&n.options.params||null;if(i.containsDynamicStyles){const o=new Set,s=r||{};i.styles.forEach(a=>{a instanceof Map&&a.forEach(c=>{Ste(c).forEach(l=>{s.hasOwnProperty(l)||o.add(l)})})}),o.size&&e.errors.push(function vVe(t,n){return new Ve(3008,!1)}(0,o.values()))}return{type:ii.State,name:n.name,style:i,options:r?{params:r}:null}}visitTransition(n,e){e.queryCount=0,e.depCount=0;const i=Sc(this,jx(n.animation),e),r=function sQe(t,n){const e=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(i=>function aQe(t,n,e){if(":"==t[0]){const c=function cQe(t,n){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(t,e);if("function"==typeof c)return void n.push(c);t=c}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function TVe(t){return new Ve(3015,!1)}()),n;const r=i[1],o=i[2],s=i[3];n.push(Tte(r,s)),"<"==o[0]&&(r!=bF||s!=bF)&&n.push(Tte(s,r))}(i,e,n)):e.push(t),e}(n.expr,e.errors);return{type:ii.Transition,matchers:r,animation:i,queryCount:e.queryCount,depCount:e.depCount,options:iA(n.options)}}visitSequence(n,e){return{type:ii.Sequence,steps:n.steps.map(i=>Sc(this,i,e)),options:iA(n.options)}}visitGroup(n,e){const i=e.currentTime;let r=0;const o=n.steps.map(s=>{e.currentTime=i;const a=Sc(this,s,e);return r=Math.max(r,e.currentTime),a});return e.currentTime=r,{type:ii.Group,steps:o,options:iA(n.options)}}visitAnimate(n,e){const i=function pQe(t,n){if(t.hasOwnProperty("duration"))return t;if("number"==typeof t)return o4(gF(t,n).duration,0,"");const e=t;if(e.split(/\s+/).some(o=>"{"==o.charAt(0)&&"{"==o.charAt(1))){const o=o4(0,0,"");return o.dynamic=!0,o.strValue=e,o}const r=gF(e,n);return o4(r.duration,r.delay,r.easing)}(n.timings,e.errors);e.currentAnimateTimings=i;let r,o=n.styles?n.styles:Eo({});if(o.type==ii.Keyframes)r=this.visitKeyframes(o,e);else{let s=n.styles,a=!1;if(!s){a=!0;const l={};i.easing&&(l.easing=i.easing),s=Eo(l)}e.currentTime+=i.duration+i.delay;const c=this.visitStyle(s,e);c.isEmptyStep=a,r=c}return e.currentAnimateTimings=null,{type:ii.Animate,timings:i,style:r,options:null}}visitStyle(n,e){const i=this._makeStyleAst(n,e);return this._validateStyleAst(i,e),i}_makeStyleAst(n,e){const i=[],r=Array.isArray(n.styles)?n.styles:[n.styles];for(let a of r)"string"==typeof a?a===Bu?i.push(a):e.errors.push(new Ve(3002,!1)):i.push(new Map(Object.entries(a)));let o=!1,s=null;return i.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(s=a.get("easing"),a.delete("easing")),!o))for(let c of a.values())if(c.toString().indexOf("{{")>=0){o=!0;break}}),{type:ii.Style,styles:i,easing:s,offset:n.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(n,e){const i=e.currentAnimateTimings;let r=e.currentTime,o=e.currentTime;i&&o>0&&(o-=i.duration+i.delay),n.styles.forEach(s=>{"string"!=typeof s&&s.forEach((a,c)=>{const l=e.collectedStyles.get(e.currentQuerySelector),d=l.get(c);let u=!0;d&&(o!=r&&o>=d.startTime&&r<=d.endTime&&(e.errors.push(function wVe(t,n,e,i,r){return new Ve(3010,!1)}()),u=!1),o=d.startTime),u&&l.set(c,{startTime:o,endTime:r}),e.options&&function tQe(t,n,e){const i=n.params||{},r=Ste(t);r.length&&r.forEach(o=>{i.hasOwnProperty(o)||e.push(function mVe(t){return new Ve(3001,!1)}())})}(a,e.options,e.errors)})})}visitKeyframes(n,e){const i={type:ii.Keyframes,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function xVe(){return new Ve(3011,!1)}()),i;let o=0;const s=[];let a=!1,c=!1,l=0;const d=n.steps.map(x=>{const w=this._makeStyleAst(x,e);let S=null!=w.offset?w.offset:function mQe(t){if("string"==typeof t)return null;let n=null;if(Array.isArray(t))t.forEach(e=>{if(e instanceof Map&&e.has("offset")){const i=e;n=parseFloat(i.get("offset")),i.delete("offset")}});else if(t instanceof Map&&t.has("offset")){const e=t;n=parseFloat(e.get("offset")),e.delete("offset")}return n}(w.styles),M=0;return null!=S&&(o++,M=w.offset=S),c=c||M<0||M>1,a=a||M0&&o{const S=h>0?w==f?1:h*w:s[w],M=S*C;e.currentTime=b+y.delay+M,y.duration=M,this._validateStyleAst(x,e),x.offset=S,i.styles.push(x)}),i}visitReference(n,e){return{type:ii.Reference,animation:Sc(this,jx(n.animation),e),options:iA(n.options)}}visitAnimateChild(n,e){return e.depCount++,{type:ii.AnimateChild,options:iA(n.options)}}visitAnimateRef(n,e){return{type:ii.AnimateRef,animation:this.visitReference(n.animation,e),options:iA(n.options)}}visitQuery(n,e){const i=e.currentQuerySelector,r=n.options||{};e.queryCount++,e.currentQuery=n;const[o,s]=function uQe(t){const n=!!t.split(/\s*,\s*/).find(e=>":self"==e);return n&&(t=t.replace(lQe,"")),t=t.replace(/@\*/g,AF).replace(/@\w+/g,e=>AF+"-"+e.slice(1)).replace(/:animating/g,JU),[t,n]}(n.selector);e.currentQuerySelector=i.length?i+" "+o:o,Mc(e.collectedStyles,e.currentQuerySelector,new Map);const a=Sc(this,jx(n.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:ii.Query,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:a,originalSelector:n.selector,options:iA(n.options)}}visitStagger(n,e){e.currentQuery||e.errors.push(function SVe(){return new Ve(3013,!1)}());const i="full"===n.timings?{duration:0,delay:0,easing:"full"}:gF(n.timings,e.errors,!0);return{type:ii.Stagger,animation:Sc(this,jx(n.animation),e),timings:i,options:null}}}class fQe{constructor(n){this.errors=n,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function iA(t){return t?(t={...t}).params&&(t.params=function hQe(t){return t?{...t}:null}(t.params)):t={},t}function o4(t,n,e){return{duration:t,delay:n,easing:e}}function s4(t,n,e,i,r,o,s=null,a=!1){return{type:1,element:t,keyframes:n,preStyleProps:e,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:s,subTimeline:a}}class yF{constructor(){this._map=new Map}get(n){return this._map.get(n)||[]}append(n,e){let i=this._map.get(n);i||this._map.set(n,i=[]),i.push(...e)}has(n){return this._map.has(n)}clear(){this._map.clear()}}const bQe=new RegExp(":enter","g"),vQe=new RegExp(":leave","g");function a4(t,n,e,i,r,o=new Map,s=new Map,a,c,l=[]){return(new yQe).buildKeyframes(t,n,e,i,r,o,s,a,c,l)}class yQe{buildKeyframes(n,e,i,r,o,s,a,c,l,d=[]){l=l||new yF;const u=new c4(n,e,l,r,o,d,[]);u.options=c;const h=c.delay?rh(c.delay):0;u.currentTimeline.delayNextStep(h),u.currentTimeline.setStyles([s],null,u.errors,c),Sc(this,i,u);const f=u.timelines.filter(b=>b.containsAnimation());if(f.length&&a.size){let b;for(let y=f.length-1;y>=0;y--){const C=f[y];if(C.element===e){b=C;break}}b&&!b.allowOnlyTimelineStyles()&&b.setStyles([a],null,u.errors,c)}return f.length?f.map(b=>b.buildKeyframes()):[s4(e,[],[],[],0,h,"",!1)]}visitTrigger(n,e){}visitState(n,e){}visitTransition(n,e){}visitAnimateChild(n,e){const i=e.subInstructions.get(e.element);if(i){const r=e.createSubContext(n.options),o=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,r,r.options);o!=s&&e.transformIntoNewTimeline(s)}e.previousNode=n}visitAnimateRef(n,e){const i=e.createSubContext(n.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([n.options,n.animation.options],e,i),this.visitReference(n.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=n}_applyAnimationRefDelays(n,e,i){for(const r of n){const o=r?.delay;if(o){const s="number"==typeof o?o:rh(Kx(o,r?.params??{},e.errors));i.delayNextStep(s)}}}_visitSubInstructions(n,e,i){let o=e.currentTimeline.currentTime;const s=null!=i.duration?rh(i.duration):null,a=null!=i.delay?rh(i.delay):null;return 0!==s&&n.forEach(c=>{const l=e.appendInstructionToTimeline(c,s,a);o=Math.max(o,l.duration+l.delay)}),o}visitReference(n,e){e.updateOptions(n.options,!0),Sc(this,n.animation,e),e.previousNode=n}visitSequence(n,e){const i=e.subContextCount;let r=e;const o=n.options;if(o&&(o.params||o.delay)&&(r=e.createSubContext(o),r.transformIntoNewTimeline(),null!=o.delay)){r.previousNode.type==ii.Style&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=wF);const s=rh(o.delay);r.delayNextStep(s)}n.steps.length&&(n.steps.forEach(s=>Sc(this,s,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),e.previousNode=n}visitGroup(n,e){const i=[];let r=e.currentTimeline.currentTime;const o=n.options&&n.options.delay?rh(n.options.delay):0;n.steps.forEach(s=>{const a=e.createSubContext(n.options);o&&a.delayNextStep(o),Sc(this,s,a),r=Math.max(r,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(s=>e.currentTimeline.mergeTimelineCollectedStyles(s)),e.transformIntoNewTimeline(r),e.previousNode=n}_visitTiming(n,e){if(n.dynamic){const i=n.strValue;return gF(e.params?Kx(i,e.params,e.errors):i,e.errors)}return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,e){const i=e.currentAnimateTimings=this._visitTiming(n.timings,e),r=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),r.snapshotCurrentStyles());const o=n.style;o.type==ii.Keyframes?this.visitKeyframes(o,e):(e.incrementTime(i.duration),this.visitStyle(o,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=n}visitStyle(n,e){const i=e.currentTimeline,r=e.currentAnimateTimings;!r&&i.hasCurrentStyleProperties()&&i.forwardFrame();const o=r&&r.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(o):i.setStyles(n.styles,o,e.errors,e.options),e.previousNode=n}visitKeyframes(n,e){const i=e.currentAnimateTimings,r=e.currentTimeline.duration,o=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,n.styles.forEach(c=>{a.forwardTime((c.offset||0)*o),a.setStyles(c.styles,c.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(r+o),e.previousNode=n}visitQuery(n,e){const i=e.currentTimeline.currentTime,r=n.options||{},o=r.delay?rh(r.delay):0;o&&(e.previousNode.type===ii.Style||0==i&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=wF);let s=i;const a=e.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!r.optional,e.errors);e.currentQueryTotal=a.length;let c=null;a.forEach((l,d)=>{e.currentQueryIndex=d;const u=e.createSubContext(n.options,l);o&&u.delayNextStep(o),l===e.element&&(c=u.currentTimeline),Sc(this,n.animation,u),u.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,u.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),c&&(e.currentTimeline.mergeTimelineCollectedStyles(c),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=n}visitStagger(n,e){const i=e.parentContext,r=e.currentTimeline,o=n.timings,s=Math.abs(o.duration),a=s*(e.currentQueryTotal-1);let c=s*e.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":c=a-c;break;case"full":c=i.currentStaggerTime}const d=e.currentTimeline;c&&d.delayNextStep(c);const u=d.currentTime;Sc(this,n.animation,e),e.previousNode=n,i.currentStaggerTime=r.currentTime-u+(r.startTime-i.currentTimeline.startTime)}}const wF={};class c4{constructor(n,e,i,r,o,s,a,c){this._driver=n,this.element=e,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=wF,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=c||new xF(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,e){if(!n)return;const i=n;let r=this.options;null!=i.duration&&(r.duration=rh(i.duration)),null!=i.delay&&(r.delay=rh(i.delay));const o=i.params;if(o){let s=r.params;s||(s=this.options.params={}),Object.keys(o).forEach(a=>{(!e||!s.hasOwnProperty(a))&&(s[a]=Kx(o[a],s,this.errors))})}}_copyOptions(){const n={};if(this.options){const e=this.options.params;if(e){const i=n.params={};Object.keys(e).forEach(r=>{i[r]=e[r]})}}return n}createSubContext(n=null,e,i){const r=e||this.element,o=new c4(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(n),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(n){return this.previousNode=wF,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,e,i){const r={duration:e??n.duration,delay:this.currentTimeline.currentTime+(i??0)+n.delay,easing:""},o=new wQe(this._driver,n.element,n.keyframes,n.preStyleProps,n.postStyleProps,r,n.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(n){this.currentTimeline.forwardTime(this.currentTimeline.duration+n)}delayNextStep(n){n>0&&this.currentTimeline.delayNextStep(n)}invokeQuery(n,e,i,r,o,s){let a=[];if(r&&a.push(this.element),n.length>0){n=(n=n.replace(bQe,"."+this._enterClassName)).replace(vQe,"."+this._leaveClassName);let l=this._driver.query(this.element,n,1!=i);0!==i&&(l=i<0?l.slice(l.length+i,l.length):l.slice(0,i)),a.push(...l)}return!o&&0==a.length&&s.push(function kVe(t){return new Ve(3014,!1)}()),a}}class xF{constructor(n,e,i,r){this._driver=n,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(n){const e=1===this._keyframes.size&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+n),e&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,e){return this.applyStylesToKeyframe(),new xF(this._driver,n,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(n){this.applyStylesToKeyframe(),this.duration=n,this._loadKeyframe()}_updateStyle(n,e){this._localTimelineStyles.set(n,e),this._globalTimelineStyles.set(n,e),this._styleSummary.set(n,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(n){n&&this._previousKeyframe.set("easing",n);for(let[e,i]of this._globalTimelineStyles)this._backFill.set(e,i||Bu),this._currentKeyframe.set(e,Bu);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,e,i,r){e&&this._previousKeyframe.set("easing",e);const o=r&&r.params||{},s=function xQe(t,n){const e=new Map;let i;return t.forEach(r=>{if("*"===r){i??=n.keys();for(let o of i)e.set(o,Bu)}else for(let[o,s]of r)e.set(o,s)}),e}(n,this._globalTimelineStyles);for(let[a,c]of s){const l=Kx(c,o,i);this._pendingStyles.set(a,l),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Bu),this._updateStyle(a,l)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((n,e)=>{this._currentKeyframe.set(e,n)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((n,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,n)}))}snapshotCurrentStyles(){for(let[n,e]of this._localTimelineStyles)this._pendingStyles.set(n,e),this._updateStyle(n,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const n=[];for(let e in this._currentKeyframe)n.push(e);return n}mergeTimelineCollectedStyles(n){n._styleSummary.forEach((e,i)=>{const r=this._styleSummary.get(i);(!r||e.time>r.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();const n=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((a,c)=>{const l=new Map([...this._backFill,...a]);l.forEach((d,u)=>{"!"===d?n.add(u):d===Bu&&e.add(u)}),i||l.set("offset",c/this.duration),r.push(l)});const o=[...n.values()],s=[...e.values()];if(i){const a=r[0],c=new Map(a);a.set("offset",0),c.set("offset",1),r=[a,c]}return s4(this.element,r,o,s,this.duration,this.startTime,this.easing,!1)}}class wQe extends xF{constructor(n,e,i,r,o,s,a=!1){super(n,e,s.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=o,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:e,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&e){const o=[],s=i+e,a=e/s,c=new Map(n[0]);c.set("offset",0),o.push(c);const l=new Map(n[0]);l.set("offset",Ite(a)),o.push(l);const d=n.length-1;for(let u=1;u<=d;u++){let h=new Map(n[u]);const f=h.get("offset");h.set("offset",Ite((e+f*i)/s)),o.push(h)}i=s,e=0,r="",n=o}return s4(this.element,n,this.preStyleProps,this.postStyleProps,i,e,r,!0)}}function Ite(t,n=3){const e=Math.pow(10,n-1);return Math.round(t*e)/e}function Dte(t,n,e,i,r,o,s,a,c,l,d,u,h){return{type:0,element:t,triggerName:n,isRemovalTransition:r,fromState:e,fromStyles:o,toState:i,toStyles:s,timelines:a,queriedElements:c,preStyleProps:l,postStyleProps:d,totalTime:u,errors:h}}const l4={};class Rte{constructor(n,e,i){this._triggerName=n,this.ast=e,this._stateStyles=i}match(n,e,i,r){return function CQe(t,n,e,i,r){return t.some(o=>o(n,e,i,r))}(this.ast.matchers,n,e,i,r)}buildStyles(n,e,i){let r=this._stateStyles.get("*");return void 0!==n&&(r=this._stateStyles.get(n?.toString())||r),r?r.buildStyles(e,i):new Map}build(n,e,i,r,o,s,a,c,l,d){const u=[],h=this.ast.options&&this.ast.options.params||l4,b=this.buildStyles(i,a&&a.params||l4,u),y=c&&c.params||l4,C=this.buildStyles(r,y,u),x=new Set,w=new Map,S=new Map,M="void"===r,P={params:Lte(y,h),delay:this.ast.options?.delay},R=d?[]:a4(n,e,this.ast.animation,o,s,b,C,P,l,u);let W=0;return R.forEach(se=>{W=Math.max(se.duration+se.delay,W)}),u.length?Dte(e,this._triggerName,i,r,M,b,C,[],[],w,S,W,u):(R.forEach(se=>{const ae=se.element,ce=Mc(w,ae,new Set);se.preStyleProps.forEach(Me=>ce.add(Me));const ue=Mc(S,ae,new Set);se.postStyleProps.forEach(Me=>ue.add(Me)),ae!==e&&x.add(ae)}),Dte(e,this._triggerName,i,r,M,b,C,R,[...x.values()],w,S,W))}}function Lte(t,n){const e={...n};return Object.entries(t).forEach(([i,r])=>{null!=r&&(e[i]=r)}),e}class EQe{constructor(n,e,i){this.styles=n,this.defaultParams=e,this.normalizer=i}buildStyles(n,e){const i=new Map,r=Lte(n,this.defaultParams);return this.styles.styles.forEach(o=>{"string"!=typeof o&&o.forEach((s,a)=>{s&&(s=Kx(s,r,e));const c=this.normalizer.normalizePropertyName(a,e);s=this.normalizer.normalizeStyleValue(a,c,s,e),i.set(a,s)})}),i}}class SQe{constructor(n,e,i){this.name=n,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states=new Map,e.states.forEach(r=>{this.states.set(r.name,new EQe(r.style,r.options&&r.options.params||{},i))}),Pte(this.states,"true","1"),Pte(this.states,"false","0"),e.transitions.forEach(r=>{this.transitionFactories.push(new Rte(n,r,this.states))}),this.fallbackTransition=function kQe(t,n,e){return new Rte(t,{type:ii.Transition,animation:{type:ii.Sequence,steps:[],options:null},matchers:[(s,a)=>!0],options:null,queryCount:0,depCount:0},n)}(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,e,i,r){return this.transitionFactories.find(s=>s.match(n,e,i,r))||null}matchStyles(n,e,i){return this.fallbackTransition.buildStyles(n,e,i)}}function Pte(t,n,e){t.has(n)?t.has(e)||t.set(e,t.get(n)):t.has(e)&&t.set(n,t.get(e))}const TQe=new yF;class FQe{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(n,e){const i=[],o=r4(this._driver,e,i,[]);if(i.length)throw function LVe(t){return new Ve(3503,!1)}();this._animations.set(n,o)}_buildPlayer(n,e,i){const r=n.element,o=_te(this._normalizer,n.keyframes,e,i);return this._driver.animate(r,o,n.duration,n.delay,n.easing,[],!0)}create(n,e,i={}){const r=[],o=this._animations.get(n);let s;const a=new Map;if(o?(s=a4(this._driver,e,o,ZU,mF,new Map,new Map,i,TQe,r),s.forEach(d=>{const u=Mc(a,d.element,new Map);d.postStyleProps.forEach(h=>u.set(h,null))})):(r.push(function PVe(){return new Ve(3300,!1)}()),s=[]),r.length)throw function OVe(t){return new Ve(3504,!1)}();a.forEach((d,u)=>{d.forEach((h,f)=>{d.set(f,this._driver.computeStyle(u,f,Bu))})});const l=Xf(s.map(d=>{const u=a.get(d.element);return this._buildPlayer(d,new Map,u)}));return this._playersById.set(n,l),l.onDestroy(()=>this.destroy(n)),this.players.push(l),l}destroy(n){const e=this._getPlayer(n);e.destroy(),this._playersById.delete(n);const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(n){const e=this._playersById.get(n);if(!e)throw function NVe(t){return new Ve(3301,!1)}();return e}listen(n,e,i,r){const o=jU(e,"","","");return WU(this._getPlayer(n),i,o,r),()=>{}}command(n,e,i,r){if("register"==i)return void this.register(n,r[0]);if("create"==i)return void this.create(n,e,r[0]||{});const o=this._getPlayer(n);switch(i){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(n)}}}const Ote="ng-animate-queued",d4="ng-animate-disabled",LQe=[],Nte={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},PQe={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Ol="__ng_removed";class u4{get params(){return this.options.params}constructor(n,e=""){this.namespaceId=e;const i=n&&n.hasOwnProperty("value");if(this.value=function HQe(t){return t??null}(i?n.value:n),i){const{value:o,...s}=n;this.options=s}else this.options={};this.options.params||(this.options.params={})}absorbOptions(n){const e=n.params;if(e){const i=this.options.params;Object.keys(e).forEach(r=>{null==i[r]&&(i[r]=e[r])})}}}const Xx="void",h4=new u4(Xx);class OQe{constructor(n,e,i){this.id=n,this.hostElement=e,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+n,qc(e,this._hostClassName)}listen(n,e,i,r){if(!this._triggers.has(e))throw function UVe(t,n){return new Ve(3302,!1)}();if(null==i||0==i.length)throw function HVe(t){return new Ve(3303,!1)}();if(!function VQe(t){return"start"==t||"done"==t}(i))throw function VVe(t,n){return new Ve(3400,!1)}();const o=Mc(this._elementListeners,n,[]),s={name:e,phase:i,callback:r};o.push(s);const a=Mc(this._engine.statesByElement,n,new Map);return a.has(e)||(qc(n,pF),qc(n,pF+"-"+e),a.set(e,h4)),()=>{this._engine.afterFlush(()=>{const c=o.indexOf(s);c>=0&&o.splice(c,1),this._triggers.has(e)||a.delete(e)})}}register(n,e){return!this._triggers.has(n)&&(this._triggers.set(n,e),!0)}_getTrigger(n){const e=this._triggers.get(n);if(!e)throw function QVe(t){return new Ve(3401,!1)}();return e}trigger(n,e,i,r=!0){const o=this._getTrigger(e),s=new f4(this.id,e,n);let a=this._engine.statesByElement.get(n);a||(qc(n,pF),qc(n,pF+"-"+e),this._engine.statesByElement.set(n,a=new Map));let c=a.get(e);const l=new u4(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&c&&l.absorbOptions(c.options),a.set(e,l),c||(c=h4),l.value!==Xx&&c.value===l.value){if(!function GQe(t,n){const e=Object.keys(t),i=Object.keys(n);if(e.length!=i.length)return!1;for(let r=0;r{nA(n,C),Nd(n,x)})}return}const h=Mc(this._engine.playersByElement,n,[]);h.forEach(y=>{y.namespaceId==this.id&&y.triggerName==e&&y.queued&&y.destroy()});let f=o.matchTransition(c.value,l.value,n,l.params),b=!1;if(!f){if(!r)return;f=o.fallbackTransition,b=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:e,transition:f,fromState:c,toState:l,player:s,isFallbackTransition:b}),b||(qc(n,Ote),s.onStart(()=>{p_(n,Ote)})),s.onDone(()=>{let y=this.players.indexOf(s);y>=0&&this.players.splice(y,1);const C=this._engine.playersByElement.get(n);if(C){let x=C.indexOf(s);x>=0&&C.splice(x,1)}}),this.players.push(s),h.push(s),s}deregister(n){this._triggers.delete(n),this._engine.statesByElement.forEach(e=>e.delete(n)),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(r=>r.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);const e=this._engine.playersByElement.get(n);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,e){const i=this._engine.driver.query(n,AF,!0);i.forEach(r=>{if(r[Ol])return;const o=this._engine.fetchNamespacesByElement(r);o.size?o.forEach(s=>s.triggerLeaveAnimation(r,e,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(n,e,i,r){const o=this._engine.statesByElement.get(n),s=new Map;if(o){const a=[];if(o.forEach((c,l)=>{if(s.set(l,c.value),this._triggers.has(l)){const d=this.trigger(n,l,Xx,r);d&&a.push(d)}}),a.length)return this._engine.markElementAsRemoved(this.id,n,!0,e,s),i&&Xf(a).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){const e=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(e&&i){const r=new Set;e.forEach(o=>{const s=o.name;if(r.has(s))return;r.add(s);const c=this._triggers.get(s).fallbackTransition,l=i.get(s)||h4,d=new u4(Xx),u=new f4(this.id,s,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:s,transition:c,fromState:l,toState:d,player:u,isFallbackTransition:!0})})}}removeNode(n,e){const i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,e),this.triggerLeaveAnimation(n,e,!0))return;let r=!1;if(i.totalAnimations){const o=i.players.length?i.playersByQueriedElement.get(n):[];if(o&&o.length)r=!0;else{let s=n;for(;s=s.parentNode;)if(i.statesByElement.get(s)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(n),r)i.markElementAsRemoved(this.id,n,!1,e);else{const o=n[Ol];(!o||o===Nte)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,e))}}insertNode(n,e){qc(n,this._hostClassName)}drainQueuedTransitions(n){const e=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const o=i.element,s=this._elementListeners.get(o);s&&s.forEach(a=>{if(a.name==i.triggerName){const c=jU(o,i.triggerName,i.fromState.value,i.toState.value);c._data=n,WU(i.player,a.phase,c,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):e.push(i)}),this._queue=[],e.sort((i,r)=>{const o=i.transition.ast.depCount,s=r.transition.ast.depCount;return 0==o||0==s?o-s:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(n){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}}class NQe{_onRemovalComplete(n,e){this.onRemovalComplete(n,e)}constructor(n,e,i,r){this.bodyNode=n,this.driver=e,this._normalizer=i,this.scheduler=r,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(o,s)=>{}}get queuedPlayers(){const n=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,e){const i=new OQe(n,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[n]=i}_balanceNamespaceList(n,e){const i=this._namespaceList,r=this.namespacesByHostElement;if(i.length-1>=0){let s=!1,a=this.driver.getParentElement(e);for(;a;){const c=r.get(a);if(c){const l=i.indexOf(c);i.splice(l+1,0,n),s=!0;break}a=this.driver.getParentElement(a)}s||i.unshift(n)}else i.push(n);return r.set(e,n),n}register(n,e){let i=this._namespaceLookup[n];return i||(i=this.createNamespace(n,e)),i}registerTrigger(n,e,i){let r=this._namespaceLookup[n];r&&r.register(e,i)&&this.totalAnimations++}destroy(n,e){n&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const i=this._fetchNamespace(n);this.namespacesByHostElement.delete(i.hostElement);const r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1),i.destroy(e),delete this._namespaceLookup[n]}))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){const e=new Set,i=this.statesByElement.get(n);if(i)for(let r of i.values())if(r.namespaceId){const o=this._fetchNamespace(r.namespaceId);o&&e.add(o)}return e}trigger(n,e,i,r){if(CF(e)){const o=this._fetchNamespace(n);if(o)return o.trigger(e,i,r),!0}return!1}insertNode(n,e,i,r){if(!CF(e))return;const o=e[Ol];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;const s=this.collectedLeaveElements.indexOf(e);s>=0&&this.collectedLeaveElements.splice(s,1)}if(n){const s=this._fetchNamespace(n);s&&s.insertNode(e,i)}r&&this.collectEnterElement(e)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,e){e?this.disabledNodes.has(n)||(this.disabledNodes.add(n),qc(n,d4)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),p_(n,d4))}removeNode(n,e,i){if(CF(e)){this.scheduler?.notify();const r=n?this._fetchNamespace(n):null;r?r.removeNode(e,i):this.markElementAsRemoved(n,e,!1,i);const o=this.namespacesByHostElement.get(e);o&&o.id!==n&&o.removeNode(e,i)}else this._onRemovalComplete(e,i)}markElementAsRemoved(n,e,i,r,o){this.collectedLeaveElements.push(e),e[Ol]={namespaceId:n,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:o}}listen(n,e,i,r,o){return CF(e)?this._fetchNamespace(n).listen(e,i,r,o):()=>{}}_buildInstruction(n,e,i,r,o){return n.transition.build(this.driver,n.element,n.fromState.value,n.toState.value,i,r,n.fromState.options,n.toState.options,e,o)}destroyInnerAnimations(n){let e=this.driver.query(n,AF,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(n,JU,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){const e=this.playersByElement.get(n);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){const e=this.playersByQueriedElement.get(n);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return Xf(this.players).onDone(()=>n());n()})}processLeaveNode(n){const e=n[Ol];if(e&&e.setForRemoval){if(n[Ol]=Nte,e.namespaceId){this.destroyInnerAnimations(n);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(n)}this._onRemovalComplete(n,e.setForRemoval)}n.classList?.contains(d4)&&this.markElementAsDisabled(n,!1),this.driver.query(n,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(n=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?Xf(e).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(n){throw function zVe(t){return new Ve(3402,!1)}()}_flushAnimations(n,e){const i=new yF,r=[],o=new Map,s=[],a=new Map,c=new Map,l=new Map,d=new Set;this.disabledNodes.forEach(Y=>{d.add(Y);const Ae=this.driver.query(Y,".ng-animate-queued",!0);for(let Fe=0;Fe{const Fe=ZU+y++;b.set(Ae,Fe),Y.forEach(Pe=>qc(Pe,Fe))});const C=[],x=new Set,w=new Set;for(let Y=0;Yx.add(Pe)):w.add(Ae))}const S=new Map,M=Vte(h,Array.from(x));M.forEach((Y,Ae)=>{const Fe=mF+y++;S.set(Ae,Fe),Y.forEach(Pe=>qc(Pe,Fe))}),n.push(()=>{f.forEach((Y,Ae)=>{const Fe=b.get(Ae);Y.forEach(Pe=>p_(Pe,Fe))}),M.forEach((Y,Ae)=>{const Fe=S.get(Ae);Y.forEach(Pe=>p_(Pe,Fe))}),C.forEach(Y=>{this.processLeaveNode(Y)})});const P=[],R=[];for(let Y=this._namespaceList.length-1;Y>=0;Y--)this._namespaceList[Y].drainQueuedTransitions(e).forEach(Fe=>{const Pe=Fe.player,nt=Fe.element;if(P.push(Pe),this.collectedEnterElements.length){const hn=nt[Ol];if(hn&&hn.setForMove){if(hn.previousTriggersValues&&hn.previousTriggersValues.has(Fe.triggerName)){const Bn=hn.previousTriggersValues.get(Fe.triggerName),Gn=this.statesByElement.get(Fe.element);if(Gn&&Gn.has(Fe.triggerName)){const In=Gn.get(Fe.triggerName);In.value=Bn,Gn.set(Fe.triggerName,In)}}return void Pe.destroy()}}const gt=!u||!this.driver.containsElement(u,nt),Rt=S.get(nt),un=b.get(nt),rn=this._buildInstruction(Fe,i,un,Rt,gt);if(rn.errors&&rn.errors.length)return void R.push(rn);if(gt)return Pe.onStart(()=>nA(nt,rn.fromStyles)),Pe.onDestroy(()=>Nd(nt,rn.toStyles)),void r.push(Pe);if(Fe.isFallbackTransition)return Pe.onStart(()=>nA(nt,rn.fromStyles)),Pe.onDestroy(()=>Nd(nt,rn.toStyles)),void r.push(Pe);const zn=[];rn.timelines.forEach(hn=>{hn.stretchStartingKeyframe=!0,this.disabledNodes.has(hn.element)||zn.push(hn)}),rn.timelines=zn,i.append(nt,rn.timelines),s.push({instruction:rn,player:Pe,element:nt}),rn.queriedElements.forEach(hn=>Mc(a,hn,[]).push(Pe)),rn.preStyleProps.forEach((hn,Bn)=>{if(hn.size){let Gn=c.get(Bn);Gn||c.set(Bn,Gn=new Set),hn.forEach((In,Pi)=>Gn.add(Pi))}}),rn.postStyleProps.forEach((hn,Bn)=>{let Gn=l.get(Bn);Gn||l.set(Bn,Gn=new Set),hn.forEach((In,Pi)=>Gn.add(Pi))})});if(R.length){const Y=[];R.forEach(Ae=>{Y.push(function GVe(t,n){return new Ve(3505,!1)}())}),P.forEach(Ae=>Ae.destroy()),this.reportError(Y)}const W=new Map,se=new Map;s.forEach(Y=>{const Ae=Y.element;i.has(Ae)&&(se.set(Ae,Ae),this._beforeAnimationBuild(Y.player.namespaceId,Y.instruction,W))}),r.forEach(Y=>{const Ae=Y.element;this._getPreviousPlayers(Ae,!1,Y.namespaceId,Y.triggerName,null).forEach(Pe=>{Mc(W,Ae,[]).push(Pe),Pe.destroy()})});const ae=C.filter(Y=>zte(Y,c,l)),ce=new Map;Hte(ce,this.driver,w,l,Bu).forEach(Y=>{zte(Y,c,l)&&ae.push(Y)});const Me=new Map;f.forEach((Y,Ae)=>{Hte(Me,this.driver,new Set(Y),c,"!")}),ae.forEach(Y=>{const Ae=ce.get(Y),Fe=Me.get(Y);ce.set(Y,new Map([...Ae?.entries()??[],...Fe?.entries()??[]]))});const ve=[],$=[],me={};s.forEach(Y=>{const{element:Ae,player:Fe,instruction:Pe}=Y;if(i.has(Ae)){if(d.has(Ae))return Fe.onDestroy(()=>Nd(Ae,Pe.toStyles)),Fe.disabled=!0,Fe.overrideTotalTime(Pe.totalTime),void r.push(Fe);let nt=me;if(se.size>1){let Rt=Ae;const un=[];for(;Rt=Rt.parentNode;){const rn=se.get(Rt);if(rn){nt=rn;break}un.push(Rt)}un.forEach(rn=>se.set(rn,nt))}const gt=this._buildAnimation(Fe.namespaceId,Pe,W,o,Me,ce);if(Fe.setRealPlayer(gt),nt===me)ve.push(Fe);else{const Rt=this.playersByElement.get(nt);Rt&&Rt.length&&(Fe.parentPlayer=Xf(Rt)),r.push(Fe)}}else nA(Ae,Pe.fromStyles),Fe.onDestroy(()=>Nd(Ae,Pe.toStyles)),$.push(Fe),d.has(Ae)&&r.push(Fe)}),$.forEach(Y=>{const Ae=o.get(Y.element);if(Ae&&Ae.length){const Fe=Xf(Ae);Y.setRealPlayer(Fe)}}),r.forEach(Y=>{Y.parentPlayer?Y.syncPlayerEvents(Y.parentPlayer):Y.destroy()});for(let Y=0;Y!gt.destroyed);nt.length?QQe(this,Ae,nt):this.processLeaveNode(Ae)}return C.length=0,ve.forEach(Y=>{this.players.push(Y),Y.onDone(()=>{Y.destroy();const Ae=this.players.indexOf(Y);this.players.splice(Ae,1)}),Y.play()}),ve}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,e,i,r,o){let s=[];if(e){const a=this.playersByQueriedElement.get(n);a&&(s=a)}else{const a=this.playersByElement.get(n);if(a){const c=!o||o==Xx;a.forEach(l=>{l.queued||!c&&l.triggerName!=r||s.push(l)})}}return(i||r)&&(s=s.filter(a=>!(i&&i!=a.namespaceId||r&&r!=a.triggerName))),s}_beforeAnimationBuild(n,e,i){const o=e.element,s=e.isRemovalTransition?void 0:n,a=e.isRemovalTransition?void 0:e.triggerName;for(const c of e.timelines){const l=c.element,d=l!==o,u=Mc(i,l,[]);this._getPreviousPlayers(l,d,s,a,e.toState).forEach(f=>{const b=f.getRealPlayer();b.beforeDestroy&&b.beforeDestroy(),f.destroy(),u.push(f)})}nA(o,e.fromStyles)}_buildAnimation(n,e,i,r,o,s){const a=e.triggerName,c=e.element,l=[],d=new Set,u=new Set,h=e.timelines.map(b=>{const y=b.element;d.add(y);const C=y[Ol];if(C&&C.removedBeforeQueried)return new Dy(b.duration,b.delay);const x=y!==c,w=function zQe(t){const n=[];return Qte(t,n),n}((i.get(y)||LQe).map(W=>W.getRealPlayer())).filter(W=>!!W.element&&W.element===y),S=o.get(y),M=s.get(y),P=_te(this._normalizer,b.keyframes,S,M),R=this._buildPlayer(b,P,w);if(b.subTimeline&&r&&u.add(y),x){const W=new f4(n,a,y);W.setRealPlayer(R),l.push(W)}return R});l.forEach(b=>{Mc(this.playersByQueriedElement,b.element,[]).push(b),b.onDone(()=>function UQe(t,n,e){let i=t.get(n);if(i){if(i.length){const r=i.indexOf(e);i.splice(r,1)}0==i.length&&t.delete(n)}return i}(this.playersByQueriedElement,b.element,b))}),d.forEach(b=>qc(b,Ete));const f=Xf(h);return f.onDestroy(()=>{d.forEach(b=>p_(b,Ete)),Nd(c,e.toStyles)}),u.forEach(b=>{Mc(r,b,[]).push(f)}),f}_buildPlayer(n,e,i){return e.length>0?this.driver.animate(n.element,e,n.duration,n.delay,n.easing,i):new Dy(n.duration,n.delay)}}class f4{constructor(n,e,i){this.namespaceId=n,this.triggerName=e,this.element=i,this._player=new Dy,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(n){this._containsRealPlayer||(this._player=n,this._queuedCallbacks.forEach((e,i)=>{e.forEach(r=>WU(n,i,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(n.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(n){this.totalTime=n}syncPlayerEvents(n){const e=this._player;e.triggerCallback&&n.onStart(()=>e.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,e){Mc(this._queuedCallbacks,n,[]).push(e)}onDone(n){this.queued&&this._queueEvent("done",n),this._player.onDone(n)}onStart(n){this.queued&&this._queueEvent("start",n),this._player.onStart(n)}onDestroy(n){this.queued&&this._queueEvent("destroy",n),this._player.onDestroy(n)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(n){this.queued||this._player.setPosition(n)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(n){const e=this._player;e.triggerCallback&&e.triggerCallback(n)}}function CF(t){return t&&1===t.nodeType}function Ute(t,n){const e=t.style.display;return t.style.display=n??"none",e}function Hte(t,n,e,i,r){const o=[];e.forEach(c=>o.push(Ute(c)));const s=[];i.forEach((c,l)=>{const d=new Map;c.forEach(u=>{const h=n.computeStyle(l,u,r);d.set(u,h),(!h||0==h.length)&&(l[Ol]=PQe,s.push(l))}),t.set(l,d)});let a=0;return e.forEach(c=>Ute(c,o[a++])),s}function Vte(t,n){const e=new Map;if(t.forEach(a=>e.set(a,[])),0==n.length)return e;const r=new Set(n),o=new Map;function s(a){if(!a)return 1;let c=o.get(a);if(c)return c;const l=a.parentNode;return c=e.has(l)?l:r.has(l)?1:s(l),o.set(a,c),c}return n.forEach(a=>{const c=s(a);1!==c&&e.get(c).push(a)}),e}function qc(t,n){t.classList?.add(n)}function p_(t,n){t.classList?.remove(n)}function QQe(t,n,e){Xf(e).onDone(()=>t.processLeaveNode(n))}function Qte(t,n){for(let e=0;er.add(o)):n.set(t,i),e.delete(t),!0}class Yx{constructor(n,e,i,r){this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(o,s)=>{},this._transitionEngine=new NQe(n.body,e,i,r),this._timelineEngine=new FQe(n.body,e,i),this._transitionEngine.onRemovalComplete=(o,s)=>this.onRemovalComplete(o,s)}registerTrigger(n,e,i,r,o){const s=n+"-"+r;let a=this._triggerCache[s];if(!a){const c=[],d=r4(this._driver,o,c,[]);if(c.length)throw function DVe(t,n){return new Ve(3404,!1)}();a=function MQe(t,n,e){return new SQe(t,n,e)}(r,d,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,r,a)}register(n,e){this._transitionEngine.register(n,e)}destroy(n,e){this._transitionEngine.destroy(n,e)}onInsert(n,e,i,r){this._transitionEngine.insertNode(n,e,i,r)}onRemove(n,e,i){this._transitionEngine.removeNode(n,e,i)}disableAnimations(n,e){this._transitionEngine.markElementAsDisabled(n,e)}process(n,e,i,r){if("@"==i.charAt(0)){const[o,s]=vte(i);this._timelineEngine.command(o,e,s,r)}else this._transitionEngine.trigger(n,e,i,r)}listen(n,e,i,r,o){if("@"==i.charAt(0)){const[s,a]=vte(i);return this._timelineEngine.listen(s,e,a,o)}return this._transitionEngine.listen(n,e,i,r,o)}flush(n=-1){this._transitionEngine.flush(n)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(n){this._transitionEngine.afterFlushAnimationsDone(n)}}class qx{static{this.initialStylesByElement=new WeakMap}constructor(n,e,i){this._element=n,this._startStyles=e,this._endStyles=i,this._state=0;let r=qx.initialStylesByElement.get(n);r||qx.initialStylesByElement.set(n,r=new Map),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&Nd(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Nd(this._element,this._initialStyles),this._endStyles&&(Nd(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(qx.initialStylesByElement.delete(this._element),this._startStyles&&(nA(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(nA(this._element,this._endStyles),this._endStyles=null),Nd(this._element,this._initialStyles),this._state=3)}}const $te="@.disabled";class jte{constructor(n,e,i,r){this.namespaceId=n,this.delegate=e,this.engine=i,this._onDestroy=r,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(n){this.delegate.destroyNode?.(n)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(n,e){return this.delegate.createElement(n,e)}createComment(n){return this.delegate.createComment(n)}createText(n){return this.delegate.createText(n)}appendChild(n,e){this.delegate.appendChild(n,e),this.engine.onInsert(this.namespaceId,e,n,!1)}insertBefore(n,e,i,r=!0){this.delegate.insertBefore(n,e,i),this.engine.onInsert(this.namespaceId,e,n,r)}removeChild(n,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate)}selectRootElement(n,e){return this.delegate.selectRootElement(n,e)}parentNode(n){return this.delegate.parentNode(n)}nextSibling(n){return this.delegate.nextSibling(n)}setAttribute(n,e,i,r){this.delegate.setAttribute(n,e,i,r)}removeAttribute(n,e,i){this.delegate.removeAttribute(n,e,i)}addClass(n,e){this.delegate.addClass(n,e)}removeClass(n,e){this.delegate.removeClass(n,e)}setStyle(n,e,i,r){this.delegate.setStyle(n,e,i,r)}removeStyle(n,e,i){this.delegate.removeStyle(n,e,i)}setProperty(n,e,i){"@"==e.charAt(0)&&e==$te?this.disableAnimations(n,!!i):this.delegate.setProperty(n,e,i)}setValue(n,e){this.delegate.setValue(n,e)}listen(n,e,i){return this.delegate.listen(n,e,i)}disableAnimations(n,e){this.engine.disableAnimations(n,e)}}class jQe extends jte{constructor(n,e,i,r,o){super(e,i,r,o),this.factory=n,this.namespaceId=e}setProperty(n,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==$te?this.disableAnimations(n,i=void 0===i||!!i):this.engine.process(this.namespaceId,n,e.slice(1),i):this.delegate.setProperty(n,e,i)}listen(n,e,i){if("@"==e.charAt(0)){const r=function KQe(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(n);let o=e.slice(1),s="";return"@"!=o.charAt(0)&&([o,s]=function XQe(t){const n=t.indexOf(".");return[t.substring(0,n),t.slice(n+1)]}(o)),this.engine.listen(this.namespaceId,r,o,s,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(n,e,i)}}class YQe{constructor(n,e,i){this.delegate=n,this.engine=e,this._zone=i,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,e.onRemovalComplete=(r,o)=>{const s=o?.parentNode(r);s&&o.removeChild(s,r)}}createRenderer(n,e){const r=this.delegate.createRenderer(n,e);if(!n||!e?.data?.animation){const l=this._rendererCache;let d=l.get(r);return d||(d=new jte("",r,this.engine,()=>l.delete(r)),l.set(r,d)),d}const o=e.id,s=e.id+"-"+this._currentId;this._currentId++,this.engine.register(s,n);const a=l=>{Array.isArray(l)?l.forEach(a):this.engine.registerTrigger(o,s,n,l.name,l)};return e.data.animation.forEach(a),new jQe(this,s,r,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(n,e,i){if(n>=0&&ne(i));const r=this._animationCallbacksBuffer;0==r.length&&queueMicrotask(()=>{this._zone.run(()=>{r.forEach(o=>{const[s,a]=o;s(a)}),this._animationCallbacksBuffer=[]})}),r.push([e,i])}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}let qQe=(()=>{class t extends Yx{constructor(e,i,r){super(e,i,r,yt(HC,{optional:!0}))}ngOnDestroy(){this.flush()}static{this.\u0275fac=function(i){return new(i||t)(ee(Di),ee(YU),ee(qU))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const Kte=[{provide:qU,useFactory:function ZQe(){return new kte}},{provide:Yx,useClass:qQe},{provide:OI,useFactory:function JQe(t,n,e){return new YQe(t,n,e)},deps:[_2,Yx,mn]}],Xte=[{provide:YU,useClass:XU},{provide:jo,useValue:"NoopAnimations"},...Kte];let p4=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:Xte,imports:[B6]})}}return t})();const Yte=["*"],Zte=["unscopedContent"],tze=["text"],nze=[[["","matListItemAvatar",""],["","matListItemIcon",""]],[["","matListItemTitle",""]],[["","matListItemLine",""]],"*",[["","matListItemMeta",""]],[["mat-divider"]]],ize=["[matListItemAvatar],[matListItemIcon]","[matListItemTitle]","[matListItemLine]","*","[matListItemMeta]","mat-divider"],Jte=new He("ListOption");let ene=(()=>{class t{constructor(e){this._elementRef=e}static{this.\u0275fac=function(i){return new(i||t)(N(Mn))}}static{this.\u0275dir=Et({type:t,selectors:[["","matListItemTitle",""]],hostAttrs:[1,"mat-mdc-list-item-title","mdc-list-item__primary-text"],standalone:!0})}}return t})(),tne=(()=>{class t{constructor(e){this._elementRef=e}static{this.\u0275fac=function(i){return new(i||t)(N(Mn))}}static{this.\u0275dir=Et({type:t,selectors:[["","matListItemLine",""]],hostAttrs:[1,"mat-mdc-list-item-line","mdc-list-item__secondary-text"],standalone:!0})}}return t})(),yze=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t,selectors:[["","matListItemMeta",""]],hostAttrs:[1,"mat-mdc-list-item-meta","mdc-list-item__end"],standalone:!0})}}return t})(),nne=(()=>{class t{constructor(e){this._listOption=e}_isAlignedAtStart(){return!this._listOption||"after"===this._listOption?._getTogglePosition()}static{this.\u0275fac=function(i){return new(i||t)(N(Jte,8))}}static{this.\u0275dir=Et({type:t,hostVars:4,hostBindings:function(i,r){2&i&&sn("mdc-list-item__start",r._isAlignedAtStart())("mdc-list-item__end",!r._isAlignedAtStart())},standalone:!0})}}return t})(),wze=(()=>{class t extends nne{static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=pr(t)))(r||t)}})()}static{this.\u0275dir=Et({type:t,selectors:[["","matListItemAvatar",""]],hostAttrs:[1,"mat-mdc-list-item-avatar"],standalone:!0,features:[ai]})}}return t})(),xze=(()=>{class t extends nne{static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=pr(t)))(r||t)}})()}static{this.\u0275dir=Et({type:t,selectors:[["","matListItemIcon",""]],hostAttrs:[1,"mat-mdc-list-item-icon"],standalone:!0,features:[ai]})}}return t})();const Cze=new He("MAT_LIST_CONFIG");let A_=(()=>{class t{constructor(){this._isNonInteractive=!0,this._disableRipple=!1,this._disabled=!1,this._defaultOptions=yt(Cze,{optional:!0})}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=Ns(e)}get disabled(){return this._disabled}set disabled(e){this._disabled=Ns(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t,hostVars:1,hostBindings:function(i,r){2&i&&ni("aria-disabled",r.disabled)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},standalone:!0})}}return t})(),A4=(()=>{class t{set lines(e){this._explicitLines=hf(e,null),this._updateItemLines(!1)}get disableRipple(){return this.disabled||this._disableRipple||this._noopAnimations||!!this._listBase?.disableRipple}set disableRipple(e){this._disableRipple=Ns(e)}get disabled(){return this._disabled||!!this._listBase?.disabled}set disabled(e){this._disabled=Ns(e)}get rippleDisabled(){return this.disableRipple||!!this.rippleConfig.disabled}constructor(e,i,r,o,s,a){this._elementRef=e,this._ngZone=i,this._listBase=r,this._platform=o,this._explicitLines=null,this._disableRipple=!1,this._disabled=!1,this._subscriptions=new zt,this._rippleRenderer=null,this._hasUnscopedTextContent=!1,this.rippleConfig=s||{},this._hostElement=this._elementRef.nativeElement,this._isButtonElement="button"===this._hostElement.nodeName.toLowerCase(),this._noopAnimations="NoopAnimations"===a,r&&!r._isNonInteractive&&this._initInteractiveListItem(),this._isButtonElement&&!this._hostElement.hasAttribute("type")&&this._hostElement.setAttribute("type","button")}ngAfterViewInit(){this._monitorProjectedLinesAndTitle(),this._updateItemLines(!0)}ngOnDestroy(){this._subscriptions.unsubscribe(),null!==this._rippleRenderer&&this._rippleRenderer._removeTriggerEvents()}_hasIconOrAvatar(){return!(!this._avatars.length&&!this._icons.length)}_initInteractiveListItem(){this._hostElement.classList.add("mat-mdc-list-item-interactive"),this._rippleRenderer=new Iy(this,this._ngZone,this._hostElement,this._platform),this._rippleRenderer.setupTriggerEvents(this._hostElement)}_monitorProjectedLinesAndTitle(){this._ngZone.runOutsideAngular(()=>{this._subscriptions.add(pc(this._lines.changes,this._titles.changes).subscribe(()=>this._updateItemLines(!1)))})}_updateItemLines(e){if(!this._lines||!this._titles||!this._unscopedContent)return;e&&this._checkDomForUnscopedTextContent();const i=this._explicitLines??this._inferLinesFromContent(),r=this._unscopedContent.nativeElement;if(this._hostElement.classList.toggle("mat-mdc-list-item-single-line",i<=1),this._hostElement.classList.toggle("mdc-list-item--with-one-line",i<=1),this._hostElement.classList.toggle("mdc-list-item--with-two-lines",2===i),this._hostElement.classList.toggle("mdc-list-item--with-three-lines",3===i),this._hasUnscopedTextContent){const o=0===this._titles.length&&1===i;r.classList.toggle("mdc-list-item__primary-text",o),r.classList.toggle("mdc-list-item__secondary-text",!o)}else r.classList.remove("mdc-list-item__primary-text"),r.classList.remove("mdc-list-item__secondary-text")}_inferLinesFromContent(){let e=this._titles.length+this._lines.length;return this._hasUnscopedTextContent&&(e+=1),e}_checkDomForUnscopedTextContent(){this._hasUnscopedTextContent=Array.from(this._unscopedContent.nativeElement.childNodes).filter(e=>e.nodeType!==e.COMMENT_NODE).some(e=>!(!e.textContent||!e.textContent.trim()))}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(mn),N(A_,8),N(Rr),N($g,8),N(jo,8))}}static{this.\u0275dir=Et({type:t,contentQueries:function(i,r,o){if(1&i&&(kr(o,wze,4),kr(o,xze,4)),2&i){let s;ln(s=dn())&&(r._avatars=s),ln(s=dn())&&(r._icons=s)}},hostVars:4,hostBindings:function(i,r){2&i&&(ni("aria-disabled",r.disabled)("disabled",r._isButtonElement&&r.disabled||null),sn("mdc-list-item--disabled",r.disabled))},inputs:{lines:"lines",disableRipple:"disableRipple",disabled:"disabled"},standalone:!0})}}return t})(),ine=(()=>{class t extends A_{static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=pr(t)))(r||t)}})()}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-list"]],hostAttrs:[1,"mat-mdc-list","mat-mdc-list-base","mdc-list"],exportAs:["matList"],standalone:!0,features:[Zn([{provide:A_,useExisting:t}]),ai,br],ngContentSelectors:Yte,decls:1,vars:0,template:function(i,r){1&i&&(so(),Rn(0))},styles:['@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-list-divider::after{content:"";display:block;border-bottom-width:1px;border-bottom-style:solid}}.mdc-list{margin:0;padding:8px 0;list-style-type:none}.mdc-list:focus{outline:none}.mdc-list-item__wrapper{display:block}.mdc-list-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;align-items:stretch;cursor:pointer}.mdc-list-item:focus{outline:none}.mdc-list-item.mdc-list-item--with-one-line{height:48px}.mdc-list-item.mdc-list-item--with-two-lines{height:64px}.mdc-list-item.mdc-list-item--with-three-lines{height:88px}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__start{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--disabled,.mdc-list-item.mdc-list-item--non-interactive{cursor:auto}.mdc-list-item:not(.mdc-list-item--selected):focus::before,.mdc-list-item.mdc-ripple-upgraded--background-focused::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-list-item:not(.mdc-list-item--selected):focus::before,.mdc-list-item.mdc-ripple-upgraded--background-focused::before{border-color:CanvasText}}.mdc-list-item.mdc-list-item--selected::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:3px double rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-list-item.mdc-list-item--selected::before{border-color:CanvasText}}.mdc-list-item.mdc-list-item--selected:focus::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:3px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-list-item.mdc-list-item--selected:focus::before{border-color:CanvasText}}a.mdc-list-item{color:inherit;text-decoration:none}.mdc-list-item__start{fill:currentColor;flex-shrink:0;pointer-events:none}.mdc-list-item__end{flex-shrink:0;pointer-events:none}.mdc-list-item__content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;align-self:center;flex:1;pointer-events:none}.mdc-list-item--with-two-lines .mdc-list-item__content,.mdc-list-item--with-three-lines .mdc-list-item__content{align-self:stretch}.mdc-list-item__content[for]{pointer-events:none}.mdc-list-item__primary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-three-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item__secondary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;line-height:normal}.mdc-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list-item--with-three-lines .mdc-list-item__secondary-text{white-space:normal;line-height:20px}.mdc-list-item--with-overline .mdc-list-item__secondary-text{white-space:nowrap;line-height:auto}.mdc-list-item__overline-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:24px;content:"";vertical-align:0}.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-three-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-three-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-three-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-avatar.mdc-list-item,.mdc-list-item--with-leading-avatar.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-avatar .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-avatar .mdc-list-item__start,.mdc-list-item--with-leading-avatar .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-avatar .mdc-list-item__start{border-radius:50%}.mdc-list-item--with-leading-icon.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-icon.mdc-list-item,.mdc-list-item--with-leading-icon.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-icon .mdc-list-item__start{margin-left:16px;margin-right:32px}[dir=rtl] .mdc-list-item--with-leading-icon .mdc-list-item__start,.mdc-list-item--with-leading-icon .mdc-list-item__start[dir=rtl]{margin-left:32px;margin-right:16px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-thumbnail.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-thumbnail.mdc-list-item,.mdc-list-item--with-leading-thumbnail.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-thumbnail .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-thumbnail .mdc-list-item__start,.mdc-list-item--with-leading-thumbnail .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-image.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-image.mdc-list-item,.mdc-list-item--with-leading-image.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-image .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-image .mdc-list-item__start,.mdc-list-item--with-leading-image .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-image.mdc-list-item--with-one-line{height:72px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-leading-video.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-video.mdc-list-item,.mdc-list-item--with-leading-video.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-video .mdc-list-item__start{margin-left:0;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-video .mdc-list-item__start,.mdc-list-item--with-leading-video .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:0}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-video.mdc-list-item--with-one-line{height:72px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-checkbox.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-checkbox.mdc-list-item,.mdc-list-item--with-leading-checkbox.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-checkbox .mdc-list-item__start{margin-left:8px;margin-right:24px}[dir=rtl] .mdc-list-item--with-leading-checkbox .mdc-list-item__start,.mdc-list-item--with-leading-checkbox .mdc-list-item__start[dir=rtl]{margin-left:24px;margin-right:8px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-radio.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-radio.mdc-list-item,.mdc-list-item--with-leading-radio.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-radio .mdc-list-item__start{margin-left:8px;margin-right:24px}[dir=rtl] .mdc-list-item--with-leading-radio .mdc-list-item__start,.mdc-list-item--with-leading-radio .mdc-list-item__start[dir=rtl]{margin-left:24px;margin-right:8px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-switch.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-switch.mdc-list-item,.mdc-list-item--with-leading-switch.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-switch .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-switch .mdc-list-item__start,.mdc-list-item--with-leading-switch .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-switch.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-trailing-icon.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-icon.mdc-list-item,.mdc-list-item--with-trailing-icon.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-icon .mdc-list-item__end{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-icon .mdc-list-item__end,.mdc-list-item--with-trailing-icon .mdc-list-item__end[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end{align-self:flex-start;margin-top:0}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:0}.mdc-list-item--with-trailing-meta.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-meta.mdc-list-item,.mdc-list-item--with-trailing-meta.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-meta .mdc-list-item__end{margin-left:28px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-trailing-meta .mdc-list-item__end[dir=rtl]{margin-left:16px;margin-right:28px}.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-trailing-meta .mdc-list-item__end{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family);font-size:var(--mdc-typography-caption-font-size);line-height:var(--mdc-typography-caption-line-height);font-weight:var(--mdc-typography-caption-font-weight);letter-spacing:var(--mdc-typography-caption-letter-spacing);text-decoration:var(--mdc-typography-caption-text-decoration);text-transform:var(--mdc-typography-caption-text-transform)}.mdc-list-item--with-trailing-checkbox.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item,.mdc-list-item--with-trailing-checkbox.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-checkbox .mdc-list-item__end{margin-left:24px;margin-right:8px}[dir=rtl] .mdc-list-item--with-trailing-checkbox .mdc-list-item__end,.mdc-list-item--with-trailing-checkbox .mdc-list-item__end[dir=rtl]{margin-left:8px;margin-right:24px}.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:8px}.mdc-list-item--with-trailing-radio.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item,.mdc-list-item--with-trailing-radio.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-radio .mdc-list-item__end{margin-left:24px;margin-right:8px}[dir=rtl] .mdc-list-item--with-trailing-radio .mdc-list-item__end,.mdc-list-item--with-trailing-radio .mdc-list-item__end[dir=rtl]{margin-left:8px;margin-right:24px}.mdc-list-item--with-trailing-radio.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:8px}.mdc-list-item--with-trailing-switch.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-switch.mdc-list-item,.mdc-list-item--with-trailing-switch.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-switch .mdc-list-item__end{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-switch .mdc-list-item__end,.mdc-list-item--with-trailing-switch .mdc-list-item__end[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-trailing-switch.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:16px}.mdc-list-item--with-overline.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-overline.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list-item--with-overline.mdc-list-item--with-three-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-overline.mdc-list-item--with-three-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list-item{padding-left:16px;padding-right:16px}[dir=rtl] .mdc-list-item,.mdc-list-item[dir=rtl]{padding-left:16px;padding-right:16px}.mdc-list-group .mdc-deprecated-list{padding:0}.mdc-list-group__subheader{margin:calc((3rem - 1.5rem)/2) 16px}.mdc-list-divider{padding:0;background-clip:content-box}.mdc-list-divider.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-text.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-icon.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-image.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-switch.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-radio.mdc-list-divider--with-leading-inset{padding-left:16px;padding-right:auto}[dir=rtl] .mdc-list-divider.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-text.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-icon.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-image.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-avatar.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-switch.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-radio.mdc-list-divider--with-leading-inset,.mdc-list-divider.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-text.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-icon.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-image.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-switch.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-radio.mdc-list-divider--with-leading-inset[dir=rtl]{padding-left:auto;padding-right:16px}.mdc-list-divider.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-text.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-icon.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-image.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-switch.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-radio.mdc-list-divider--with-trailing-inset{padding-left:auto;padding-right:16px}[dir=rtl] .mdc-list-divider.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-text.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-icon.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-image.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-avatar.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-switch.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-radio.mdc-list-divider--with-trailing-inset,.mdc-list-divider.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-text.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-icon.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-image.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-switch.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-radio.mdc-list-divider--with-trailing-inset[dir=rtl]{padding-left:16px;padding-right:auto}.mdc-list-divider--with-leading-video.mdc-list-divider--with-leading-inset{padding-left:0px;padding-right:auto}[dir=rtl] .mdc-list-divider--with-leading-video.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-video.mdc-list-divider--with-leading-inset[dir=rtl]{padding-left:auto;padding-right:0px}[dir=rtl] .mdc-list-divider,.mdc-list-divider[dir=rtl]{padding:0}.mdc-list-item{background-color:var(--mdc-list-list-item-container-color)}.mdc-list-item.mdc-list-item--selected{background-color:var(--mdc-list-list-item-selected-container-color)}.mdc-list-item--with-one-line{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-one-line.mdc-list-item--with-leading-avatar,.mdc-list-item--with-one-line.mdc-list-item--with-leading-icon,.mdc-list-item--with-one-line.mdc-list-item--with-leading-thumbnail,.mdc-list-item--with-one-line.mdc-list-item--with-leading-checkbox,.mdc-list-item--with-one-line.mdc-list-item--with-leading-radio,.mdc-list-item--with-one-line.mdc-list-item--with-leading-switch{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-one-line.mdc-list-item--with-leading-image,.mdc-list-item--with-one-line.mdc-list-item--with-leading-video{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-two-lines{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-two-lines.mdc-list-item--with-leading-avatar,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-icon,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-thumbnail,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-checkbox,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-radio,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-switch,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-image,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-video{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-three-lines{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item.mdc-list-item--with-one-line{height:var(--mdc-list-list-item-one-line-container-height)}.mdc-list-item.mdc-list-item--with-two-lines{height:var(--mdc-list-list-item-two-line-container-height)}.mdc-list-item.mdc-list-item--with-three-lines{height:var(--mdc-list-list-item-three-line-container-height)}.mdc-list-item__primary-text{color:var(--mdc-list-list-item-label-text-color)}.mdc-list-item__primary-text{font-family:var(--mdc-list-list-item-label-text-font);line-height:var(--mdc-list-list-item-label-text-line-height);font-size:var(--mdc-list-list-item-label-text-size);font-weight:var(--mdc-list-list-item-label-text-weight);letter-spacing:var(--mdc-list-list-item-label-text-tracking)}.mdc-list-item__secondary-text{color:var(--mdc-list-list-item-supporting-text-color)}.mdc-list-item__secondary-text{font-family:var(--mdc-list-list-item-supporting-text-font);line-height:var(--mdc-list-list-item-supporting-text-line-height);font-size:var(--mdc-list-list-item-supporting-text-size);font-weight:var(--mdc-list-list-item-supporting-text-weight);letter-spacing:var(--mdc-list-list-item-supporting-text-tracking)}.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mdc-list-list-item-leading-icon-color)}.mdc-list-item--with-leading-icon .mdc-list-item__start{width:var(--mdc-list-list-item-leading-icon-size);height:var(--mdc-list-list-item-leading-icon-size)}.mdc-list-item--with-leading-icon .mdc-list-item__start>i{font-size:var(--mdc-list-list-item-leading-icon-size)}.mdc-list-item--with-leading-icon .mdc-list-item__start .mdc-list-item__icon{font-size:var(--mdc-list-list-item-leading-icon-size);width:var(--mdc-list-list-item-leading-icon-size);height:var(--mdc-list-list-item-leading-icon-size)}.mdc-list-item--with-leading-icon .mdc-list-item__start .mdc-list-item__icon,.mdc-list-item--with-leading-icon .mdc-list-item__start .mdc-list-item__icon>.materialdesignWizIconSvgsSvgIcon{display:block}.mdc-list-item--with-leading-avatar .mdc-list-item__start{width:var(--mdc-list-list-item-leading-avatar-size);height:var(--mdc-list-list-item-leading-avatar-size)}.mdc-list-item.mdc-list-item--with-trailing-meta .mdc-list-item__end{color:var(--mdc-list-list-item-trailing-supporting-text-color)}.mdc-list-item--with-trailing-meta .mdc-list-item__end{font-family:var(--mdc-list-list-item-trailing-supporting-text-font);line-height:var(--mdc-list-list-item-trailing-supporting-text-line-height);font-size:var(--mdc-list-list-item-trailing-supporting-text-size);font-weight:var(--mdc-list-list-item-trailing-supporting-text-weight);letter-spacing:var(--mdc-list-list-item-trailing-supporting-text-tracking)}.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-trailing-icon-color)}.mdc-list-item--with-trailing-icon .mdc-list-item__end{width:var(--mdc-list-list-item-trailing-icon-size);height:var(--mdc-list-list-item-trailing-icon-size)}.mdc-list-item--with-trailing-icon .mdc-list-item__end>i{font-size:var(--mdc-list-list-item-trailing-icon-size)}.mdc-list-item--with-trailing-icon .mdc-list-item__end .mdc-list-item__icon{font-size:var(--mdc-list-list-item-trailing-icon-size);width:var(--mdc-list-list-item-trailing-icon-size);height:var(--mdc-list-list-item-trailing-icon-size)}.mdc-list-item--with-trailing-icon .mdc-list-item__end .mdc-list-item__icon,.mdc-list-item--with-trailing-icon .mdc-list-item__end .mdc-list-item__icon>.materialdesignWizIconSvgsSvgIcon{display:block}.mdc-list-item--selected.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-selected-trailing-icon-color)}.mdc-list-item--disabled .mdc-list-item__start,.mdc-list-item--disabled .mdc-list-item__content,.mdc-list-item--disabled .mdc-list-item__end{opacity:1}.mdc-list-item--disabled .mdc-list-item__primary-text,.mdc-list-item--disabled .mdc-list-item__secondary-text,.mdc-list-item--disabled .mdc-list-item__overline-text{opacity:var(--mdc-list-list-item-disabled-label-text-opacity)}.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mdc-list-list-item-disabled-leading-icon-color)}.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start{opacity:var(--mdc-list-list-item-disabled-leading-icon-opacity)}.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-disabled-trailing-icon-color)}.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end{opacity:var(--mdc-list-list-item-disabled-trailing-icon-opacity)}.mdc-list-item:hover .mdc-list-item__primary-text{color:var(--mdc-list-list-item-hover-label-text-color)}.mdc-list-item--with-leading-icon:hover .mdc-list-item__start{color:var(--mdc-list-list-item-hover-leading-icon-color)}.mdc-list-item--with-trailing-icon:hover .mdc-list-item__end{color:var(--mdc-list-list-item-hover-trailing-icon-color)}.mdc-list-item:focus .mdc-list-item__primary-text{color:var(--mdc-list-list-item-focus-label-text-color)}.mdc-list-item.mdc-list-item--disabled .mdc-list-item__primary-text{color:var(--mdc-list-list-item-disabled-label-text-color)}.mdc-list-item:hover::before{background-color:var(--mdc-list-list-item-hover-state-layer-color);opacity:var(--mdc-list-list-item-hover-state-layer-opacity)}.mdc-list-item.mdc-list-item--disabled::before{background-color:var(--mdc-list-list-item-disabled-state-layer-color);opacity:var(--mdc-list-list-item-disabled-state-layer-opacity)}.mdc-list-item:focus::before{background-color:var(--mdc-list-list-item-focus-state-layer-color);opacity:var(--mdc-list-list-item-focus-state-layer-opacity)}.mdc-list-item--disabled .mdc-radio,.mdc-list-item--disabled .mdc-checkbox{opacity:var(--mdc-list-list-item-disabled-label-text-opacity)}.mdc-list-item--with-leading-avatar .mat-mdc-list-item-avatar{border-radius:var(--mdc-list-list-item-leading-avatar-shape);background-color:var(--mdc-list-list-item-leading-avatar-color)}.mat-mdc-list-item-icon{font-size:var(--mdc-list-list-item-leading-icon-size)}.cdk-high-contrast-active a.mdc-list-item--activated::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active a.mdc-list-item--activated [dir=rtl]::after{right:auto;left:16px}.mat-mdc-list-base{display:block}.mat-mdc-list-base .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item__end,.mat-mdc-list-base .mdc-list-item__content{pointer-events:auto}.mat-mdc-list-item,.mat-mdc-list-option{width:100%;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-list-item:not(.mat-mdc-list-item-interactive),.mat-mdc-list-option:not(.mat-mdc-list-item-interactive){cursor:default}.mat-mdc-list-item .mat-divider-inset,.mat-mdc-list-option .mat-divider-inset{position:absolute;left:0;right:0;bottom:0}.mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,.mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-left:72px}[dir=rtl] .mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,[dir=rtl] .mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-right:72px}.mat-mdc-list-item-interactive::before{top:0;left:0;right:0;bottom:0;position:absolute;content:"";opacity:0;pointer-events:none}.mat-mdc-list-item>.mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-list-item:focus>.mat-mdc-focus-indicator::before{content:""}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-line.mdc-list-item__secondary-text{white-space:nowrap;line-height:normal}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-unscoped-content.mdc-list-item__secondary-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);text-align:start}mat-action-list button::-moz-focus-inner{border:0}.mdc-list-item--with-leading-icon .mdc-list-item__start{margin-inline-start:var(--mat-list-list-item-leading-icon-start-space);margin-inline-end:var(--mat-list-list-item-leading-icon-end-space)}a.mdc-list-item.mdc-list-item--activated{background-color:var(--mat-list-active-indicator-color)}a.mdc-list-item.mdc-list-item--activated.mdc-list-item{border-radius:var(--mat-list-active-indicator-shape)}'],encapsulation:2,changeDetection:0})}}return t})(),rne=(()=>{class t extends A4{get activated(){return this._activated}set activated(e){this._activated=Ns(e)}constructor(e,i,r,o,s,a){super(e,i,r,o,s,a),this._activated=!1}_getAriaCurrent(){return"A"===this._hostElement.nodeName&&this._activated?"page":null}static{this.\u0275fac=function(i){return new(i||t)(N(Mn),N(mn),N(A_,8),N(Rr),N($g,8),N(jo,8))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(i,r,o){if(1&i&&(kr(o,tne,5),kr(o,ene,5),kr(o,yze,5)),2&i){let s;ln(s=dn())&&(r._lines=s),ln(s=dn())&&(r._titles=s),ln(s=dn())&&(r._meta=s)}},viewQuery:function(i,r){if(1&i&&(gi(Zte,5),gi(tze,5)),2&i){let o;ln(o=dn())&&(r._unscopedContent=o.first),ln(o=dn())&&(r._itemText=o.first)}},hostAttrs:[1,"mat-mdc-list-item","mdc-list-item"],hostVars:11,hostBindings:function(i,r){2&i&&(ni("aria-current",r._getAriaCurrent()),sn("mdc-list-item--activated",r.activated)("mdc-list-item--with-leading-avatar",0!==r._avatars.length)("mdc-list-item--with-leading-icon",0!==r._icons.length)("mdc-list-item--with-trailing-meta",0!==r._meta.length)("_mat-animation-noopable",r._noopAnimations))},inputs:{activated:"activated"},exportAs:["matListItem"],standalone:!0,features:[ai,br],ngContentSelectors:ize,decls:10,vars:0,consts:[["unscopedContent",""],[1,"mdc-list-item__content"],[1,"mat-mdc-list-item-unscoped-content",3,"cdkObserveContent"],[1,"mat-mdc-focus-indicator"]],template:function(i,r){if(1&i){const o=Cn();so(nze),Rn(0),T(1,"span",1),Rn(2,1),Rn(3,2),T(4,"span",2,0),De("cdkObserveContent",function(){return Mt(o),St(r._updateItemLines(!0))}),Rn(6,3),L()(),Rn(7,4),Rn(8,5),fe(9,"div",3)}},dependencies:[ZW],encapsulation:2,changeDetection:0})}}return t})(),sne=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[wL,nn,nr,jg,S$,u3]})}}return t})(),Tze=0;const g4=new He("CdkAccordion");let Fze=(()=>{class t{constructor(){this._stateChanges=new It,this._openCloseAllActions=new It,this.id="cdk-accordion-"+Tze++,this.multi=!1}openAll(){this.multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(e){this._stateChanges.next(e)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[Ke.HasDecoratorInputTransform,"multi","multi",Nn]},exportAs:["cdkAccordion"],standalone:!0,features:[Zn([{provide:g4,useExisting:t}]),Ro,ar]})}}return t})(),Bze=0,Ize=(()=>{class t{get expanded(){return this._expanded}set expanded(e){this._expanded!==e&&(this._expanded=e,this.expandedChange.emit(e),e?(this.opened.emit(),this._expansionDispatcher.notify(this.id,this.accordion?this.accordion.id:this.id)):this.closed.emit(),this._changeDetectorRef.markForCheck())}constructor(e,i,r){this.accordion=e,this._changeDetectorRef=i,this._expansionDispatcher=r,this._openCloseAllSubscription=zt.EMPTY,this.closed=new vn,this.opened=new vn,this.destroyed=new vn,this.expandedChange=new vn,this.id="cdk-accordion-child-"+Bze++,this._expanded=!1,this.disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=r.listen((o,s)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===s&&this.id!==o&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e)})}static{this.\u0275fac=function(i){return new(i||t)(N(g4,12),N(ao),N(zq))}}static{this.\u0275dir=Et({type:t,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[Ke.HasDecoratorInputTransform,"expanded","expanded",Nn],disabled:[Ke.HasDecoratorInputTransform,"disabled","disabled",Nn]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],standalone:!0,features:[Zn([{provide:g4,useValue:void 0}]),Ro]})}}return t})(),Dze=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})();const Rze=["body"],Lze=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],Pze=["mat-expansion-panel-header","*","mat-action-row"];function Oze(t,n){}const Nze=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],Uze=["mat-panel-title","mat-panel-description","*"];function Hze(t,n){1&t&&(T(0,"span",1),ac(),T(1,"svg",2),fe(2,"path",3),L()()),2&t&&le("@indicatorRotate",Se()._getExpandedState())}const b4=new He("MAT_ACCORDION"),ane="225ms cubic-bezier(0.4,0.0,0.2,1)",cne={indicatorRotate:Iu("indicatorRotate",[Gc("collapsed, void",Eo({transform:"rotate(0deg)"})),Gc("expanded",Eo({transform:"rotate(180deg)"})),Ac("expanded <=> collapsed, void => collapsed",zc(ane))]),bodyExpansion:Iu("bodyExpansion",[Gc("collapsed, void",Eo({height:"0px",visibility:"hidden"})),Gc("expanded",Eo({height:"*",visibility:""})),Ac("expanded <=> collapsed, void => collapsed",zc(ane))])},lne=new He("MAT_EXPANSION_PANEL");let Vze=(()=>{class t{constructor(e,i){this._template=e,this._expansionPanel=i}static{this.\u0275fac=function(i){return new(i||t)(N(hc),N(lne,8))}}static{this.\u0275dir=Et({type:t,selectors:[["ng-template","matExpansionPanelContent",""]],standalone:!0})}}return t})(),Qze=0;const dne=new He("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");let une=(()=>{class t extends Ize{get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e}constructor(e,i,r,o,s,a,c){super(e,i,r),this._viewContainerRef=o,this._animationMode=a,this._hideToggle=!1,this.afterExpand=new vn,this.afterCollapse=new vn,this._inputChanges=new It,this._headerId="mat-expansion-panel-header-"+Qze++,this.accordion=e,this._document=s,this._animationsDisabled="NoopAnimations"===a,c&&(this.hideToggle=c.hideToggle)}_hasSpacing(){return!!this.accordion&&this.expanded&&"default"===this.accordion.displayMode}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(md(null),Mi(()=>this.expanded&&!this._portal),qo(1)).subscribe(()=>{this._portal=new My(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(e){this._inputChanges.next(e)}ngOnDestroy(){super.ngOnDestroy(),this._inputChanges.complete()}_containsFocus(){if(this._body){const e=this._document.activeElement,i=this._body.nativeElement;return e===i||i.contains(e)}return!1}_animationStarted(e){!hne(e)&&!this._animationsDisabled&&this._body&&this._body?.nativeElement.setAttribute("inert","")}_animationDone(e){hne(e)||("expanded"===e.toState?this.afterExpand.emit():"collapsed"===e.toState&&this.afterCollapse.emit(),!this._animationsDisabled&&this._body&&this._body.nativeElement.removeAttribute("inert"))}static{this.\u0275fac=function(i){return new(i||t)(N(b4,12),N(ao),N(zq),N(ha),N(Di),N(jo,8),N(dne,8))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-expansion-panel"]],contentQueries:function(i,r,o){if(1&i&&kr(o,Vze,5),2&i){let s;ln(s=dn())&&(r._lazyContent=s.first)}},viewQuery:function(i,r){if(1&i&&gi(Rze,5),2&i){let o;ln(o=dn())&&(r._body=o.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(i,r){2&i&&sn("mat-expanded",r.expanded)("_mat-animation-noopable",r._animationsDisabled)("mat-expansion-panel-spacing",r._hasSpacing())},inputs:{hideToggle:[Ke.HasDecoratorInputTransform,"hideToggle","hideToggle",Nn],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],standalone:!0,features:[Zn([{provide:b4,useValue:void 0},{provide:lne,useExisting:t}]),Ro,ai,ar,br],ngContentSelectors:Pze,decls:7,vars:4,consts:[["body",""],["role","region",1,"mat-expansion-panel-content",3,"id"],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(i,r){if(1&i){const o=Cn();so(Lze),Rn(0),T(1,"div",1,0),De("@bodyExpansion.start",function(a){return Mt(o),St(r._animationStarted(a))})("@bodyExpansion.done",function(a){return Mt(o),St(r._animationDone(a))}),T(3,"div",2),Rn(4,1),$e(5,Oze,0,0,"ng-template",3),L(),Rn(6,2),L()}2&i&&(D(),le("@bodyExpansion",r._getExpandedState())("id",r.id),ni("aria-labelledby",r._headerId),D(4),le("cdkPortalOutlet",r._portal))},dependencies:[zM],styles:['.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative;background:var(--mat-expansion-container-background-color);color:var(--mat-expansion-container-text-color);border-radius:var(--mat-expansion-container-shape)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape);border-top-left-radius:var(--mat-expansion-container-shape)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape);border-bottom-left-radius:var(--mat-expansion-container-shape)}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;font-family:var(--mat-expansion-container-text-font);font-size:var(--mat-expansion-container-text-size);font-weight:var(--mat-expansion-container-text-weight);line-height:var(--mat-expansion-container-text-line-height);letter-spacing:var(--mat-expansion-container-text-tracking)}.mat-expansion-panel-content[style*="visibility: hidden"] *{visibility:hidden !important}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color)}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2,data:{animation:[cne.bodyExpansion]},changeDetection:0})}}return t})();function hne(t){return"void"===t.fromState}let fne=(()=>{class t{constructor(e,i,r,o,s,a,c){this.panel=e,this._element=i,this._focusMonitor=r,this._changeDetectorRef=o,this._animationMode=a,this._parentChangeSubscription=zt.EMPTY,this.tabIndex=0;const l=e.accordion?e.accordion._stateChanges.pipe(Mi(d=>!(!d.hideToggle&&!d.togglePosition))):Dg;this.tabIndex=parseInt(c||"")||0,this._parentChangeSubscription=pc(e.opened,e.closed,l,e._inputChanges.pipe(Mi(d=>!!(d.hideToggle||d.disabled||d.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(Mi(()=>e._containsFocus())).subscribe(()=>r.focusVia(i,"program")),s&&(this.expandedHeight=s.expandedHeight,this.collapsedHeight=s.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}_keydown(e){switch(e.keyCode){case 32:case 13:bl(e)||(e.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e))}}focus(e,i){e?this._focusMonitor.focusVia(this._element,e,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(e=>{e&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static{this.\u0275fac=function(i){return new(i||t)(N(une,1),N(Mn),N(ku),N(ao),N(dne,8),N(jo,8),Oc("tabindex"))}}static{this.\u0275cmp=Ze({type:t,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(i,r){1&i&&De("click",function(){return r._toggle()})("keydown",function(s){return r._keydown(s)}),2&i&&(ni("id",r.panel._headerId)("tabindex",r.disabled?-1:r.tabIndex)("aria-controls",r._getPanelId())("aria-expanded",r._isExpanded())("aria-disabled",r.panel.disabled),xi("height",r._getHeaderHeight()),sn("mat-expanded",r._isExpanded())("mat-expansion-toggle-indicator-after","after"===r._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===r._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===r._animationMode))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[Ke.HasDecoratorInputTransform,"tabIndex","tabIndex",e=>null==e?0:qs(e)]},standalone:!0,features:[Ro,br],ngContentSelectors:Uze,decls:5,vars:3,consts:[[1,"mat-content"],[1,"mat-expansion-indicator"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 -960 960 960","aria-hidden","true","focusable","false"],["d","M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"]],template:function(i,r){1&i&&(so(Nze),T(0,"span",0),Rn(1),Rn(2,1),Rn(3,2),L(),$e(4,Hze,3,1,"span",1)),2&i&&(sn("mat-content-hide-toggle",!r._showToggle()),D(4),at(4,r._showToggle()?4:-1))},styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-expansion-header-collapsed-state-height);font-family:var(--mat-expansion-header-text-font);font-size:var(--mat-expansion-header-text-size);font-weight:var(--mat-expansion-header-text-weight);line-height:var(--mat-expansion-header-text-line-height);letter-spacing:var(--mat-expansion-header-text-tracking)}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color)}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color)}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color)}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color)}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color);display:inline-block;display:var(--mat-expansion-legacy-header-indicator-display, inline-block)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color);display:none;display:var(--mat-expansion-header-indicator-display, none)}.cdk-high-contrast-active .mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}'],encapsulation:2,data:{animation:[cne.indicatorRotate]},changeDetection:0})}}return t})(),zze=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=Et({type:t,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"],standalone:!0})}}return t})(),Gze=(()=>{class t extends Fze{constructor(){super(...arguments),this._ownHeaders=new su,this.hideToggle=!1,this.displayMode="default",this.togglePosition="after"}ngAfterContentInit(){this._headers.changes.pipe(md(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(i=>i.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new ML(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(e){this._keyManager.onKeydown(e)}_handleHeaderFocus(e){this._keyManager.updateActiveItem(e)}ngOnDestroy(){super.ngOnDestroy(),this._keyManager?.destroy(),this._ownHeaders.destroy()}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=pr(t)))(r||t)}})()}static{this.\u0275dir=Et({type:t,selectors:[["mat-accordion"]],contentQueries:function(i,r,o){if(1&i&&kr(o,fne,5),2&i){let s;ln(s=dn())&&(r._headers=s)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(i,r){2&i&&sn("mat-accordion-multi",r.multi)},inputs:{hideToggle:[Ke.HasDecoratorInputTransform,"hideToggle","hideToggle",Nn],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],standalone:!0,features:[Zn([{provide:b4,useExisting:t}]),Ro,ai]})}}return t})(),mne=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nr,Dze,Sy]})}}return t})();const Wze=[$Z,uZ,j$,u3,Qq,oS,pZ,Kq,oS,hJ,FZ,Ex,l3,fte,sne,mne,AJ,RZ,p4,ad];let ji=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[p4,Wze,$Z,uZ,j$,u3,Qq,oS,pZ,Kq,oS,hJ,FZ,Ex,l3,fte,sne,mne,AJ,RZ,p4,ad]})}}return t})(),$ze=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),jze=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn]})}}return t})(),pne=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})(),_4=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})(),Kze=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji,$ze,jze,pne,_4]})}}return t})(),Xze=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,uVe,Kze]})}}return t})(),Zx=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[IT],imports:[nn,ji,ad,_4]})}}return t})(),Yze=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,Zx]})}}return t})(),qze=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,Yze]})}}return t})(),Ane=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,WBe,ji]})}}return t})(),gne=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,Ane]})}}return t})(),Zze=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,gne]})}}return t})(),v4=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,gne]})}}return t})(),Jze=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji,Zze,v4,_4]})}}return t})(),e8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),t8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn]})}}return t})(),bne=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn]})}}return t})(),y4=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,bne]})}}return t})(),n8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,Zx,y4]})}}return t})(),i8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,Zx,y4]})}}return t})(),r8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,Zx,y4]})}}return t})(),o8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,Zx,bne]})}}return t})(),s8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ad,W0,ji]})}}return t})(),a8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[r3],imports:[nn,ji,s8e]})}}return t})(),Jx=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),MF=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[ji,nn]})}}return t})(),c8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,Jx,MF,ji,v4]})}}return t})(),l8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})();const d8e=Bt(dd,t=>0===t.length);let u8e=(()=>{class t{constructor(e){this.hideBlacklistItemsIndicator$=e.select(d8e)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-search-panel-mode-selector"]],inputs:{searchPanelMode:"searchPanelMode",updateSearchPanelMode:"updateSearchPanelMode"},decls:7,vars:4,consts:[[3,"value"],["id","tree-view","value","tree-view",3,"click"],[1,"fa","fa-sitemap"],["id","blacklist","value","blacklist",3,"click"],[1,"fa","fa-eye-slash"],[1,"has-blacklist-items-indicator",3,"hidden"]],template:function(i,r){1&i&&(T(0,"mat-button-toggle-group",0)(1,"mat-button-toggle",1),De("click",function(){return r.updateSearchPanelMode("treeView")}),fe(2,"i",2),L(),T(3,"mat-button-toggle",3),De("click",function(){return r.updateSearchPanelMode("blacklist")}),fe(4,"i",4)(5,"div",5),Ee(6,"async"),L()()),2&i&&(le("value",r.searchPanelMode),D(5),le("hidden",Re(6,2,r.hideBlacklistItemsIndicator$)))},dependencies:[zN,uT,Ln],styles:["cc-search-panel-mode-selector mat-button-toggle-group{height:100%;align-items:center;font-size:12px}cc-search-panel-mode-selector .has-blacklist-items-indicator{position:absolute;margin-left:18px;margin-top:-32px;border-radius:50%;background-color:red;width:5px;height:5px}\n"],encapsulation:2})}}return t})();const _ne=t=>Bt(dd,n=>h8e(t,n)),h8e=(t,n)=>{const e=n.filter(i=>i.type===t);return e.sort((i,r)=>i.path.localeCompare(r.path)),e};function f8e(t,n){1&t&&(T(0,"mat-list-item"),ge(1,"Add pattern via search or node context-menu"),L())}function m8e(t,n){if(1&t){const e=Cn();T(0,"mat-list-item",3)(1,"button",4),De("click",function(){const r=Mt(e).$implicit;return St(Se(2).removeBlacklistEntry(r))}),fe(2,"em",5),ge(3),L()()}if(2&t){const e=n.$implicit;le("title",e.path),D(3),qt(" ",e.path," ")}}function p8e(t,n){if(1&t&&(T(0,"div"),$e(1,f8e,2,0,"mat-list-item"),xr(2,m8e,4,2,"mat-list-item",3,Sr),L()),2&t){const e=n;D(),at(1,0===e.length?1:-1),D(),Cr(e)}}function A8e(t,n){1&t&&(T(0,"mat-list-item"),ge(1,"Add pattern via search or node context-menu"),L())}function g8e(t,n){if(1&t){const e=Cn();T(0,"mat-list-item",3)(1,"button",4),De("click",function(){const r=Mt(e).$implicit;return St(Se(2).removeBlacklistEntry(r))}),fe(2,"em",5),ge(3),L()()}if(2&t){const e=n.$implicit;le("title",e.path),D(3),qt(" ",e.path," ")}}function b8e(t,n){if(1&t&&(T(0,"div"),$e(1,A8e,2,0,"mat-list-item"),xr(2,g8e,4,2,"mat-list-item",3,Sr),L()),2&t){const e=n;D(),at(1,0===e.length?1:-1),D(),Cr(e)}}let _8e=(()=>{class t{constructor(e){this.store=e,this.flattenedItems$=this.store.select(_ne("flatten")),this.excludedItems$=this.store.select(_ne("exclude"))}removeBlacklistEntry(e){this.store.dispatch(xM({item:e}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-blacklist-panel"]],decls:14,vars:6,consts:[[1,"header-text"],["matTooltip","Flattened nodes are shown as flat/short buildings and are included in folder metrics",1,"fa","fa-question-circle-o"],["matTooltip","Excluded buildings are not shown in the map and are not included in folder metrics",1,"fa","fa-question-circle-o"],[3,"title"],["mat-button","",3,"click"],["title","Remove list item",1,"fa","fa-minus-square"]],template:function(i,r){if(1&i&&(T(0,"mat-list")(1,"div")(2,"h3",0),ge(3,"Flattened"),L(),fe(4,"em",1),L(),$e(5,p8e,4,1,"div"),Ee(6,"async"),L(),T(7,"mat-list")(8,"div")(9,"h3",0),ge(10,"Excluded"),L(),fe(11,"em",2),L(),$e(12,b8e,4,1,"div"),Ee(13,"async"),L()),2&i){let o,s;D(5),at(5,(o=Re(6,2,r.flattenedItems$))?5:-1,o),D(7),at(12,(s=Re(13,4,r.excludedItems$))?12:-1,s)}},dependencies:[Zs,Vq,ine,rne,Ln],styles:["cc-blacklist-panel .header-text{display:inline-block;margin:0 .25em 0 0}cc-blacklist-panel mat-list.mat-mdc-list.mat-mdc-list-base mat-list-item{border-top:1px solid rgba(0,0,0,.12)}cc-blacklist-panel mat-list.mat-mdc-list.mat-mdc-list-base mat-list-item .mdc-list-item__content{padding:0}cc-blacklist-panel mat-list.mat-mdc-list.mat-mdc-list-base mat-list-item .mdc-list-item__content button{width:100%;text-align:start}cc-blacklist-panel mat-list.mat-mdc-list.mat-mdc-list-base mat-list-item .mdc-list-item__content button .fa{padding-right:8px}\n"],encapsulation:2})}}return t})(),v8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),y8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),w8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn]})}}return t})();const w4=Bt(Kb,t=>""===t||"!"===t||","===t),SF=t=>(t=t.trim()).startsWith("*")||t.endsWith("*")||t.startsWith("/")||t.startsWith("./")||t.startsWith('"')||t.endsWith('"')||t.startsWith("!")?t:`*${t}*`,vne=(t,n,e)=>{const i=e.trim().split(",");if(e.trim().startsWith("!")){i[0]=i[0].slice(1);for(const r of i){const o=`!${SF(r)}`;if(t.some(s=>o===s.path&&n===s.type))return!0}return!1}for(const r of i)if(t.some(o=>SF(r)===o.path&&n===o.type))return!0;return!1},x8e=Bt(Kb,w4,dd,(t,n,e)=>!!n||vne(e,"flatten",t)),C8e=Bt(Kb,w4,dd,(t,n,e)=>!!n||vne(e,"exclude",t)),E8e=(t,n)=>{const e=[],i=n.split(",");if(i[0].startsWith("!")){i[0]=i[0].slice(1);for(const r of i)r.length>0&&e.push({path:`!${SF(r)}`,type:t})}else for(let r of i)if(r.length>0){if(r.startsWith("!"))break;r=SF(r),e.push({path:r,type:t})}return e},M8e=(t,n,e)=>{const i=[...n,...e];for(const{file:r}of t)if(!S8e(r,i))return!1;return!0},S8e=(t,n)=>{for(const e of Jr(t.map))if(k8e(e,n))return!1;return!0},k8e=(t,n)=>Ao(t)&&t.data.path&&!Cu(t.data.path,n,"exclude");let yne=(()=>{class t{constructor(e,i,r){this.actions$=e,this.store=i,this.dialog=r,this.doBlacklistItemsResultInEmptyMap$=this.actions$.pipe(pl(PR),gu(this.store.select(ud),this.store.select(dd)),mt(([o,s,a])=>({items:o.items,resultsInEmptyMap:M8e(s,a,o.items)})),ET()),this.showErrorDialogIfBlacklistItemsResultInEmptyMap$=Co(()=>this.doBlacklistItemsResultInEmptyMap$.pipe(Mi(o=>o.resultsInEmptyMap),co(()=>{this.dialog.open(Kg,{data:{title:"Blacklist Error",message:"Excluding all buildings is not possible."}})})),{dispatch:!1}),this.addBlacklistItems$=Co(()=>this.doBlacklistItemsResultInEmptyMap$.pipe(Mi(o=>!o.resultsInEmptyMap),mt(o=>wM({items:o.items}))))}static{this.\u0275fac=function(i){return new(i||t)(ee(bu),ee(Tt),ee(ga))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),F8e=(()=>{class t{constructor(e,i,r){this.actions$=e,this.store=i,this.addBlacklistItemsIfNotResultsInEmptyMapEffect=r,this.searchPattern2BlacklistItems$=this.actions$.pipe(pl("BlacklistSearchPatternAction"),gu(this.store.select(Kb)),mt(([o,s])=>({type:o.action.type,blacklistItems:E8e(o.action.type,s)})),ET()),this.flattenSearchPattern$=Co(()=>this.searchPattern2BlacklistItems$.pipe(Mi(o=>"flatten"===o.type),co(o=>{this.store.dispatch(wM({items:o.blacklistItems})),this.store.dispatch(df({value:""}))})),{dispatch:!1}),this.excludeSearchPattern$=Co(()=>this.searchPattern2BlacklistItems$.pipe(Mi(o=>"exclude"===o.type),co(()=>{this.addBlacklistItemsIfNotResultsInEmptyMapEffect.doBlacklistItemsResultInEmptyMap$.pipe(qo(1),Mi(o=>!o.resultsInEmptyMap),co(()=>{this.store.dispatch(df({value:""}))})).subscribe()}),mt(o=>PR({items:o.blacklistItems}))))}static{this.\u0275fac=function(i){return new(i||t)(ee(bu),ee(Tt),ee(yne))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();function B8e(t,n){if(1&t){const e=Cn();T(0,"button",12),De("click",function(){return Mt(e),St(Se().resetSearchPattern())}),fe(1,"i",13),L()}}let I8e=(()=>{class t{constructor(e){this.store=e,this.searchPattern$=this.store.select(Kb),this.isSearchPatternEmpty$=this.store.select(w4),this.isFlattenPatternDisabled$=this.store.select(x8e),this.isExcludePatternDisabled$=this.store.select(C8e),this.setSearchPatternDebounced=Bd(i=>this.setSearchPattern(i),400)}setSearchPattern(e){this.store.dispatch(df({value:e.target.value}))}resetSearchPattern(){this.store.dispatch(df({value:""}))}blacklistSearchPattern(e){this.store.dispatch((t=>({type:"BlacklistSearchPatternAction",action:{type:t}}))(e))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-search-bar"]],decls:21,vars:13,consts:[["menu","matMenu"],[1,"fa","fa-search","search-icon"],[1,"ccSearchInput"],["type","text","placeholder","Search: *.js, **/app/*",3,"input","value"],["data-testid","search-bar-clear-button",1,"small-action-button","clear-icon"],["title","Add to Blacklist",1,"small-action-button",3,"matMenuTriggerFor"],[1,"fa","fa-ellipsis-h"],["mat-menu-item","","disabled",""],["mat-menu-item","","data-testid","search-bar-flatten-button",3,"click","disabled"],[1,"fa","fa-eye-slash"],["mat-menu-item","","data-testid","search-bar-exclude-button",3,"click","disabled"],[1,"fa","fa-ban"],["data-testid","search-bar-clear-button",1,"small-action-button","clear-icon",3,"click"],[1,"fa","fa-times"]],template:function(i,r){if(1&i){const o=Cn();fe(0,"i",1),T(1,"div",2)(2,"input",3),Ee(3,"async"),De("input",function(a){return Mt(o),St(r.setSearchPatternDebounced(a))}),L(),$e(4,B8e,2,0,"button",4),Ee(5,"async"),L(),T(6,"button",5),fe(7,"i",6),L(),T(8,"mat-menu",null,0)(10,"button",7),ge(11,"Add Pattern to Blacklist"),L(),fe(12,"mat-divider"),T(13,"button",8),Ee(14,"async"),De("click",function(){return Mt(o),St(r.blacklistSearchPattern("flatten"))}),fe(15,"i",9),ge(16," Flatten "),L(),T(17,"button",10),Ee(18,"async"),De("click",function(){return Mt(o),St(r.blacklistSearchPattern("exclude"))}),fe(19,"i",11),ge(20," Exclude "),L()()}if(2&i){const o=xo(9);D(2),le("value",Re(3,5,r.searchPattern$)),D(2),at(4,Re(5,7,r.isSearchPatternEmpty$)?-1:4),D(2),le("matMenuTriggerFor",o),D(7),le("disabled",Re(14,9,r.isFlattenPatternDisabled$)),D(4),le("disabled",Re(18,11,r.isExcludePatternDisabled$))}},dependencies:[Zu,pT,wx,d3,Ln],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-search-bar{display:inline-block}cc-search-bar .search-icon{margin-right:8px;min-width:16px}cc-search-bar .ccSearchInput{display:inline-block;position:relative}cc-search-bar .ccSearchInput input{width:204px;border-width:0 0 1px;border-color:#d3d3d3;outline:0;font-size:11pt;height:24px}cc-search-bar .ccSearchInput input:focus{border-color:#0374c9;box-shadow:0 1px #0374c9}cc-search-bar .ccSearchInput>*{vertical-align:middle;display:inline-block;position:relative;height:30px}cc-search-bar .ccSearchInput .clear-icon{position:absolute;right:0;margin:0;height:24px;width:24px;display:flex;justify-content:center;align-items:center;top:0}cc-search-bar .small-action-button{margin:0 5px}cc-search-bar button{background-color:transparent;box-shadow:none;margin-top:2px;font-size:14px}cc-search-bar button:hover{background-color:#d3d3d3;border-radius:50%}\n'],encapsulation:2})}}return t})();const kF=(t,n,e)=>n.reduce((i,r)=>Cu(r.path,e,t)?i+1:i,0),D8e=Bt(_q,dd,_T,(t,n,e)=>{const i=t.filter(r=>Ao(r));return{fileCount:`${i.length}/${e.length}`,flattenCount:`${kF("flatten",i,n)}/${kF("flatten",e,n)}`,excludeCount:`${kF("exclude",i,n)}/${kF("exclude",e,n)}`}}),wne=Bt(Pr,t=>t.sortingOrderAscending);let R8e=(()=>{class t{constructor(e){this.store=e}ngOnInit(){this.sortingOrderAscending$=this.store.select(wne)}onClick(){this.store.dispatch(S3())}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-sorting-button"]],decls:4,vars:7,consts:[[1,"box-rounded","submenu-button",3,"click","title"],[3,"className"]],template:function(i,r){1&i&&(T(0,"button",0),Ee(1,"async"),De("click",function(){return r.onClick()}),fe(2,"i",1),Ee(3,"async"),L()),2&i&&(uu("title","Toggle sort order (currently ",Re(1,3,r.sortingOrderAscending$)?"ascending":"descending",")"),D(2),le("className",Re(3,5,r.sortingOrderAscending$)?"fa fa-sort-amount-asc":"fa fa-sort-amount-desc"))},dependencies:[Ln],encapsulation:2})}}return t})();const xne=Bt(xc,t=>t.sortingOption);function L8e(t,n){if(1&t&&(T(0,"mat-option",1),ge(1),L()),2&t){const e=n.$implicit;le("value",e),D(),qt(" ",e," ")}}let P8e=(()=>{class t{constructor(e){this.store=e,this.sortingOptions=Object.values(aS),this.selectedSortingOption$=e.select(xne)}handleSelectedSortingOptionChanged(e){this.store.dispatch(yM(e.value))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-sorting-option"]],decls:4,vars:3,consts:[["title","Sort by",1,"sorting-option-select",3,"selectionChange","value"],[3,"value"]],template:function(i,r){1&i&&(T(0,"mat-select",0),Ee(1,"async"),De("selectionChange",function(s){return r.handleSelectedSortingOptionChanged(s)}),xr(2,L8e,2,2,"mat-option",1,Sr),L()),2&i&&(le("value",Re(1,1,r.selectedSortingOption$)),D(2),Cr(r.sortingOptions))},dependencies:[$p,Fu,Ln],styles:[".sorting-option-select{max-width:88px}\n"],encapsulation:2})}}return t})(),O8e=(()=>{class t{constructor(e){this.store=e}ngOnInit(){this.isSearchPanelPinned$=this.store.select(AZ)}onClick(){this.store.dispatch(z3())}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-thumb-tack-button"]],decls:3,vars:3,consts:[["title","Pin file explorer",1,"box-rounded","submenu-button",3,"click","ngClass"],[1,"fa","fa-thumb-tack"]],template:function(i,r){1&i&&(T(0,"button",0),Ee(1,"async"),De("click",function(){return r.onClick()}),fe(2,"i",1),L()),2&i&&le("ngClass",Re(1,1,r.isSearchPanelPinned$)?"pinned":"")},dependencies:[Qm,Ln],styles:[".pinned{background-color:#979797}\n"],encapsulation:2})}}return t})();function N8e(t,n){if(1&t&&(T(0,"span",0),ge(1),fe(2,"i",1),L(),T(3,"span",2),ge(4),fe(5,"img",3),L(),T(6,"span",4),ge(7),fe(8,"i",5),L(),T(9,"div",6),fe(10,"cc-thumb-tack-button"),L(),T(11,"div",6),fe(12,"cc-sorting-button")(13,"cc-sorting-option"),L()),2&t){const e=n;D(),gr(e.fileCount),D(3),gr(e.flattenCount),D(3),gr(e.excludeCount)}}let U8e=(()=>{class t{constructor(e){this.matchingFileCounters$=e.select(D8e)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-matching-files-counter"]],decls:2,vars:3,consts:[["title","Files matching search pattern",1,"box-rounded","node-count"],[1,"fa","fa-file"],["title","Files flattened",1,"box-rounded","node-count",2,"display","inline-flex"],["alt","flattenIcon","src","codeCharta/assets/flatten.png",1,"fa","png-icon-files-counter"],["title","Files excluded",1,"box-rounded","node-count"],[1,"fa","fa-ban"],[1,"clickable-component"]],template:function(i,r){if(1&i&&($e(0,N8e,14,3),Ee(1,"async")),2&i){let o;at(0,(o=Re(1,1,r.matchingFileCounters$))?0:-1,o)}},dependencies:[R8e,P8e,O8e,Ln],styles:["cc-matching-files-counter .node-count{background:#eee;color:#000;padding:4px 8px;margin-right:8px}cc-matching-files-counter .node-count i{margin-left:6px}cc-matching-files-counter .box-rounded{display:inline-block;font-weight:400;line-height:17px;font-size:10pt;margin-top:2px;min-width:20px;border-radius:4px;text-align:center}cc-matching-files-counter .png-icon-files-counter{width:19px;height:16px;margin-left:6px}cc-matching-files-counter cc-thumb-tack-button button{height:25px;background:#e6e6e6;padding:1px 8px}cc-matching-files-counter cc-sorting-button button{height:25px;background:#e6e6e6;padding:1px 8px}cc-matching-files-counter cc-sorting-option .mat-mdc-select{width:105px;padding:2px 8px;font-weight:400;line-height:17px;font-size:10pt}cc-matching-files-counter .clickable-component{display:inline-block;color:#000;margin-left:-9px}\n"],encapsulation:2})}}return t})();function oh(t){if("object"!=typeof t)return t;var n,e,i=Object.prototype.toString.call(t);if("[object Object]"===i){if(t.constructor!==Object&&"function"==typeof t.constructor)for(n in e=new t.constructor,t)t.hasOwnProperty(n)&&e[n]!==t[n]&&(e[n]=oh(t[n]));else for(n in e={},t)"__proto__"===n?Object.defineProperty(e,n,{value:oh(t[n]),configurable:!0,enumerable:!0,writable:!0}):e[n]=oh(t[n]);return e}if("[object Array]"===i){for(n=t.length,e=Array(n);n--;)e[n]=oh(t[n]);return e}return"[object Set]"===i?(e=new Set,t.forEach(function(r){e.add(oh(r))}),e):"[object Map]"===i?(e=new Map,t.forEach(function(r,o){e.set(oh(o),oh(r))}),e):"[object Date]"===i?new Date(+t):"[object RegExp]"===i?((e=new RegExp(t.source,t.flags)).lastIndex=t.lastIndex,e):"[object DataView]"===i?new t.constructor(oh(t.buffer)):"[object ArrayBuffer]"===i?t.slice(0):"Array]"===i.slice(-6)?new t.constructor(t):t}const H8e=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),V8e=(t,n)=>H8e.compare(t.name,n.name),Q8e=(t,n)=>t.attributes.unary-n.attributes.unary,Cne=(t,n,e)=>{if(!t)return;for(let r=0;r{const e=t===aS.NUMBER_OF_FILES?Q8e:V8e;return n?e:(i,r)=>-1*e(i,r)})(n,e);return t.children=((t,n)=>{const e=[],i=[];for(const r of n.children)r.type===$a.FOLDER?e.push(r):i.push(r);return e.sort(t),i.sort(t),[...e,...i]})(i,t),t},W8e=Bt(Xc,xne,wne,(t,n,e)=>Cne(oh(t.unifiedMapNode),n,e)),Ene=Bt(NN,t=>t.rightClickedNodeData);let Mne=(()=>{class t{transform(e,i){return x4(e,i)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"areaMetricValid",type:t,pure:!0})}}return t})();function x4(t,n){return t.deltas?.[n]<0||t.attributes?.[n]>0}let $8e=(()=>{class t{transform(e,i){return Ao(e)?"fa fa-file-o":i?"fa fa-folder-open":"fa fa-folder"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"mapTreeViewItemIconClass",type:t,pure:!0})}}return t})(),j8e=(()=>{class t{static{this.defaultColor="#000000"}static{this.areMetricZeroColor="#BDBDBD"}constructor(e){this.state=e}transform(e){const{areaMetric:i}=this.state.getValue().dynamicSettings;return x4(e,i)?Ao(e)?void 0:IM(e,this.state.getValue().fileSettings.markedPackages)||t.defaultColor:t.areMetricZeroColor}static{this.\u0275fac=function(i){return new(i||t)(N(Dr,16))}}static{this.\u0275pipe=sr({name:"mapTreeViewItemIconColor",type:t,pure:!1})}}return t})(),K8e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-map-tree-view-item-icon"]],inputs:{node:"node",isOpen:"isOpen"},decls:3,vars:9,consts:[["role","img","aria-hidden","true"]],template:function(i,r){1&i&&(fe(0,"span",0),Ee(1,"mapTreeViewItemIconClass"),Ee(2,"mapTreeViewItemIconColor")),2&i&&(ll(po(1,4,r.node,r.isOpen)),xi("color",Re(2,7,r.node)))},dependencies:[$8e,j8e],encapsulation:2})}}return t})();const X8e=Bt(Xc,t=>t.unifiedMapNode?.attributes.unary);let Sne=(()=>{class t{transform(e){return Ao(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"isNodeLeaf",type:t,pure:!0})}}return t})();function Y8e(t,n){if(1&t&&(T(0,"span"),ge(1),Ee(2,"async"),L()),2&t){const e=Se(2);D(),qt("",(100*e.unaryValue/Re(2,1,e.rootUnary$)).toFixed(0),"%")}}function q8e(t,n){1&t&&ge(0,"File")}function Z8e(t,n){1&t&&ge(0,"Files")}function J8e(t,n){if(1&t&&(T(0,"span",2),ge(1),$e(2,q8e,1,0,"ng-template",3)(3,Z8e,1,0,"ng-template",4),L()),2&t){const e=Se(2);le("ngPlural",e.unaryValue),D(),qt(" ",e.unaryValue," ")}}function e6e(t,n){if(1&t&&(T(0,"span",1),$e(1,Y8e,3,3,"span")(2,J8e,4,2),L()),2&t){const e=Se();D(),at(1,e.isHovered?2:1)}}let t6e=(()=>{class t{constructor(e){this.searchedNodePaths$=e.select(BN),this.rootUnary$=e.select(X8e),this.areaMetric$=e.select(qb)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-map-tree-view-item-name"]],inputs:{node:"node",isHovered:"isHovered",unaryValue:"unaryValue",unaryPercentage:"unaryPercentage"},decls:7,vars:17,consts:[[1,"node-name"],[1,"unary-number"],[3,"ngPlural"],["ngPluralCase","=1"],["ngPluralCase","other"]],template:function(i,r){1&i&&(T(0,"span",0),Ee(1,"async"),Ee(2,"areaMetricValid"),Ee(3,"async"),ge(4),L(),$e(5,e6e,3,1,"span",1),Ee(6,"isNodeLeaf")),2&i&&(sn("flattened",r.node.isFlattened)("noAreaMetric",!po(2,10,r.node,Re(1,8,r.areaMetric$)))("tree-search-result",Re(3,13,r.searchedNodePaths$).has(r.node.path)),D(4),qt(" ",r.node.name,"\n"),D(),at(5,Re(6,15,r.node)?-1:5))},dependencies:[d2,r6,Ln,Mne,Sne],encapsulation:2})}}return t})();function n6e(t,n){1&t&&fe(0,"i",1)}let i6e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-map-tree-view-item-option-buttons"]],inputs:{isFlattened:"isFlattened",openNodeContextMenu:"openNodeContextMenu"},decls:5,vars:1,consts:[["role","button","aria-hidden","true",1,"right-aligned"],["title","Flattened",1,"flattened","fa","fa-eye-slash"],[1,"small-action-button"],["title","Open Node-Context-Menu",3,"click"],[1,"fa","fa-ellipsis-h"]],template:function(i,r){1&i&&(T(0,"span",0),$e(1,n6e,1,0,"i",1),T(2,"div",2)(3,"button",3),De("click",function(s){return r.openNodeContextMenu(s)}),fe(4,"i",4),L()()()),2&i&&(D(),at(1,r.isFlattened?1:-1))},encapsulation:2})}}return t})();function r6e(t,n){if(1&t&&fe(0,"cc-map-tree-view-item-option-buttons",4),2&t){const e=Se(2);le("isFlattened",e.node.isFlattened)("openNodeContextMenu",e.openNodeContextMenu)}}function o6e(t,n){if(1&t&&(T(0,"div"),fe(1,"cc-map-tree-view-level",5),L()),2&t){const e=n.$implicit,i=Se(3);D(),le("node",e)("depth",i.depth+1)}}function s6e(t,n){1&t&&xr(0,o6e,2,2,"div",null,Sr),2&t&&Cr(Se(2).node.children)}function a6e(t,n){if(1&t){const e=Cn();T(0,"div"),Ee(1,"isNodeLeaf"),T(2,"div",1),Ee(3,"async"),Ee(4,"async"),Ee(5,"async"),Ee(6,"areaMetricValid"),De("mouseenter",function(){return Mt(e),St(Se().onMouseEnter())})("mouseleave",function(){return Mt(e),St(Se().onMouseLeave())})("click",function(){return Mt(e),St(Se().onClick())})("contextmenu",function(r){return Mt(e),St(Se().openNodeContextMenu(r))}),fe(7,"cc-map-tree-view-item-icon",2)(8,"cc-map-tree-view-item-name",3),Ee(9,"async"),$e(10,r6e,1,2,"cc-map-tree-view-item-option-buttons",4),Ee(11,"async"),Ee(12,"async"),Ee(13,"areaMetricValid"),L(),T(14,"div"),$e(15,s6e,2,0),L()()}if(2&t){let e;const i=Se();(function aQ(t,n,e,i,r){ul(or,id,ug(rt(),t,n,e,i,r),!0)})("tree-element-",i.depth," ",Re(1,23,i.node)?"tree-leaf":"tree-parent",""),D(2),du("tree-element-label-",i.depth," tree-element-label"),sn("hovered",Re(3,25,i.hoveredNodeId$)===i.node.id)("marked",(null==(e=Re(4,27,i.rightClickedNodeData$))?null:e.nodeId)===i.node.id),Ga("id",i.node.path),le("title",po(6,31,i.node,Re(5,29,i.areaMetric$))?"":"No Node Area for Chosen Metric"),D(5),le("node",i.node)("isOpen",i.isOpen),D(),le("node",i.node)("isHovered",Re(9,34,i.hoveredNodeId$)===i.node.id)("unaryValue",i.node.attributes.unary),D(2),at(10,Re(11,36,i.hoveredNodeId$)===i.node.id&&po(13,40,i.node,Re(12,38,i.areaMetric$))?10:-1),D(4),du("tree-element-children tree-element-children-",i.depth,""),D(),at(15,i.isOpen?15:-1)}}let c6e=(()=>{class t{constructor(e,i,r,o,s){this.store=e,this.threeSceneService=i,this.idToBuildingService=r,this.threeRendererService=o,this.codeMapMouseEventService=s,this.hoveredNodeId$=this.store.select(gx),this.rightClickedNodeData$=this.store.select(Ene),this.areaMetric$=this.store.select(qb),this.isOpen=!1,this.areMetricValid=!1,this.openNodeContextMenu=a=>{a.preventDefault(),a.stopPropagation(),this.areaMetric$.subscribe(c=>this.areMetricValid=x4(this.node,c)).unsubscribe(),this.areMetricValid&&(this.store.dispatch(Yb({value:{nodeId:this.node.id,xPositionOfRightClickEvent:a.clientX,yPositionOfRightClickEvent:a.clientY}})),document.querySelector(".tree-element-0").addEventListener("scroll",this.scrollFunction))},this.scrollFunction=()=>{this.store.dispatch(Yb({value:null})),document.querySelector(".tree-element-0").removeEventListener("scroll",this.scrollFunction)}}ngOnInit(){this.isOpen=0===this.depth}onMouseEnter(){const e=this.idToBuildingService.get(this.node.id),i=this.threeSceneService.labels?.children;this.codeMapMouseEventService.setLabelHoveredLeaf(e,i),this.codeMapMouseEventService.hoverNode(this.node.id),this.store.dispatch(Xb({value:this.node.id}))}onMouseLeave(){this.threeSceneService.resetLabel(),this.codeMapMouseEventService.unhoverNode(),this.codeMapMouseEventService.clearLabelHoveredBuilding(),this.store.dispatch(Xb({value:null}))}onClick(){this.isOpen=!this.isOpen;const e=this.idToBuildingService.get(this.node.id);this.codeMapMouseEventService.drawLabelSelectedBuilding(e),this.threeSceneService.selectBuilding(e),this.threeSceneService.clearConstantHighlight(),this.threeRendererService.render()}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(Yc),N(hx),N(zi),N(bx))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-map-tree-view-level"]],inputs:{node:"node",depth:"depth"},decls:1,vars:1,consts:[[3,"class"],[3,"mouseenter","mouseleave","click","contextmenu","id","title"],[3,"node","isOpen"],[3,"node","isHovered","unaryValue"],[3,"isFlattened","openNodeContextMenu"],[3,"node","depth"]],template:function(i,r){1&i&&$e(0,a6e,16,43,"div",0),2&i&&at(0,r.node.isExcluded?-1:0)},dependencies:[K8e,t6e,i6e,t,Ln,Mne,Sne],encapsulation:2})}}return t})();function l6e(t,n){1&t&&fe(0,"cc-map-tree-view-level",0),2&t&&le("node",n)("depth",0)}let d6e=(()=>{class t{constructor(e){this.mapTreeViewNode$=e.select(W8e)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-map-tree-view"]],decls:2,vars:3,consts:[[3,"node","depth"]],template:function(i,r){if(1&i&&($e(0,l6e,1,2,"cc-map-tree-view-level",0),Ee(1,"async")),2&i){let o;at(0,(o=Re(1,1,r.mapTreeViewNode$))?0:-1,o)}},dependencies:[c6e,Ln],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-map-tree-view .tree-element-0{overflow-y:auto;max-height:400px;margin-left:3px;margin-top:10px}cc-map-tree-view .tree-element-0 div{margin:0;padding:0;position:relative}cc-map-tree-view .tree-element-0 .tree-element-children{margin-left:19px}cc-map-tree-view .tree-element-label{cursor:default}cc-map-tree-view .tree-element-label{cursor:pointer}cc-map-tree-view .tree-element-label:focus{outline:none}cc-map-tree-view .tree-element-label:hover,cc-map-tree-view .tree-element-label.hovered{background-color:#efefef;border-radius:2px}cc-map-tree-view .tree-element-label.marked{background-color:#efefef;border-radius:2px}cc-map-tree-view .tree-element-label .unary-number{color:#a3a3a3;font-size:.8em;margin-top:1px}cc-map-tree-view .tree-element-label .node-type-icon{display:inline-block;width:14px;margin-left:2px}cc-map-tree-view .tree-element-label .node-name.flattened{color:gray}cc-map-tree-view .tree-element-label .node-name.noAreaMetric{color:#bdbdbd}cc-map-tree-view .tree-element-label .right-aligned{position:absolute;right:6px}cc-map-tree-view .tree-element-label .right-aligned i.flattened{color:gray}cc-map-tree-view .tree-element-label .right-aligned .small-action-button button{min-height:0;width:100%;height:100%;margin:0;background-color:transparent;box-shadow:none}cc-map-tree-view .tree-element-label .right-aligned .small-action-button button:hover{background-color:#ddd}cc-map-tree-view .tree-element-label .right-aligned .small-action-button button i{position:absolute;top:2px;left:6px}cc-map-tree-view .tree-search-result{background-color:#fc801bab}\n'],encapsulation:2})}}return t})(),u6e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji,v8e,y8e,w8e]})}}return t})();lE(gZ,[gT,I8e,U8e,d6e,u8e,_8e],[]);let h6e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji,MF,Jx]})}}return t})(),f6e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})(),kne=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[ji,W0,ad,nn,BL]})}}return t})(),m6e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[ji,W0,ad,nn,kne]})}}return t})(),p6e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[f3]})}}return t})(),A6e=(()=>{class t{constructor(e){this.data=e}static{this.\u0275fac=function(i){return new(i||t)(N(Ry))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-custom-config-note-dialog"]],decls:11,vars:2,consts:[[1,"custom-config-note-dialog-container"],["mat-dialog-content","",1,"note-input-container"],["appearance","fill",1,"note-input"],["matInput","","cdkAutosizeMinRows","10","cdkTextareaAutosize","",3,"ngModelChange","ngModel"],["mat-dialog-actions","",1,"note-dialog-action-buttons"],[3,"mat-dialog-close"]],template:function(i,r){1&i&&(T(0,"div",0)(1,"div",1)(2,"mat-form-field",2)(3,"mat-label"),ge(4,"Custom Note"),L(),T(5,"textarea",3),Cg("ngModelChange",function(s){return g0(r.data,s)||(r.data=s),s}),L()()(),T(6,"div",4)(7,"button",5),ge(8,"Cancel"),L(),T(9,"button",5),ge(10,"Ok"),L()()()),2&i&&(D(5),xg("ngModel",r.data),D(4),le("mat-dialog-close",r.data))},dependencies:[Dd,Id,_l,pf,mf,Gp,IZ,jm,P0,z0],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-custom-config-note-dialog .custom-config-note-dialog-container{padding:20px 24px}cc-custom-config-note-dialog .custom-config-note-dialog-container .note-input-container{padding:0}cc-custom-config-note-dialog .custom-config-note-dialog-container .note-input-container .note-input{width:100%}cc-custom-config-note-dialog .custom-config-note-dialog-container .note-dialog-action-buttons{justify-content:flex-end;padding:0}cc-custom-config-note-dialog .custom-config-note-dialog-container button{padding:12px;margin:0 0 0 10px;color:#1b9cfc;background-color:#8a848414}cc-custom-config-note-dialog .custom-config-note-dialog-container button:hover{background-color:#0000000d;color:#1b9cfc}\n'],encapsulation:2})}}return t})(),g6e=(()=>{class t{constructor(e){this.dialog=e}openDialog(){this.customConfigNote=this.customConfigItem.note,this.dialog.open(A6e,{width:"600px",data:this.customConfigNote}).afterClosed().subscribe(i=>{void 0!==i&&this.customConfigNote!==i&&(this.customConfigNote=i,Bi.editCustomConfigNote(this.customConfigItem.id,i))})}static{this.\u0275fac=function(i){return new(i||t)(N(ga))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-custom-config-note-dialog-button"]],inputs:{customConfigItem:"customConfigItem"},decls:2,vars:0,consts:[["title","Edit/View Note",1,"custom-config-note-dialog-button",3,"click"],[1,"fa","fa-pencil"]],template:function(i,r){1&i&&(T(0,"button",0),De("click",function(){return r.openDialog()}),fe(1,"i",1),L())},encapsulation:2})}}return t})();function Tne(t,n){const{mapSelectionMode:e,assignedMaps:i}=Sx(n),r=[];for(const o of t.assignedMaps.keys())i.has(o)||r.push(t.assignedMaps.get(o));return{mapSelectionMode:t.mapSelectionMode!==e?t.mapSelectionMode:"",mapNames:r}}let b6e=(()=>{class t{constructor(e){this.state=e}transform(e){const{mapSelectionMode:i,mapNames:r}=Tne(e,this.state.getValue());return r.length>0||i.length>0?"rgb(204, 204, 204)":"rgba(0, 0, 0, 0.87)"}static{this.\u0275fac=function(i){return new(i||t)(N(Dr,16))}}static{this.\u0275pipe=sr({name:"customConfig2ApplicableColor",type:t,pure:!0})}}return t})(),_6e=(()=>{class t{transform(e){const{mapColors:i,mapSelectionMode:r}=e;return r===ST.MULTIPLE?[i.positive,i.neutral,i.negative,i.selected]:[i.positiveDelta,i.negativeDelta,i.selected]}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"customConfigColorSchemaBySelectionMode",type:t,pure:!0})}}return t})();function v6e(t,n){if(1&t&&(T(0,"p",2),fe(1,"i",8),ge(2),L()),2&t){const e=Se();D(2),qt(" ",e.customConfigItem.metrics.edgeMetric,"")}}function y6e(t,n){if(1&t&&(T(0,"div",7),fe(1,"span",9),L()),2&t){const e=n.$implicit,i=Se();D(),xi("background-color",i.customConfigItem.isApplicable?e:"rgb(204, 204, 204)")}}let w6e=(()=>{class t{constructor(e,i,r){this.store=e,this.threeCameraService=i,this.threeOrbitControlsService=r}applyCustomConfig(){Bi.applyCustomConfig(this.customConfigItem.id,this.store,this.threeCameraService,this.threeOrbitControlsService)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(Fd),N(Bl))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-apply-custom-config-button"]],inputs:{customConfigItem:"customConfigItem"},decls:17,vars:12,consts:[["mat-dialog-close","",3,"click","disabled","title"],[1,"config-metric-list"],[1,"config-metric"],[1,"fa","fa-arrows-alt"],[1,"fa","fa-arrows-v"],[1,"fa","fa-paint-brush"],[1,"color-schema-container"],[1,"color-swatch-container"],[1,"fa","fa-exchange"],[1,"color-swatch"]],template:function(i,r){1&i&&(T(0,"button",0),Ee(1,"customConfig2ApplicableColor"),De("click",function(){return r.applyCustomConfig()}),T(2,"div",1)(3,"p",2),fe(4,"i",3),ge(5),L(),T(6,"p",2),fe(7,"i",4),ge(8),L(),T(9,"p",2),fe(10,"i",5),ge(11),L(),$e(12,v6e,3,1,"p",2),T(13,"div",6),xr(14,y6e,2,2,"div",7,Sr),Ee(16,"customConfigColorSchemaBySelectionMode"),L()()()),2&i&&(xi("color",Re(1,8,r.customConfigItem)),Ga("title",r.customConfigItem.name),le("disabled",!r.customConfigItem.isApplicable),D(5),qt(" ",r.customConfigItem.metrics.areaMetric,""),D(3),qt(" ",r.customConfigItem.metrics.heightMetric,""),D(3),qt(" ",r.customConfigItem.metrics.colorMetric,""),D(),at(12,r.customConfigItem.metrics.edgeMetric?12:-1),D(2),Cr(Re(16,10,r.customConfigItem)))},dependencies:[_l,b6e,_6e],styles:["cc-apply-custom-config-button{display:flex;flex:1}cc-apply-custom-config-button button{flex-direction:row;width:100%;margin:0}cc-apply-custom-config-button button:disabled{cursor:default}cc-apply-custom-config-button button .config-metric-list{display:flex;flex-wrap:wrap;gap:10px}cc-apply-custom-config-button button p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:15px;margin:0;text-align:left}cc-apply-custom-config-button button p.config-name{flex:1 1 auto;width:100%}cc-apply-custom-config-button button p.config-metric{flex:0 0 9em}cc-apply-custom-config-button button .color-schema-container{display:flex;align-items:center;gap:2px}cc-apply-custom-config-button button .color-schema-container .color-swatch-container .color-swatch{display:inline-block;width:16px;height:16px}\n"],encapsulation:2})}}return t})(),x6e=(()=>{class t{transform(e,i,r="..."){return e.length>i?e.slice(0,i)+r:e}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"truncateText",type:t,pure:!0})}}return t})(),C6e=(()=>{class t{constructor(e){this.state=e}transform(e){const{mapSelectionMode:i,mapNames:r}=Tne(e,this.state.getValue());return r.length>0&&i.length>0?`This view is partially applicable. To complete your view, please switch to the ${i} mode and select the following map(s): ${r.join(", ")}.`:r.length>0?`To fulfill your view, please select the following map(s): ${r.join(", ")}.`:i.length>0?`This view is partially applicable. To complete your view, please switch to the ${i} mode.`:"Apply Custom View"}static{this.\u0275fac=function(i){return new(i||t)(N(Dr,16))}}static{this.\u0275pipe=sr({name:"customConfig2ApplicableMessage",type:t,pure:!0})}}return t})(),E6e=(()=>{class t{transform(e,i){const r=i.toLocaleLowerCase().trimEnd();return e.filter(o=>this.isItemMatchingSearchTerm(o,r))}isItemMatchingSearchTerm(e,i){const r=e.name.toLocaleLowerCase().includes(i),o=e.mapSelectionMode.toLocaleLowerCase().includes(i),s=Object.values(e.metrics).some(a=>a?.toLocaleLowerCase().includes(i));return r||o||s}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"filterCustomConfigDataBySearchTerm",type:t,pure:!0})}}return t})();const M6e=["matExpansionPanel"];function S6e(t,n){if(1&t){const e=Cn();T(0,"mat-list-item",5),Ee(1,"customConfig2ApplicableMessage"),T(2,"div",6)(3,"p",7)(4,"strong")(5,"span",8),De("click",function(){const r=Mt(e).$implicit;return St(Se(4).applyCustomConfig(r.id))}),ge(6),Ee(7,"truncateText"),L()()()(),T(8,"div",9)(9,"p",10)(10,"span",8),De("click",function(){const r=Mt(e).$implicit;return St(Se(4).applyCustomConfig(r.id))}),ge(11),Ee(12,"truncateText"),L()(),fe(13,"cc-custom-config-note-dialog-button",11),L(),T(14,"div",12),fe(15,"cc-apply-custom-config-button",11),T(16,"button",13),De("click",function(){const r=Mt(e).$implicit,o=Se(3).$implicit;return St(Se().removeCustomConfig(r.id,o.key))}),fe(17,"i",14),L()()()}if(2&t){const e=n.$implicit;Ga("title",Re(1,6,e)),D(3),Ga("title",e.name),D(3),qt(" ",po(7,8,e.name,75)," "),D(5),qt(" ",e.note?po(12,11,e.note,95):"Add Note"," "),D(2),le("customConfigItem",e),D(2),le("customConfigItem",e)}}function k6e(t,n){if(1&t&&(T(0,"mat-list"),xr(1,S6e,18,14,"mat-list-item",5,Sr),L()),2&t){const e=Se();D(),Cr(e)}}function T6e(t,n){1&t&&(T(0,"div",4)(1,"p"),ge(2,"No configurations found."),L()())}function F6e(t,n){if(1&t&&$e(0,k6e,3,0,"mat-list")(1,T6e,3,0,"div",4),2&t){const e=n;at(0,e.length>0?0:-1),D(),at(1,0===e.length?1:-1)}}function B6e(t,n){if(1&t){const e=Cn();T(0,"mat-expansion-panel",1,0)(2,"mat-expansion-panel-header",2),De("click",function(){const r=Mt(e).$implicit;return St(Se().toggleGroupExpansion(r.key))}),T(3,"mat-panel-title",3),ge(4," Custom View(s) in "),T(5,"strong"),ge(6),Ee(7,"titlecase"),L(),ge(8),L()(),$e(9,F6e,2,2),Ee(10,"filterCustomConfigDataBySearchTerm"),L()}if(2&t){let e;const i=n.$implicit,r=Se();le("expanded",r.isGroupExpanded(i.key)||r.searchTerm.length>0),D(6),qt(" ",Re(7,4,i.value.mapSelectionMode)," "),D(2),qt(" mode for ",i.value.mapNames," "),D(),at(9,(e=po(10,6,i.value.customConfigItems,r.searchTerm))?9:-1,e)}}let I6e=(()=>{class t{constructor(e,i,r){this.store=e,this.threeCameraService=i,this.threeOrbitControlsService=r,this.searchTerm="",this.expandedStates={},this.manuallyToggled=new Set}ngOnChanges(e){if(e.searchTerm)if(e.searchTerm.currentValue.length>0)for(const i of Object.keys(this.expandedStates))this.expandedStates[i]=!0;else for(const i of Object.keys(this.expandedStates))this.manuallyToggled.has(i)||(this.expandedStates[i]=!1)}isGroupExpanded(e){return this.searchTerm.length>0?!this.manuallyToggled.has(e)||this.expandedStates[e]:this.expandedStates[e]||!1}toggleGroupExpansion(e){this.expandedStates[e]=!this.isGroupExpanded(e),this.manuallyToggled.add(e)}removeCustomConfig(e,i){Bi.deleteCustomConfig(e),this.expandedStates[i]=!0}applyCustomConfig(e){Bi.applyCustomConfig(e,this.store,this.threeCameraService,this.threeOrbitControlsService)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt),N(Fd),N(Bl))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-custom-config-item-group"]],viewQuery:function(i,r){if(1&i&&gi(M6e,5),2&i){let o;ln(o=dn())&&(r.matExpansionPanel=o.first)}},inputs:{customConfigItemGroups:"customConfigItemGroups",searchTerm:"searchTerm"},features:[ar],decls:3,vars:2,consts:[["matExpansionPanel",""],[3,"expanded"],[3,"click"],[1,"custom-config-item-group-title"],[1,"no-configs-found-message"],[3,"title"],[1,"metrics-box"],[1,"config-item-name",3,"title"],["mat-dialog-close","",3,"click"],[1,"custom-config-note"],[1,"custom-config-note-content"],[3,"customConfigItem"],[1,"custom-config-action-buttons"],["title","Remove Custom View",1,"remove-button",3,"click"],[1,"fa","fa-trash"]],template:function(i,r){1&i&&(xr(0,B6e,11,9,"mat-expansion-panel",1,Sr),Ee(2,"keyvalue")),2&i&&Cr(Re(2,0,r.customConfigItemGroups))},dependencies:[_l,ine,rne,une,fne,zze,g6e,w6e,o6,PE,x6e,C6e,E6e],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}cc-custom-config-item-group .custom-config-item-group-title{color:#000000de;display:inline-block}cc-custom-config-item-group div .metrics-box{margin-top:10px}cc-custom-config-item-group div .custom-config-note{display:flex;flex-wrap:wrap;align-items:center;margin-top:5px}cc-custom-config-item-group div .custom-config-action-buttons{display:flex;align-items:center;margin-bottom:5px}cc-custom-config-item-group p{font-size:15px;margin:0;white-space:pre-line}cc-custom-config-item-group p.custom-config-note-content{margin-right:7px;font-size:13px}\n'],encapsulation:2})}}return t})(),D6e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({})}}return t})();function L6e(t,n,e,i){const{mapSelectionMode:r,assignedMaps:o}=Sx(n),s={id:"",name:t,creationTime:Date.now(),mapSelectionMode:r,assignedMaps:o,customConfigVersion:"1.0.0",stateSettings:{appSettings:void 0,dynamicSettings:void 0,fileSettings:void 0},camera:e,...i&&{note:i}};return function P6e(t){t.stateSettings.appSettings={showMetricLabelNameValue:!1,showMetricLabelNodeName:!1,colorLabels:{positive:!1,negative:!1,neutral:!1},amountOfEdgePreviews:0,amountOfTopLabels:0,edgeHeight:0,hideFlatBuildings:!1,invertHeight:!1,invertArea:!1,isLoadingFile:!1,isLoadingMap:!1,isPresentationMode:!1,isWhiteBackground:!1,resetCameraIfNewFileIsLoaded:!1,scaling:void 0,showOnlyBuildingsWithEdges:!1,isEdgeMetricVisible:!0,sortingOrderAscending:!1,isSearchPanelPinned:!1,experimentalFeaturesEnabled:!1,screenshotToClipboardEnabled:!1,layoutAlgorithm:void 0,maxTreeMapFiles:0,sharpnessMode:void 0,isColorMetricLinkedToHeightMetric:!1,enableFloorLabels:!0,mapColors:{labelColorAndAlpha:{alpha:0,rgb:""},base:"",flat:"",incomingEdge:"",markingColors:[],negative:"",negativeDelta:"",neutral:"",outgoingEdge:"",positive:"",positiveDelta:"",selected:""}}}(s),function O6e(t){t.stateSettings.dynamicSettings={areaMetric:"",colorMetric:"",distributionMetric:"",edgeMetric:"",focusedNodePath:[],heightMetric:"",margin:0,searchPattern:"",sortingOption:void 0,colorRange:{from:0,to:0},colorMode:void 0}}(s),function N6e(t){t.stateSettings.fileSettings={blacklist:void 0,edges:[],attributeDescriptors:{},markedPackages:[]}}(s),Fne(n,s.stateSettings),s.id=FM()(JSON.stringify(s,cS)),s}function Fne(t,n){for(const[e,i]of Object.entries(t))Object.prototype.hasOwnProperty.call(n,e)&&("object"!=typeof i||Array.isArray(i)||null===i||void 0===n[e]?n[e]=i:Fne(i,n[e]))}let U6e=(()=>{class t{constructor(e){this.data=e}static{this.\u0275fac=function(i){return new(i||t)(N(Ry))}}static{this.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],decls:10,vars:4,consts:[[1,"confirmation-message"],["mat-dialog-title",""],["mat-dialog-content",""],["mat-dialog-actions",""],["mat-button","",3,"mat-dialog-close"],["mat-button","","cdkFocusInitial","",1,"submit-button",3,"mat-dialog-close"]],template:function(i,r){1&i&&(T(0,"div",0)(1,"h1",1),ge(2),L(),T(3,"div",2),ge(4),L()(),T(5,"div",3)(6,"button",4),ge(7,"CANCEL"),L(),T(8,"button",5),ge(9,"OK"),L()()),2&i&&(D(2),gr(r.data.title),D(2),gr(r.data.message),D(2),le("mat-dialog-close",!1),D(2),le("mat-dialog-close",!0))},dependencies:[Zs,_l,GL,pf,mf],styles:[".cc-confirmation-dialog .mat-mdc-dialog-container .confirmation-message{padding:10px}.cc-confirmation-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions{justify-content:flex-end}.cc-confirmation-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions .mat-mdc-button{background-color:#8a848414}.cc-confirmation-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions .mat-mdc-button.submit-button{color:#009688}\n"],encapsulation:2})}}return t})();function z6e(t,n){if(1&t){const e=Cn();T(0,"span",0),ge(1,"Do you want to download and then purge old unused Configs to make space for new ones?"),L(),T(2,"button",1),De("click",function(){return Mt(e),St(Se().showPurgeConfirmDialog())}),ge(3," DOWNLOAD & PURGE...\n"),L()}}let G6e=(()=>{class t{constructor(e){this.dialog=e,this.isLocalStorageSizeValid=!0}ngOnInit(){this.isLocalStorageSizeValid=(()=>{let n="";for(const[i,r]of Object.entries(localStorage))n+=i+r;return 3+16*n.length/8/1024<=768})()}showPurgeConfirmDialog(){const e=function Q6e(){const t=new Set,n=Bi.getCustomConfigs(),e=new Map;for(const[r,o]of n.entries())void 0===o?.creationTime&&(o.creationTime=Date.now()),(Date.now()-o.creationTime)/2592e6>=6&&(e.set(r,Bi.createExportCustomConfigFromConfig(o)),t.add(o));return e.size>0&&Bi.downloadCustomConfigs(e),t}();0!==e.size?this.dialog.open(U6e,{panelClass:"cc-confirmation-dialog",data:{title:"Confirm to purge old Configs",message:"Are you sure to delete old Configs now?"}}).afterClosed().subscribe(r=>{r&&Bi.deleteCustomConfigs([...e])}):this.dialog.open(Kg,{data:{title:"Download Error",message:"Could not download and purge old configs automatically! Please try it by yourself."}})}static{this.\u0275fac=function(i){return new(i||t)(N(ga))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-download-and-purge-configs"]],decls:1,vars:1,consts:[[1,"exceed-local-storage-message"],["mat-button","","title","Download old unused Custom Views as a backup file and then delete them in the browser.",1,"exceed-local-storage-button",3,"click"]],template:function(i,r){1&i&&$e(0,z6e,4,0),2&i&&at(0,r.isLocalStorageSizeValid?-1:0)},dependencies:[Zs],encapsulation:2})}}return t})();function W6e(t,n){if(1&t&&(T(0,"mat-error"),ge(1),L()),2&t){const e=Se();D(),gr(e.getErrorMessage())}}let $6e=(()=>{class t{constructor(e,i,r){this.state=e,this.threeCameraService=i,this.threeOrbitControlsService=r}ngOnInit(){const e=Sx(this.state.getValue());this.customConfigName=new t9("",[O2.required,j6e(e)]),this.customConfigName.setValue(Bi.getConfigNameSuggestionByFileState(e))}getErrorMessage(){return this.customConfigName.hasError("required")?"Please enter a view name.":this.customConfigName.hasError("Error")?this.customConfigName.getError("Error"):""}addCustomConfig(){const e=L6e(this.customConfigName.value,this.state.getValue(),{camera:this.threeCameraService.camera.position,cameraTarget:this.threeOrbitControlsService.controls.target},this.customConfigNote);Bi.addCustomConfig(e)}static{this.\u0275fac=function(i){return new(i||t)(N(Dr),N(Fd),N(Bl))}}static{this.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],decls:22,vars:4,consts:[["xmlns","http://www.w3.org/1999/html",1,"header"],[1,"dialog-content"],["matInput","","required","",1,"custom-config-input",3,"formControl"],["align","start"],[1,"custom-config-note"],["cdkAutosizeMinRows","8","cdkTextareaAutosize","","matInput","","required","",1,"custom-config-input",3,"ngModelChange","ngModel"],["mat-button","","mat-dialog-close","",1,"add-custom-config-button",3,"click","disabled"]],template:function(i,r){1&i&&(T(0,"mat-toolbar",0)(1,"h2"),ge(2,"Add Custom View"),L()(),T(3,"mat-dialog-content")(4,"div",1)(5,"mat-form-field")(6,"mat-label"),ge(7,"Save individual configurations for your map."),L(),fe(8,"input",2),T(9,"mat-hint",3),ge(10,"Config View Name"),L(),$e(11,W6e,2,1,"mat-error"),L(),T(12,"mat-form-field",4)(13,"mat-label"),ge(14,"Provide custom note for configuration (optional)"),L(),T(15,"textarea",5),Cg("ngModelChange",function(s){return g0(r.customConfigNote,s)||(r.customConfigNote=s),s}),L(),T(16,"mat-hint",3),ge(17,"Config Note"),L()()()(),T(18,"mat-dialog-actions"),fe(19,"cc-download-and-purge-configs"),T(20,"button",6),De("click",function(){return r.addCustomConfig()}),ge(21," ADD "),L()()),2&i&&(D(8),le("formControl",r.customConfigName),D(3),at(11,r.customConfigName.invalid?11:-1),D(4),xg("ngModel",r.customConfigNote),D(5),le("disabled",r.customConfigName.invalid))},dependencies:[Dd,Id,s3,_Z,Zs,_l,pf,mf,Jb,Gp,IZ,jm,P0,tM,z0,eM,G6e],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}.cc-add-custom-config-dialog .mat-mdc-dialog-container{padding:0;width:500px;overflow:hidden}.cc-add-custom-config-dialog .mat-mdc-dialog-container mat-toolbar.header{background-color:#1b9cfc}.cc-add-custom-config-dialog .mat-mdc-dialog-container mat-toolbar.header h2{color:#fff}.cc-add-custom-config-dialog .mat-mdc-dialog-container .dialog-content mat-form-field{width:100%}.cc-add-custom-config-dialog .mat-mdc-dialog-container .dialog-content mat-form-field.custom-config-note{padding-top:30px}.cc-add-custom-config-dialog .mat-mdc-dialog-container .dialog-content label{color:#0000008a;font-size:13px}.cc-add-custom-config-dialog .mat-mdc-dialog-container .dialog-content input{margin-top:12px}.cc-add-custom-config-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions{margin:0;padding:0 8px;position:relative}.cc-add-custom-config-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions cc-download-and-purge-configs{text-align:right}.cc-add-custom-config-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions cc-download-and-purge-configs .exceed-local-storage-message{display:block;text-align:left;padding:0 16px;color:#b02929}.cc-add-custom-config-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions cc-download-and-purge-configs .exceed-local-storage-button{margin-right:89px}.cc-add-custom-config-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions .mat-mdc-button{padding:0 8px;margin:8px 0 8px 8px}.cc-add-custom-config-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions .mat-mdc-button.exceed-local-storage-button{color:#fff;background-color:#b02929}.cc-add-custom-config-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions .mat-mdc-button.add-custom-config-button{color:#1b9cfc;background-color:#8a848414;position:absolute;right:16px;bottom:0}.cc-add-custom-config-dialog .mat-mdc-dialog-container .mat-mdc-dialog-actions .mat-mdc-button.add-custom-config-button[disabled]{color:gray}\n'],encapsulation:2})}}return t})();function j6e(t){return n=>Bi.hasCustomConfigByName(t.mapSelectionMode,t.assignedMaps,n.value)?{Error:"A Custom View with this name already exists."}:null}let Bne=(()=>{class t{constructor(e){this.dialog=e}showAddCustomConfigDialog(){this.dialog.open($6e,{panelClass:"cc-add-custom-config-dialog"})}static{this.\u0275fac=function(i){return new(i||t)(N(ga))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-add-custom-config-button"]],decls:2,vars:0,consts:[["title","Create new Custom View",1,"cc-ribbon-bar-menu-button",3,"click"],[1,"fa","fa-plus"]],template:function(i,r){1&i&&(T(0,"button",0),De("click",function(){return r.showAddCustomConfigDialog()}),fe(1,"i",1),L())},encapsulation:2})}}return t})(),K6e=(()=>{class t{upload(){const e=Wee();e.addEventListener("change",()=>{this.uploadOnEvent(e)}),e.click()}uploadOnEvent(e){return m(function*(){const i=yield Promise.all(Xee(e.files));for(const r of i)try{Bi.importCustomConfigs(r)}catch{}})()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-upload-custom-config-button"]],decls:2,vars:0,consts:[["title","Upload Custom View (.cc.config.json file).",1,"action-button",3,"click"],[1,"fa","fa-folder-open"]],template:function(i,r){1&i&&(T(0,"button",0),De("click",function(){return r.upload()}),fe(1,"i",1),L())},encapsulation:2})}}return t})(),Z6e=(()=>{class t{constructor(e){this.downloadCustomConfigService=e}ngOnInit(){this.subscription=this.downloadCustomConfigService.downloadableCustomConfigs$.subscribe(e=>{this.downloadableConfigs=e})}ngOnDestroy(){this.subscription.unsubscribe()}downloadPreloadedCustomConfigs(){!function q6e(t){const n={downloadApiVersion:"1.0.1",timestamp:Date.now(),customConfigs:t},e=Hf.getNewTimestamp()+".cc.config.json";h3.downloadData(JSON.stringify(n,cS),e)}(this.downloadableConfigs)}static{this.\u0275fac=function(i){return new(i||t)(N(f3))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-download-custom-configs-button"]],decls:2,vars:1,consts:[["title","Download Custom View related to currently uploaded maps, if any.",3,"click","disabled"],[1,"fa","fa-download"]],template:function(i,r){1&i&&(T(0,"button",0),De("click",function(){return r.downloadPreloadedCustomConfigs()}),fe(1,"i",1),L()),2&i&&le("disabled",0===r.downloadableConfigs.size)},encapsulation:2})}}return t})(),J6e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[ji,nn,kne,f6e,m6e,p6e,ad,D6e]})}}return t})();lE(NZ,[Bne],[]),lE(OZ,[Dd,Id,yZ,mf,Jb,Gp,Gze,Qm,K6e,Bne,Z6e,I6e],[Ln]);let eGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji,MF,Jx]})}}return t})(),tGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,l3]})}}return t})(),nGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),iGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,v4,tGe,nGe,Jx,ji]})}}return t})(),rGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn]})}}return t})(),oGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji,u6e,a8e,J6e,l8e,n8e,h6e,eGe,i8e,rGe,r8e,iGe,o8e,c8e]})}}return t})(),g_=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn]})}}return t})(),sGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[g_]})}}return t})(),aGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),cGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji,MF]})}}return t})(),lGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[ji,Jx,cGe,aGe,g_]})}}return t})(),dGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn]})}}return t})(),uGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,g_]})}}return t})(),hGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[dte],imports:[nn,ji,ad,pne]})}}return t})(),fGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({providers:[ote],imports:[nn,g_]})}}return t})(),mGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),pGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,g_]})}}return t})(),AGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),gGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,g_,ji,W0,ad]})}}return t})(),bGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,sGe,uGe,fGe,pGe,gGe,hGe,dGe,AGe,mGe,lGe]})}}return t})(),_Ge=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[t8e,nn,Xze,Jze,oGe,bGe,qze,e8e]})}}return t})();let rA={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};const Dne=/[&<>"']/,wGe=new RegExp(Dne.source,"g"),Rne=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,xGe=new RegExp(Rne.source,"g"),CGe={"&":"&","<":"<",">":">",'"':""","'":"'"},Lne=t=>CGe[t];function oa(t,n){if(n){if(Dne.test(t))return t.replace(wGe,Lne)}else if(Rne.test(t))return t.replace(xGe,Lne);return t}const EGe=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Pne(t){return t.replace(EGe,(n,e)=>"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):"")}const MGe=/(^|[^\[])\^/g;function Or(t,n){t="string"==typeof t?t:t.source,n=n||"";const e={replace:(i,r)=>(r=(r=r.source||r).replace(MGe,"$1"),t=t.replace(i,r),e),getRegex:()=>new RegExp(t,n)};return e}const SGe=/[^\w:]/g,kGe=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function One(t,n,e){if(t){let i;try{i=decodeURIComponent(Pne(e)).replace(SGe,"").toLowerCase()}catch{return null}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return null}n&&!kGe.test(e)&&(e=function IGe(t,n){TF[" "+t]||(TF[" "+t]=TGe.test(t)?t+"/":BF(t,"/",!0));const e=-1===(t=TF[" "+t]).indexOf(":");return"//"===n.substring(0,2)?e?n:t.replace(FGe,"$1")+n:"/"===n.charAt(0)?e?n:t.replace(BGe,"$1")+n:t+n}(n,e));try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const TF={},TGe=/^[^:]+:\/*[^/]*$/,FGe=/^([^:]+:)[\s\S]*$/,BGe=/^([^:]+:\/*[^/]*)[\s\S]*$/,FF={exec:function(){}};function Nne(t,n){const i=t.replace(/\|/g,(o,s,a)=>{let c=!1,l=s;for(;--l>=0&&"\\"===a[l];)c=!c;return c?"|":" |"}).split(/ \|/);let r=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),i.length>n)i.splice(n);else for(;i.length1;)1&n&&(e+=t),n>>=1,t+=t;return e+t}function Hne(t,n,e,i){const r=n.href,o=n.title?oa(n.title):null,s=t[1].replace(/\\([\[\]])/g,"$1");if("!"!==t[0].charAt(0)){i.state.inLink=!0;const a={type:"link",raw:e,href:r,title:o,text:s,tokens:i.inlineTokens(s)};return i.state.inLink=!1,a}return{type:"image",raw:e,href:r,title:o,text:oa(s)}}class C4{constructor(n){this.options=n||rA}space(n){const e=this.rules.block.newline.exec(n);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(n){const e=this.rules.block.code.exec(n);if(e){const i=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?i:BF(i,"\n")}}}fences(n){const e=this.rules.block.fences.exec(n);if(e){const i=e[0],r=function LGe(t,n){const e=t.match(/^(\s+)(?:```)/);if(null===e)return n;const i=e[1];return n.split("\n").map(r=>{const o=r.match(/^\s+/);if(null===o)return r;const[s]=o;return s.length>=i.length?r.slice(i.length):r}).join("\n")}(i,e[3]||"");return{type:"code",raw:i,lang:e[2]?e[2].trim().replace(this.rules.inline._escapes,"$1"):e[2],text:r}}}heading(n){const e=this.rules.block.heading.exec(n);if(e){let i=e[2].trim();if(/#$/.test(i)){const r=BF(i,"#");(this.options.pedantic||!r||/ $/.test(r))&&(i=r.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(n){const e=this.rules.block.hr.exec(n);if(e)return{type:"hr",raw:e[0]}}blockquote(n){const e=this.rules.block.blockquote.exec(n);if(e){const i=e[0].replace(/^ *>[ \t]?/gm,""),r=this.lexer.state.top;this.lexer.state.top=!0;const o=this.lexer.blockTokens(i);return this.lexer.state.top=r,{type:"blockquote",raw:e[0],tokens:o,text:i}}}list(n){let e=this.rules.block.list.exec(n);if(e){let i,r,o,s,a,c,l,d,u,h,f,b,y=e[1].trim();const C=y.length>1,x={type:"list",raw:"",ordered:C,start:C?+y.slice(0,-1):"",loose:!1,items:[]};y=C?`\\d{1,9}\\${y.slice(-1)}`:`\\${y}`,this.options.pedantic&&(y=C?y:"[*+-]");const w=new RegExp(`^( {0,3}${y})((?:[\t ][^\\n]*)?(?:\\n|$))`);for(;n&&(b=!1,(e=w.exec(n))&&!this.rules.block.hr.test(n));){if(i=e[0],n=n.substring(i.length),d=e[2].split("\n",1)[0].replace(/^\t+/,M=>" ".repeat(3*M.length)),u=n.split("\n",1)[0],this.options.pedantic?(s=2,f=d.trimLeft()):(s=e[2].search(/[^ ]/),s=s>4?1:s,f=d.slice(s),s+=e[1].length),c=!1,!d&&/^ *$/.test(u)&&(i+=u+"\n",n=n.substring(u.length+1),b=!0),!b){const M=new RegExp(`^ {0,${Math.min(3,s-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),P=new RegExp(`^ {0,${Math.min(3,s-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),R=new RegExp(`^ {0,${Math.min(3,s-1)}}(?:\`\`\`|~~~)`),W=new RegExp(`^ {0,${Math.min(3,s-1)}}#`);for(;n&&(h=n.split("\n",1)[0],u=h,this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!(R.test(u)||W.test(u)||M.test(u)||P.test(n)));){if(u.search(/[^ ]/)>=s||!u.trim())f+="\n"+u.slice(s);else{if(c||d.search(/[^ ]/)>=4||R.test(d)||W.test(d)||P.test(d))break;f+="\n"+u}!c&&!u.trim()&&(c=!0),i+=h+"\n",n=n.substring(h.length+1),d=u.slice(s)}}x.loose||(l?x.loose=!0:/\n *\n *$/.test(i)&&(l=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(f),r&&(o="[ ] "!==r[0],f=f.replace(/^\[[ xX]\] +/,""))),x.items.push({type:"list_item",raw:i,task:!!r,checked:o,loose:!1,text:f}),x.raw+=i}x.items[x.items.length-1].raw=i.trimRight(),x.items[x.items.length-1].text=f.trimRight(),x.raw=x.raw.trimRight();const S=x.items.length;for(a=0;a"space"===R.type),P=M.length>0&&M.some(R=>/\n.*\n/.test(R.raw));x.loose=P}if(x.loose)for(a=0;a$/,"$1").replace(this.rules.inline._escapes,"$1"):"",o=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline._escapes,"$1"):e[3];return{type:"def",tag:i,raw:e[0],href:r,title:o}}}table(n){const e=this.rules.block.table.exec(n);if(e){const i={type:"table",header:Nne(e[1]).map(r=>({text:r})),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:e[3]&&e[3].trim()?e[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(i.header.length===i.align.length){i.raw=e[0];let o,s,a,c,r=i.align.length;for(o=0;o({text:l}));for(r=i.header.length,s=0;s/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):oa(e[0]):e[0]}}link(n){const e=this.rules.inline.link.exec(n);if(e){const i=e[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;const s=BF(i.slice(0,-1),"\\");if((i.length-s.length)%2==0)return}else{const s=function DGe(t,n){if(-1===t.indexOf(n[1]))return-1;const e=t.length;let i=0,r=0;for(;r-1){const c=(0===e[0].indexOf("!")?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,c).trim(),e[3]=""}}let r=e[2],o="";if(this.options.pedantic){const s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);s&&(r=s[1],o=s[3])}else o=e[3]?e[3].slice(1,-1):"";return r=r.trim(),/^$/.test(i)?r.slice(1):r.slice(1,-1)),Hne(e,{href:r&&r.replace(this.rules.inline._escapes,"$1"),title:o&&o.replace(this.rules.inline._escapes,"$1")},e[0],this.lexer)}}reflink(n,e){let i;if((i=this.rules.inline.reflink.exec(n))||(i=this.rules.inline.nolink.exec(n))){let r=(i[2]||i[1]).replace(/\s+/g," ");if(r=e[r.toLowerCase()],!r){const o=i[0].charAt(0);return{type:"text",raw:o,text:o}}return Hne(i,r,i[0],this.lexer)}}emStrong(n,e,i=""){let r=this.rules.inline.emStrong.lDelim.exec(n);if(!r||r[3]&&i.match(/[\p{L}\p{N}]/u))return;const o=r[1]||r[2]||"";if(!o||o&&(""===i||this.rules.inline.punctuation.exec(i))){const s=r[0].length-1;let a,c,l=s,d=0;const u="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,e=e.slice(-1*n.length+s);null!=(r=u.exec(e));){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(c=a.length,r[3]||r[4]){l+=c;continue}if((r[5]||r[6])&&s%3&&!((s+c)%3)){d+=c;continue}if(l-=c,l>0)continue;c=Math.min(c,c+l+d);const h=n.slice(0,s+r.index+(r[0].length-a.length)+c);if(Math.min(s,c)%2){const b=h.slice(1,-1);return{type:"em",raw:h,text:b,tokens:this.lexer.inlineTokens(b)}}const f=h.slice(2,-2);return{type:"strong",raw:h,text:f,tokens:this.lexer.inlineTokens(f)}}}}codespan(n){const e=this.rules.inline.code.exec(n);if(e){let i=e[2].replace(/\n/g," ");const r=/[^ ]/.test(i),o=/^ /.test(i)&&/ $/.test(i);return r&&o&&(i=i.substring(1,i.length-1)),i=oa(i,!0),{type:"codespan",raw:e[0],text:i}}}br(n){const e=this.rules.inline.br.exec(n);if(e)return{type:"br",raw:e[0]}}del(n){const e=this.rules.inline.del.exec(n);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(n,e){const i=this.rules.inline.autolink.exec(n);if(i){let r,o;return"@"===i[2]?(r=oa(this.options.mangle?e(i[1]):i[1]),o="mailto:"+r):(r=oa(i[1]),o=r),{type:"link",raw:i[0],text:r,href:o,tokens:[{type:"text",raw:r,text:r}]}}}url(n,e){let i;if(i=this.rules.inline.url.exec(n)){let r,o;if("@"===i[2])r=oa(this.options.mangle?e(i[0]):i[0]),o="mailto:"+r;else{let s;do{s=i[0],i[0]=this.rules.inline._backpedal.exec(i[0])[0]}while(s!==i[0]);r=oa(i[0]),o="www."===i[1]?"http://"+i[0]:i[0]}return{type:"link",raw:i[0],text:r,href:o,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(n,e){const i=this.rules.inline.text.exec(n);if(i){let r;return r=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):oa(i[0]):i[0]:oa(this.options.smartypants?e(i[0]):i[0]),{type:"text",raw:i[0],text:r}}}}const Qn={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:FF,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Qn.def=Or(Qn.def).replace("label",Qn._label).replace("title",Qn._title).getRegex(),Qn.bullet=/(?:[*+-]|\d{1,9}[.)])/,Qn.listItemStart=Or(/^( *)(bull) */).replace("bull",Qn.bullet).getRegex(),Qn.list=Or(Qn.list).replace(/bull/g,Qn.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Qn.def.source+")").getRegex(),Qn._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Qn._comment=/|$)/,Qn.html=Or(Qn.html,"i").replace("comment",Qn._comment).replace("tag",Qn._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Qn.paragraph=Or(Qn._paragraph).replace("hr",Qn.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Qn._tag).getRegex(),Qn.blockquote=Or(Qn.blockquote).replace("paragraph",Qn.paragraph).getRegex(),Qn.normal={...Qn},Qn.gfm={...Qn.normal,table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},Qn.gfm.table=Or(Qn.gfm.table).replace("hr",Qn.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Qn._tag).getRegex(),Qn.gfm.paragraph=Or(Qn._paragraph).replace("hr",Qn.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",Qn.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Qn._tag).getRegex(),Qn.pedantic={...Qn.normal,html:Or("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Qn._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:FF,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Or(Qn.normal._paragraph).replace("hr",Qn.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Qn.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const bn={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:FF,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/,rDelimUnd:/^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:FF,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(i="x"+i.toString(16)),n+="&#"+i+";";return n}bn._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",bn.punctuation=Or(bn.punctuation).replace(/punctuation/g,bn._punctuation).getRegex(),bn.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,bn.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,bn._comment=Or(Qn._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),bn.emStrong.lDelim=Or(bn.emStrong.lDelim).replace(/punct/g,bn._punctuation).getRegex(),bn.emStrong.rDelimAst=Or(bn.emStrong.rDelimAst,"g").replace(/punct/g,bn._punctuation).getRegex(),bn.emStrong.rDelimUnd=Or(bn.emStrong.rDelimUnd,"g").replace(/punct/g,bn._punctuation).getRegex(),bn._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,bn._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,bn._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,bn.autolink=Or(bn.autolink).replace("scheme",bn._scheme).replace("email",bn._email).getRegex(),bn._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,bn.tag=Or(bn.tag).replace("comment",bn._comment).replace("attribute",bn._attribute).getRegex(),bn._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,bn._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,bn._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,bn.link=Or(bn.link).replace("label",bn._label).replace("href",bn._href).replace("title",bn._title).getRegex(),bn.reflink=Or(bn.reflink).replace("label",bn._label).replace("ref",Qn._label).getRegex(),bn.nolink=Or(bn.nolink).replace("ref",Qn._label).getRegex(),bn.reflinkSearch=Or(bn.reflinkSearch,"g").replace("reflink",bn.reflink).replace("nolink",bn.nolink).getRegex(),bn.normal={...bn},bn.pedantic={...bn.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Or(/^!?\[(label)\]\((.*?)\)/).replace("label",bn._label).getRegex(),reflink:Or(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",bn._label).getRegex()},bn.gfm={...bn.normal,escape:Or(bn.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\c+" ".repeat(l.length));n;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(a=>!!(i=a.call({lexer:this},n,e))&&(n=n.substring(i.raw.length),e.push(i),!0)))){if(i=this.tokenizer.space(n)){n=n.substring(i.raw.length),1===i.raw.length&&e.length>0?e[e.length-1].raw+="\n":e.push(i);continue}if(i=this.tokenizer.code(n)){n=n.substring(i.raw.length),r=e[e.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?e.push(i):(r.raw+="\n"+i.raw,r.text+="\n"+i.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text);continue}if(i=this.tokenizer.fences(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.heading(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.hr(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.blockquote(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.list(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.html(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.def(n)){n=n.substring(i.raw.length),r=e[e.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title}):(r.raw+="\n"+i.raw,r.text+="\n"+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text);continue}if(i=this.tokenizer.table(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.lheading(n)){n=n.substring(i.raw.length),e.push(i);continue}if(o=n,this.options.extensions&&this.options.extensions.startBlock){let a=1/0;const c=n.slice(1);let l;this.options.extensions.startBlock.forEach(function(d){l=d.call({lexer:this},c),"number"==typeof l&&l>=0&&(a=Math.min(a,l))}),a<1/0&&a>=0&&(o=n.substring(0,a+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){r=e[e.length-1],s&&"paragraph"===r.type?(r.raw+="\n"+i.raw,r.text+="\n"+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):e.push(i),s=o.length!==n.length,n=n.substring(i.raw.length);continue}if(i=this.tokenizer.text(n)){n=n.substring(i.raw.length),r=e[e.length-1],r&&"text"===r.type?(r.raw+="\n"+i.raw,r.text+="\n"+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):e.push(i);continue}if(n){const a="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(a);break}throw new Error(a)}}return this.state.top=!0,e}inline(n,e=[]){return this.inlineQueue.push({src:n,tokens:e}),e}inlineTokens(n,e=[]){let i,r,o,a,c,l,s=n;if(this.tokens.links){const d=Object.keys(this.tokens.links);if(d.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(s));)d.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+Une("a",a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(s));)s=s.slice(0,a.index)+"["+Une("a",a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(a=this.tokenizer.rules.inline.escapedEmSt.exec(s));)s=s.slice(0,a.index+a[0].length-2)+"++"+s.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(;n;)if(c||(l=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(d=>!!(i=d.call({lexer:this},n,e))&&(n=n.substring(i.raw.length),e.push(i),!0)))){if(i=this.tokenizer.escape(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.tag(n)){n=n.substring(i.raw.length),r=e[e.length-1],r&&"text"===i.type&&"text"===r.type?(r.raw+=i.raw,r.text+=i.text):e.push(i);continue}if(i=this.tokenizer.link(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.reflink(n,this.tokens.links)){n=n.substring(i.raw.length),r=e[e.length-1],r&&"text"===i.type&&"text"===r.type?(r.raw+=i.raw,r.text+=i.text):e.push(i);continue}if(i=this.tokenizer.emStrong(n,s,l)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.codespan(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.br(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.del(n)){n=n.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.autolink(n,Vne)){n=n.substring(i.raw.length),e.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(n,Vne))){n=n.substring(i.raw.length),e.push(i);continue}if(o=n,this.options.extensions&&this.options.extensions.startInline){let d=1/0;const u=n.slice(1);let h;this.options.extensions.startInline.forEach(function(f){h=f.call({lexer:this},u),"number"==typeof h&&h>=0&&(d=Math.min(d,h))}),d<1/0&&d>=0&&(o=n.substring(0,d+1))}if(i=this.tokenizer.inlineText(o,PGe)){n=n.substring(i.raw.length),"_"!==i.raw.slice(-1)&&(l=i.raw.slice(-1)),c=!0,r=e[e.length-1],r&&"text"===r.type?(r.raw+=i.raw,r.text+=i.text):e.push(i);continue}if(n){const d="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(d);break}throw new Error(d)}}return e}}class E4{constructor(n){this.options=n||rA}code(n,e,i){const r=(e||"").match(/\S*/)[0];if(this.options.highlight){const o=this.options.highlight(n,r);null!=o&&o!==n&&(i=!0,n=o)}return n=n.replace(/\n$/,"")+"\n",r?'
'+(i?n:oa(n,!0))+"
\n":"
"+(i?n:oa(n,!0))+"
\n"}blockquote(n){return`
\n${n}
\n`}html(n){return n}heading(n,e,i,r){return this.options.headerIds?`${n}\n`:`${n}\n`}hr(){return this.options.xhtml?"
\n":"
\n"}list(n,e,i){const r=e?"ol":"ul";return"<"+r+(e&&1!==i?' start="'+i+'"':"")+">\n"+n+"\n"}listitem(n){return`
  • ${n}
  • \n`}checkbox(n){return" "}paragraph(n){return`

    ${n}

    \n`}table(n,e){return e&&(e=`${e}`),"\n\n"+n+"\n"+e+"
    \n"}tablerow(n){return`\n${n}\n`}tablecell(n,e){const i=e.header?"th":"td";return(e.align?`<${i} align="${e.align}">`:`<${i}>`)+n+`\n`}strong(n){return`${n}`}em(n){return`${n}`}codespan(n){return`${n}`}br(){return this.options.xhtml?"
    ":"
    "}del(n){return`${n}`}link(n,e,i){if(null===(n=One(this.options.sanitize,this.options.baseUrl,n)))return i;let r='",r}image(n,e,i){if(null===(n=One(this.options.sanitize,this.options.baseUrl,n)))return i;let r=`${i}":">",r}text(n){return n}}class Qne{strong(n){return n}em(n){return n}codespan(n){return n}del(n){return n}html(n){return n}text(n){return n}link(n,e,i){return""+i}image(n,e,i){return""+i}br(){return""}}class zne{constructor(){this.seen={}}serialize(n){return n.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(n,e){let i=n,r=0;if(this.seen.hasOwnProperty(i)){r=this.seen[n];do{r++,i=n+"-"+r}while(this.seen.hasOwnProperty(i))}return e||(this.seen[n]=r,this.seen[i]=0),i}slug(n,e={}){const i=this.serialize(n);return this.getNextSafeSlug(i,e.dryrun)}}class qf{constructor(n){this.options=n||rA,this.options.renderer=this.options.renderer||new E4,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Qne,this.slugger=new zne}static parse(n,e){return new qf(e).parse(n)}static parseInline(n,e){return new qf(e).parseInline(n)}parse(n,e=!0){let r,o,s,a,c,l,d,u,h,f,b,y,C,x,w,S,M,P,R,i="";const W=n.length;for(r=0;r0&&"paragraph"===w.tokens[0].type?(w.tokens[0].text=P+" "+w.tokens[0].text,w.tokens[0].tokens&&w.tokens[0].tokens.length>0&&"text"===w.tokens[0].tokens[0].type&&(w.tokens[0].tokens[0].text=P+" "+w.tokens[0].tokens[0].text)):w.tokens.unshift({type:"text",text:P}):x+=P),x+=this.parse(w.tokens,C),h+=this.renderer.listitem(x,M,S);i+=this.renderer.list(h,b,y);continue;case"html":i+=this.renderer.html(f.text);continue;case"paragraph":i+=this.renderer.paragraph(this.parseInline(f.tokens));continue;case"text":for(h=f.tokens?this.parseInline(f.tokens):f.text;r+1{"function"==typeof i&&(r=i,i=null);const o={...i},s=function OGe(t,n,e){return i=>{if(i.message+="\nPlease report this to https://github.com/markedjs/marked.",t){const r="

    An error occurred:

    "+oa(i.message+"",!0)+"
    ";return n?Promise.resolve(r):e?void e(null,r):r}if(n)return Promise.reject(i);if(!e)throw i;e(i)}}((i={...$n.defaults,...o}).silent,i.async,r);if(typeof e>"u"||null===e)return s(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof e)return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(function RGe(t){t&&t.sanitize&&!t.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}(i),i.hooks&&(i.hooks.options=i),r){const a=i.highlight;let c;try{i.hooks&&(e=i.hooks.preprocess(e)),c=t(e,i)}catch(u){return s(u)}const l=function(u){let h;if(!u)try{i.walkTokens&&$n.walkTokens(c,i.walkTokens),h=n(c,i),i.hooks&&(h=i.hooks.postprocess(h))}catch(f){u=f}return i.highlight=a,u?s(u):r(null,h)};if(!a||a.length<3||(delete i.highlight,!c.length))return l();let d=0;return $n.walkTokens(c,function(u){"code"===u.type&&(d++,setTimeout(()=>{a(u.text,u.lang,function(h,f){if(h)return l(h);null!=f&&f!==u.text&&(u.text=f,u.escaped=!0),d--,0===d&&l()})},0))}),void(0===d&&l())}if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(e):e).then(a=>t(a,i)).then(a=>i.walkTokens?Promise.all($n.walkTokens(a,i.walkTokens)).then(()=>a):a).then(a=>n(a,i)).then(a=>i.hooks?i.hooks.postprocess(a):a).catch(s);try{i.hooks&&(e=i.hooks.preprocess(e));const a=t(e,i);i.walkTokens&&$n.walkTokens(a,i.walkTokens);let c=n(a,i);return i.hooks&&(c=i.hooks.postprocess(c)),c}catch(a){return s(a)}}}function $n(t,n,e){return Gne(Yf.lex,qf.parse)(t,n,e)}function NGe(t,n){if(1&t&&(T(0,"div")(1,"h2"),ge(2),L(),fe(3,"ul",6),L()),2&t){const e=n.$implicit;D(2),gr(e.key),D(),le("innerHTML",e.value,sI)}}$n.options=$n.setOptions=function(t){return function yGe(t){rA=t}($n.defaults={...$n.defaults,...t}),$n},$n.getDefaults=function Ine(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}},$n.defaults=rA,$n.use=function(...t){const n=$n.defaults.extensions||{renderers:{},childTokens:{}};t.forEach(e=>{const i={...e};if(i.async=$n.defaults.async||i.async||!1,e.extensions&&(e.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if(r.renderer){const o=n.renderers[r.name];n.renderers[r.name]=o?function(...s){let a=r.renderer.apply(this,s);return!1===a&&(a=o.apply(this,s)),a}:r.renderer}if(r.tokenizer){if(!r.level||"block"!==r.level&&"inline"!==r.level)throw new Error("extension level must be 'block' or 'inline'");n[r.level]?n[r.level].unshift(r.tokenizer):n[r.level]=[r.tokenizer],r.start&&("block"===r.level?n.startBlock?n.startBlock.push(r.start):n.startBlock=[r.start]:"inline"===r.level&&(n.startInline?n.startInline.push(r.start):n.startInline=[r.start]))}r.childTokens&&(n.childTokens[r.name]=r.childTokens)}),i.extensions=n),e.renderer){const r=$n.defaults.renderer||new E4;for(const o in e.renderer){const s=r[o];r[o]=(...a)=>{let c=e.renderer[o].apply(r,a);return!1===c&&(c=s.apply(r,a)),c}}i.renderer=r}if(e.tokenizer){const r=$n.defaults.tokenizer||new C4;for(const o in e.tokenizer){const s=r[o];r[o]=(...a)=>{let c=e.tokenizer[o].apply(r,a);return!1===c&&(c=s.apply(r,a)),c}}i.tokenizer=r}if(e.hooks){const r=$n.defaults.hooks||new M4;for(const o in e.hooks){const s=r[o];r[o]=M4.passThroughHooks.has(o)?a=>{if($n.defaults.async)return Promise.resolve(e.hooks[o].call(r,a)).then(l=>s.call(r,l));const c=e.hooks[o].call(r,a);return s.call(r,c)}:(...a)=>{let c=e.hooks[o].apply(r,a);return!1===c&&(c=s.apply(r,a)),c}}i.hooks=r}if(e.walkTokens){const r=$n.defaults.walkTokens;i.walkTokens=function(o){let s=[];return s.push(e.walkTokens.call(this,o)),r&&(s=s.concat(r.call(this,o))),s}}$n.setOptions(i)})},$n.walkTokens=function(t,n){let e=[];for(const i of t)switch(e=e.concat(n.call($n,i)),i.type){case"table":for(const r of i.header)e=e.concat($n.walkTokens(r.tokens,n));for(const r of i.rows)for(const o of r)e=e.concat($n.walkTokens(o.tokens,n));break;case"list":e=e.concat($n.walkTokens(i.items,n));break;default:$n.defaults.extensions&&$n.defaults.extensions.childTokens&&$n.defaults.extensions.childTokens[i.type]?$n.defaults.extensions.childTokens[i.type].forEach(function(r){e=e.concat($n.walkTokens(i[r],n))}):i.tokens&&(e=e.concat($n.walkTokens(i.tokens,n)))}return e},$n.parseInline=Gne(Yf.lexInline,qf.parseInline),$n.Parser=qf,$n.parser=qf.parse,$n.Renderer=E4,$n.TextRenderer=Qne,$n.Lexer=Yf,$n.lexer=Yf.lex,$n.Tokenizer=C4,$n.Slugger=zne,$n.Hooks=M4,$n.parse=$n;let UGe=(()=>{class t{constructor(e){this.data=e,this.changes=this.getChangelogChanges()}getChangelogChanges(){let i=$n.parse('# Change Log - Visualization\r\n\r\nAll notable changes to this project will be documented in this file.\r\n\r\nThe format is based on [Keep a Changelog](http://keepachangelog.com/)\r\nand this project adheres to [Semantic Versioning](http://semver.org/)\r\n\r\n## [unreleased] (Added \u{1f680} | Changed | Removed \u{1f5d1} | Fixed \u{1f41e} | Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb})\r\n\r\n## [1.125.0] - 2024-04-24\r\n\r\n### Added \u{1f680}\r\n\r\n- Add search bar for custom configs [#3529](https://github.com/MaibornWolff/codecharta/pull/3529)\r\n- Automatically reverse the metric direction for those where higher values indicate better codequality, such as `branch_coverage` [#3518](https://github.com/MaibornWolff/codecharta/pull/3518)\r\n- Display summary metrics for root node as default [#3525](https://github.com/MaibornWolff/codecharta/pull/3525)\r\n- Remove whitespace on screenshots [#3527](https://github.com/MaibornWolff/codecharta/pull/3527)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix small style issues [#3544](https://github.com/MaibornWolff/codecharta/pull/3544)\r\n- Fix key handling for selection metrics [#3546](https://github.com/MaibornWolff/codecharta/pull/3546)\r\n- Fix applying default metric templates to ensure options reset correctly [#3560](https://github.com/MaibornWolff/codecharta/pull/3560)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Update angular to v17\r\n\r\n## [1.124.1] - 2024-03-18\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix metrics being reset on excluding / flattening buildings [#3524](https://github.com/MaibornWolff/codecharta/pull/3524)\r\n- Take direction of attributes into account when creating the list with highest metrics [#3526](https://github.com/MaibornWolff/codecharta/pull/3526)\r\n\r\n## [1.124.0] - 2024-03-18\r\n\r\n### Added \u{1f680}\r\n\r\n- Display diagram of color distribution [#3511](https://github.com/MaibornWolff/codecharta/pull/3511)\r\n
    \r\n color-metric-diagram\r\n
    \r\n- Persist uploaded files and applied configuration accross page-reloads [#3486](https://github.com/MaibornWolff/codecharta/pull/3486)\r\n- Height, color, edge and area metric can be selected via query parameters [#3513](https://github.com/MaibornWolff/codecharta/pull/3513)\r\n- Capturing a screenshot of the map also captures the legend [#3520](https://github.com/MaibornWolff/codecharta/pull/3520)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Bump node version from 16 to 18 [#3452](https://github.com/MaibornWolff/codecharta/pull/3452)\r\n\r\n## [1.123.0] - 2024-02-26\r\n\r\n### Changed\r\n\r\n- CodeCharta Analysis and Visualization now have separate changelogs and releases [#3499](https://github.com/MaibornWolff/codecharta/pull/3499)\r\n\r\n### Added \u{1f680}\r\n\r\n- Highlight building on-click of file in explorer [#3488](https://github.com/MaibornWolff/codecharta/pull/3488)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix buildings inability to be completely red in delta mode [#3439](https://github.com/MaibornWolff/codecharta/pull/3439)\r\n- Fix edge preview in visualization [#3439](https://github.com/MaibornWolff/codecharta/pull/3439)\r\n- Fix edges start/end intersecting with building in delta mode [#3439](https://github.com/MaibornWolff/codecharta/pull/3439)\r\n- Fix style issues in the node/file explorer of visualization [#3439](https://github.com/MaibornWolff/codecharta/pull/3439)\r\n\r\n## [1.122.0] - 2024-01-16\r\n\r\n### Added \u{1f680}\r\n\r\n- File explorer can be pinned while analyzing the code-map [#3459](https://github.com/MaibornWolff/codecharta/pull/3459)\r\n- Validate input file during interactive parser configuration [#3460](https://github.com/MaibornWolff/codecharta/pull/3460)\r\n- Add functionality to screenshot legend [#3471](https://github.com/MaibornWolff/codecharta/pull/3471)\r\n\r\n### Changed\r\n\r\n- Multiple values for options need to be separated by comma [#3434](https://github.com/MaibornWolff/codecharta/pull/3434)\r\n- Changed the short-form of the `--no-issues` flag in the SourceCodeParser from `-i` to `-ni` [#3434](https://github.com/MaibornWolff/codecharta/pull/3434)\r\n- Clarify sonar user token question [#3445](https://github.com/MaibornWolff/codecharta/pull/3445)\r\n- Changed the `--user` flag to `--user-token` in SonarImporter [#3445](https://github.com/MaibornWolff/codecharta/pull/3445)\r\n- Changed the interactive dialog of `modify` to prompt user for single action to perform [#3448](https://github.com/MaibornWolff/codecharta/pull/3448)\r\n- Selected buildings now keep their label until they are unselected [#3465](https://github.com/MaibornWolff/codecharta/pull/3465)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix saving the number of top-labels in custom configs [#3461](https://github.com/MaibornWolff/codecharta/pull/3461)\r\n- Fix parsers crashing after printing output to stdout [#3442](https://github.com/MaibornWolff/codecharta/pull/3442)\r\n- Fix removal of nodes with identical names in `modify` [#3446](https://github.com/MaibornWolff/codecharta/pull/3446)\r\n- Fix the highlighting of very high risk metrics to highlight only matching files [#3454](https://github.com/MaibornWolff/codecharta/pull/3454)\r\n\r\n## [1.121.1] - 2023-12-08\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix github-pages not showing documentation [#3436](https://github.com/MaibornWolff/codecharta/pull/3436)\r\n\r\n## [1.121.0] - 2023-12-07\r\n\r\n### Added \u{1f680}\r\n\r\n- Add logging of absolute file paths of output files [#3414](https://github.com/MaibornWolff/codecharta/pull/3414)\r\n\r\n### Changed\r\n\r\n- Changed short form of parameter `--file-extensions` of RawTextParser from `-f` to `-fe` [#3405](https://github.com/MaibornWolff/codecharta/pull/3405)\r\n- Update readme and gh-pages for RawTextParser [#3405](https://github.com/MaibornWolff/codecharta/pull/3405)\r\n- Changed the `--format` flag for csv-output in SourceCodeParser from `table` to `csv` [#3414](https://github.com/MaibornWolff/codecharta/pull/3414)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix RawTextParser producing incorrect output when no (or multiple) file extensions were specified in interactive mode [#3405](https://github.com/MaibornWolff/codecharta/pull/3405)\r\n- Fix handling of empty inputs for the `--metrics`, `--exclude`, `--file-extensions` flags in the RawTextParser [#3415](https://github.com/MaibornWolff/codecharta/pull/3415)\r\n- Fix RawTextParser incorrectly setting max indentation level to a predefined value [#3419](https://github.com/MaibornWolff/codecharta/pull/3419)\r\n- Fix the csv-exporter so that it exports multiple projects instead of just one when multiple projects are specified [#3414](https://github.com/MaibornWolff/codecharta/pull/3414)\r\n- Fix file extensions of output files for merged projects [#3421](https://github.com/MaibornWolff/codecharta/pull/3421)\r\n- Fix the ability for users to accidentally pass invalid metrics to the RawTextParser without it crashing [#3424](https://github.com/MaibornWolff/codecharta/pull/3424)\r\n- Fix deselected buildings with green/red roof in delta mode do not reset their color roof [#3426](https://github.com/MaibornWolff/codecharta/pull/3426)\r\n- Fix parser hang issue in interactive mode caused by unintentional "enter" input after the last question [#3422](https://github.com/MaibornWolff/codecharta/pull/3422)\r\n\r\n### Chore \u200d\u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Upgraded to angular 16 [#3408](https://github.com/MaibornWolff/codecharta/pull/3408)\r\n\r\n## [1.120.1] - 2023-11-17\r\n\r\n### Removed \u{1f5d1}\r\n\r\n- Deprecated download button removed (functionality has been replaced by custom views) [#3398](https://github.com/MaibornWolff/codecharta/pull/3398)\r\n- Remove the \'new\' badges from the \'Custom Views\' and \'Suspicious Metrics\' features as these features are no longer new [#3393](https://github.com/MaibornWolff/codecharta/pull/3399)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix an issue with web demo on Safari showing a white screen and not loading [#3396](https://github.com/MaibornWolff/codecharta/pull/3396)\r\n- Fix the ability for users to skip the value for tab-width when configuring the rawtextparser and estimate its value [#3404](https://github.com/MaibornWolff/codecharta/pull/3404)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Add documentation for the installation requirements for metric-gardener [#3395](https://github.com/MaibornWolff/codecharta/pull/3395)\r\n- Add hints to README (visualization and package) about MacOS arm64 standalone execution [#3395](https://github.com/MaibornWolff/codecharta/pull/3395)\r\n\r\n## [1.120.0] - 2023-11-02\r\n\r\n### Added \u{1f680}\r\n\r\n- Only ask to merge results after parser suggestion execution when more than one parser was executed [#3384](https://github.com/MaibornWolff/codecharta/pull/3384)\r\n- Add the description of each parser to the list of suggested parsers [#3387](https://github.com/MaibornWolff/codecharta/pull/3387)\r\n\r\n### Changed\r\n\r\n- Adjust console output of metric gardener importer to no longer include one line for each processed node [#3386](https://github.com/MaibornWolff/codecharta/pull/3390)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix command not found issue for --version and --help in the analysis [#3377](https://github.com/MaibornWolff/codecharta/pull/3377)\r\n- Fix metric gardener importer getting stuck for large inputs [#3382](https://github.com/MaibornWolff/codecharta/pull/3382)\r\n- Update docs for ccsh to remove outdated parameters and unify the pages structure [#3333](https://github.com/MaibornWolff/codecharta/pull/3388)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Raise minimum required Java Version from 8 to 11 [#3359](https://github.com/MaibornWolff/codecharta/pull/3359)\r\n- Swap nw.js to electron for standalone execution [#3373](https://github.com/MaibornWolff/codecharta/pull/3373)\r\n\r\n## [1.119.1] - 2023-08-03\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix ccsh execution under windows via cmd-terminal [#3354](https://github.com/MaibornWolff/codecharta/pull/3354)\r\n\r\n## [1.119.0] - 2023-07-13\r\n\r\n### Added \u{1f680}\r\n\r\n- Add message outputting which parser is being configured during parser suggestions [#3335](https://github.com/MaibornWolff/codecharta/pull/3335)\r\n- Add basic validity checking for all input resources (files/folders, url for SonarImporter) [#3325](https://github.com/MaibornWolff/codecharta/pull/3325)\r\n- Automatically start specific interactive parser when calling parser without args [#3332](https://github.com/MaibornWolff/codecharta/pull/3332)\r\n\r\n## [1.118.0] - 2023-06-15\r\n\r\n### Added \u{1f680}\r\n\r\n- Add metric tooltips that display attribute descriptors and provide hyperlinks in the sidebar to the metric\'s documentation [#3273](https://github.com/MaibornWolff/codecharta/pull/3273)
    \r\n \r\n- Expand and restructure documentation regarding Docker usage [#3312](https://github.com/MaibornWolff/codecharta/pull/3312)\r\n- Add current working directories as hint or default value to interactive parser and parser suggestions when asking for input [#3319](https://github.com/MaibornWolff/codecharta/pull/3319)\r\n- Add helpful status messages when calculating parser suggestions [#3329](https://github.com/MaibornWolff/codecharta/pull/3329)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Speed up parser suggestions significantly [#3329](https://github.com/MaibornWolff/codecharta/pull/3329)\r\n- Fix color range reset not triggering on color metric change [#3311](https://github.com/MaibornWolff/codecharta/pull/3311)\r\n\r\n## [1.117.0] - 2023-05-19\r\n\r\n### Added \u{1f680}\r\n\r\n- Add support for parser suggestions to SVN-, MetricGardener-, RawText- and SourceCodeParser [#3287](https://github.com/MaibornWolff/codecharta/pull/3287)\r\n- Add semi automatic merging feature after executing multiple parsers [#3287](https://github.com/MaibornWolff/codecharta/pull/3287)\r\n- Expand developer documentation to include common problems and solutions for them [#3289](https://github.com/MaibornWolff/codecharta/pull/3289)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix entrypoint for analysis docker image [#3259](https://github.com/MaibornWolff/codecharta/pull/3259)\r\n- Show again delta of a building which have nothing in common in red or green [#3271](https://github.com/MaibornWolff/codecharta/pull/3271)\r\n- Always show description of suspicious metrics [#3285](https://github.com/MaibornWolff/codecharta/pull/3285)\r\n- Show suspicious metrics and risk profile documentation pages in navigation bar [#3290](https://github.com/MaibornWolff/codecharta/pull/3290)\r\n- Merge filter will now abort execution when an invalid file is specified as input [#3305](https://github.com/MaibornWolff/codecharta/pull/3305)\r\n- Fix formatting issues in docs turning `--` to `\u2013` [#3301](https://github.com/MaibornWolff/codecharta/pull/3301)\r\n\r\n### Changed\r\n\r\n- Adjusted documentation for parser suggestions [#3287](https://github.com/MaibornWolff/codecharta/pull/3287)\r\n- Make the size of the CodeCharta logo more suitable for any screen size and remove MaibornWolff logo [#3302](https://github.com/MaibornWolff/codecharta/pull/3302)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Replace custom Redux adapter through real NgRx [#3271](https://github.com/MaibornWolff/codecharta/pull/3271)\r\n\r\n## [1.116.0] - 2023-04-28\r\n\r\n### Added \u{1f680}\r\n\r\n- Add automatic parser suggestions to recommend usable parsers for a codebase (supports GitLogParser and SonarImporter) when running `ccsh` command [#3275](https://github.com/MaibornWolff/codecharta/pull/3275)
    \r\n ![image](https://user-images.githubusercontent.com/129938897/234309117-c9edd4e7-7c53-4ba7-b849-ec9c3f8f3215.png)\r\n- Add documentation subsections for interactive shell and parser suggestions\r\n\r\n### Changed\r\n\r\n- Changed default behavior when launching ccsh without arguments to parser suggestions [#3275](https://github.com/MaibornWolff/codecharta/pull/3275)\r\n- Old interactive parser selection now reachable by passing `-i` or `--interactive` as arguments [#3275](https://github.com/MaibornWolff/codecharta/pull/3275)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix suspicious metrics and risk profile docs not loading [#3272](https://github.com/MaibornWolff/codecharta/pull/3272)\r\n\r\n## [1.115.1] - 2023-04-06\r\n\r\n### Removed \u{1f5d1}\r\n\r\n- Support for Custom Views created before CodeCharta version 1.110.0 or older is no longer be maintained [#3265](https://github.com/MaibornWolff/codecharta/pull/3265)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix the disappearance of the suspicious metrics labels [#3263](https://github.com/MaibornWolff/codecharta/pull/3263)\r\n- Fix UI components that look different since version 1.115.0 [#3260](https://github.com/MaibornWolff/codecharta/pull/3260)\r\n- Show latest release notes in changelog dialog [#3264](https://github.com/MaibornWolff/codecharta/pull/3264)\r\n\r\n## [1.115.0] - 2023-03-30\r\n\r\n### Added \u{1f680}\r\n\r\n- Display the CodeCharta logo next to the MaibornWolff logo [#3226](https://github.com/MaibornWolff/codecharta/pull/3226)\r\n- Tooltip for primary and secondary metrics that displays AttributeDescriptor information in the sidebar [#3239](https://github.com/MaibornWolff/codecharta/pull/3239)
    \r\n ![image](https://user-images.githubusercontent.com/65733509/227218468-b7d1e1ae-b847-40ab-8513-f3762b8787bb.png)\r\n- Supports adding note to a custom view, provides a preview and an edit option for notes from the selection menu [#3234](https://github.com/MaibornWolff/codecharta/pull/3234)
    \r\n ![image](https://user-images.githubusercontent.com/72517530/226942610-9e08d39c-324d-4de3-81d0-4e5da4e589aa.png)\r\n ![image](https://user-images.githubusercontent.com/72517530/226943152-1bb339bb-c39f-4bf6-a32d-ee8476249f98.png)\r\n\r\n### Changed\r\n\r\n- The Suspicious metrics and Risk profile Feature is now also available outside the Experimental Feature Mode [#2963](https://github.com/MaibornWolff/codecharta/pull/2963)
    \r\n ![image](https://user-images.githubusercontent.com/47224279/222686442-05d4b83c-04d7-4275-b1eb-4339e8906130.jpg)\r\n- Made the background color a bit lighter [#3226](https://github.com/MaibornWolff/codecharta/pull/3226)\r\n- Saturate the distribution bar colors [#3226](https://github.com/MaibornWolff/codecharta/pull/3226)\r\n- Improve the layout of all metric menus [#3226](https://github.com/MaibornWolff/codecharta/pull/3226)\r\n- Improve the layout of the global configuration dialog [#3226](https://github.com/MaibornWolff/codecharta/pull/3226)\r\n- Improve the layout of the metric chooser panel [#3226](https://github.com/MaibornWolff/codecharta/pull/3226)\r\n- Change the primary color to match the color of the CodeCharta logo [#3226](https://github.com/MaibornWolff/codecharta/pull/3226)\r\n- Improve the docs for suspicious metrics and risk profile feature [#3238](https://github.com/MaibornWolff/codecharta/pull/3238)\r\n- Improve Custom Views Dialog [#3238](https://github.com/MaibornWolff/codecharta/pull/3248)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Unselecting a folder in Presentation Mode leads to console error [#3215](https://github.com/MaibornWolff/codecharta/pull/3215)\r\n- Fix Shrunken FileExplorer\'s file list on small displays [#3235](https://github.com/MaibornWolff/codecharta/pull/3235)\r\n- Fix various margin problems in the UI [#3226](https://github.com/MaibornWolff/codecharta/pull/3226)\r\n- Fix bumpy animations when moving/turning the map, hover buildings (showing labels and edges) [#3244](https://github.com/MaibornWolff/codecharta/pull/3244)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Upgrade all material UI components to MDC (not using the UI legacy components any more) [#3226](https://github.com/MaibornWolff/codecharta/pull/3226)\r\n\r\n## [1.114.0] - 2023-01-13\r\n\r\n### Added \u{1f680}\r\n\r\n- Add an option to hide floor labels under the Area Metric Options. This recalculates the map. [#3175](https://github.com/MaibornWolff/codecharta/pull/3175)\r\n\r\n### Removed \u{1f5d1}\r\n\r\n- Camera settings for custom views generated with version 1.101.1 and earlier are now ignored. [#3196](https://github.com/MaibornWolff/codecharta/pull/3196)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Reposition legend panel button again, when attribute sidebar is open [#3183](https://github.com/MaibornWolff/codecharta/pull/3183)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Add attribute descriptors (metric descriptions) to TokeiImporter and SVNlogParser [#3176](https://github.com/MaibornWolff/codecharta/pull/3176)\r\n\r\n## [1.113.0] - 2022-12-15\r\n\r\n### Changed\r\n\r\n- The Custom Views Feature is now also available outside the Experimental Feature Mode [#3079](https://github.com/MaibornWolff/codecharta/pull/3076)
    \r\n ![image](https://user-images.githubusercontent.com/72517530/204557970-0ba31f3b-5209-4707-a2d0-55cc45509f8a.png)\r\n- Please note that the functionality of downloading cc.json maps will no longer be supported from April 2023. Instead, use the Custom View feature to create and share configurations for different views of your map. [#3079](https://github.com/MaibornWolff/codecharta/pull/3076)\r\n- Change tooltips in the legend to show the metric description [#3162](https://github.com/MaibornWolff/codecharta/pull/3162)
    \r\n ![image](https://user-images.githubusercontent.com/27358421/205251507-100b1e1a-d86e-44f3-89cf-f32bf295aabd.png)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Improve metric titles by loading them from cc.json [#3162](https://github.com/MaibornWolff/codecharta/pull/3162)\r\n- Add attribute descriptors to SoureCodeParser [#3166](https://github.com/MaibornWolff/codecharta/pull/3166)\r\n\r\n## [1.112.1] - 2022-12-01\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Reverted PR [#3077](https://github.com/MaibornWolff/codecharta/pull/3077) that introduced a rendering bug, where buildings sizes were not proportional to their area value [#3159](https://github.com/MaibornWolff/codecharta/pull/3159)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Add attribute descriptors to SonarImporter [#3149](https://github.com/MaibornWolff/codecharta/pull/3149)\r\n- Add title field to attribute descriptors [#3158](https://github.com/MaibornWolff/codecharta/pull/3158)\r\n\r\n## [1.112.0] - 2022-11-25\r\n\r\n### Added \u{1f680}\r\n\r\n- New calculation algorithm for treeMap that accounts for paddings and floor labels [#3077](https://github.com/MaibornWolff/codecharta/pull/3077)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix ribbon-bar shadow moving down when search is expanded [#3138](https://github.com/MaibornWolff/codecharta/pull/3138)\r\n- Fix loading errors of maps containing no programming-language-info [#3144](https://github.com/MaibornWolff/codecharta/pull/3144)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Documentation for new treeMap calculation algorithm [#3077](https://github.com/MaibornWolff/codecharta/pull/3077)\r\n- Add attribute descriptors (metric descriptions) to some filters and importers [#3091](https://github.com/MaibornWolff/codecharta/pull/3091)\r\n\r\n## [1.111.0] - 2022-11-17\r\n\r\n### Added \u{1f680}\r\n\r\n- Add description to every Custom View [#3119](https://github.com/MaibornWolff/codecharta/pull/3119)
    \r\n ![image](https://user-images.githubusercontent.com/72517530/201381274-a9a913d5-8f9d-4da6-9f26-6476e194ce3b.png)\r\n- Highlight files and folders with no area metric or an area metric value of zero in the search panel [#3126](https://github.com/MaibornWolff/codecharta/pull/3126)\r\n\r\n### Changed\r\n\r\n- Be aware, that all Custom Views generated with version 1.110.0 or older will be unusable by April 2023 [#3119](https://github.com/MaibornWolff/codecharta/pull/3119)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix Node Context-Menu in Map Tree View opening multiple times [#3135](https://github.com/MaibornWolff/codecharta/pull/3135)\r\n- Fix crashing on focusing or hovering un-rendered buildings [#3123](https://github.com/MaibornWolff/codecharta/pull/3123)\r\n- Fix showing changelog entries in the dialog when a new version is available [#3123](https://github.com/MaibornWolff/codecharta/pull/3129)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Update supported latest browsers [#3125](https://github.com/MaibornWolff/codecharta/pull/3125)\r\n- Split e2e and unit test configs [#3128](https://github.com/MaibornWolff/codecharta/pull/3128)\r\n\r\n## [1.110.0] - 2022-11-04\r\n\r\n### Changed\r\n\r\n- Custom Views are now applicable even if maps or mode are different. Missing maps or map selection mode is displayed in the tooltip [#3090](https://github.com/MaibornWolff/codecharta/pull/3090)\r\n- Be aware, that all Custom Views generated with version 1.109.1 or older will be unusable by April 2023 [#3105](https://github.com/MaibornWolff/codecharta/pull/3105)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix broken link to Custom View documentation [#3101](https://github.com/MaibornWolff/codecharta/pull/3101)\r\n- Don\'t re-center map after every state change like changing area metric [#3109](https://github.com/MaibornWolff/codecharta/pull/3109)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Adjust Custom View API and maintain old Custom Views until April 2023 [#3105](https://github.com/MaibornWolff/codecharta/pull/3105)\r\n- Migrate codeMap.render.service, codeMap.label.service, codeMap.mouseEvent.service, codeMap.arrow.service, codeCharta.service, sharpnessMode.service, isLoadingFile.service, scaling.service and experimentalFeaturesEnabled.service to Angular [#3094](https://github.com/MaibornWolff/codecharta/pull/3094)\r\n- Extract tree map size into a const as this is never changed [3098](https://github.com/MaibornWolff/codecharta/pull/3098)\r\n- Migrate markedPackages.service, edges.service, blacklist.service, files.service and injector.service [3106](https://github.com/MaibornWolff/codecharta/pull/3106)\r\n- Refactor out `LoadInitialFileService` and fix with it loose Promise in tests [#3110](https://github.com/MaibornWolff/codecharta/pull/3110)\r\n- Migrate codeCharta.component, storeService.service and remove AngularJS dual boot from bootstrapping [#3114](https://github.com/MaibornWolff/codecharta/pull/3114)\r\n- Remove obsolete AngularJS dependencies [#3115](https://github.com/MaibornWolff/codecharta/pull/3115)\r\n\r\n## [1.109.1] - 2022-10-12\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix broken links on new GitHub Page \'Docker Containers\' [#3089](https://github.com/MaibornWolff/codecharta/pull/3089)\r\n\r\n## [1.109.0] - 2022-10-12\r\n\r\n### Added \u{1f680}\r\n\r\n- Add description and documentation to Custom View modal [#3085](https://github.com/MaibornWolff/codecharta/pull/3085)\r\n- Add a new button that links the height metric to the color metric so that the colour metric is automatically set to\r\n the selected height metric [#3058](https://github.com/MaibornWolff/codecharta/pull/3058)
    \r\n ![image](https://user-images.githubusercontent.com/72517530/193291144-fdc73a15-2087-47e2-845b-05c666aec71d.png)
    \r\n ![image](https://user-images.githubusercontent.com/72517530/194300920-60ce9fcd-0dd5-46ef-a90b-01d9a29205e6.png)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix interactive GitLogParser using wrong dialogue with repo-scan subcommand [#3073](https://github.com/MaibornWolff/codecharta/pull/3073)\r\n- Fix CodeCharta Analysis container exiting when detached [#3062](https://github.com/MaibornWolff/codecharta/pull/3062)\r\n- Fix CodeCharta Analysis container not coming with the sonar-scanner pre-installed [#3062](https://github.com/MaibornWolff/codecharta/pull/3062)\r\n- Rerender immediately after marking a folder with a color [#3067](https://github.com/MaibornWolff/codecharta/pull/3067)\r\n- Clicking the \'reset height metric settings\' button resets the number of top labels to the dynamic default value [#3066](https://github.com/MaibornWolff/codecharta/pull/3066)\r\n- Unfocus nodes when changing selected files, which prevents the app from crashing [#3072](https://github.com/MaibornWolff/codecharta/pull/3072)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Update Docker Publish Action in Release Pipeline [#3060](https://github.com/MaibornWolff/codecharta/pull/3060)\r\n- Write documentation for docker containers [#3063](https://github.com/MaibornWolff/codecharta/pull/3063)\r\n- Migrate isAttributeSideBarVisible.service, threeScene.service, threeCamera.service and threeStats.service to Angular [#3068](https://github.com/MaibornWolff/codecharta/pull/3068)\r\n- Migrate dialog.service to Angular [#3072](https://github.com/MaibornWolff/codecharta/pull/3072)\r\n- Add documentation for new treeMap algorithm [#3077](https://github.com/MaibornWolff/codecharta/pull/3077)\r\n- Migrate dialog.service to Angular [#3070](https://github.com/MaibornWolff/codecharta/pull/3070)\r\n- Migrate FocusedNodePathService, LayoutAlgorithmService, ThreeOrbitControlsService and ThreeViewerService to Angular [#3072](https://github.com/MaibornWolff/codecharta/pull/3072)\r\n- Migrate updateAttributeTypes.service to Angular [#3082](https://github.com/MaibornWolff/codecharta/pull/3082)\r\n\r\n## [1.108.1] - 2022-09-29\r\n\r\n## Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Update formatting in Docker Release Pipeline [#3059](https://github.com/MaibornWolff/codecharta/pull/3059)\r\n\r\n## [1.108.0] - 2022-09-28\r\n\r\n### Added \u{1f680}\r\n\r\n- Add new Analysis docker container, together with a docker-compose file that contains analysis, visualization and a\r\n SonarQube instance [#3057](https://github.com/MaibornWolff/codecharta/pull/3057)\r\n\r\n### Removed \u{1f5d1}\r\n\r\n- remove outdated Crococosmo, Understand and Jasome Importer from Analysis including its documentation [#3053](https://github.com/MaibornWolff/codecharta/pull/3053)\r\n\r\n## [1.107.0] - 2022-09-27\r\n\r\n### Added \u{1f680}\r\n\r\n- Add subcommand to GitLogParser to run necessary git commands automatically [#3041](https://github.com/MaibornWolff/codecharta/pull/3041)\r\n\r\n### Changed\r\n\r\n- Change default behaviour of GitLogParser to use new subcommands [#3041](https://github.com/MaibornWolff/codecharta/pull/3041)\r\n- Set default value for displaying labels 1 per 100 buildings with a maximum of 10 labels [#3046](https://github.com/MaibornWolff/codecharta/pull/3046)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Uncheck the box when \'reset invert height\' icon is clicked [#3048](https://github.com/MaibornWolff/codecharta/pull/3048)\r\n- Update ReadMe and GitHub pages for MetricGardener [#3045](https://github.com/MaibornWolff/codecharta/pull/3045)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate codeMap.component to Angular with minor internal improvements [#3049](https://github.com/MaibornWolff/codecharta/pull/3049)\r\n- Remove threeUpdateCycle.service [#3050](https://github.com/MaibornWolff/codecharta/pull/3050)\r\n- Migrate metricData.service, edgeMetric.service, nodeMetricData.service and edgeMetricData.service to Angular [#3051](https://github.com/MaibornWolff/codecharta/pull/3051)\r\n- Migrate threeRenderer.service to Angular [#3052](https://github.com/MaibornWolff/codecharta/pull/3052)\r\n\r\n## [1.106.1] - 2022-09-20\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- CC-JSON Files not loaded on Safari browser [#3042](https://github.com/MaibornWolff/codecharta/pull/3042)\r\n- Show loading spinners while loading a file [#2980](https://github.com/MaibornWolff/codecharta/pull/2980)\r\n- Prevent clicking on not opened metric options in ribbon bar [#3029](https://github.com/MaibornWolff/codecharta/pull/3029)\r\n- Set cursor to pointer on color settings panel of delta mode [#3029](https://github.com/MaibornWolff/codecharta/pull/3029)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Throttle rendering and migrate codeMap.preRender.service to Angular [#2980](https://github.com/MaibornWolff/codecharta/pull/2980)\r\n\r\n## [1.106.0] - 2022-09-13\r\n\r\n### Added \u{1f680}\r\n\r\n- Add option to CSVImporter to specify the path column name [#3026](https://github.com/MaibornWolff/codecharta/pull/3026)\r\n\r\n### Changed\r\n\r\n- Stop asking the user to compress a file when printing to stdOut [#3024](https://github.com/MaibornWolff/codecharta/pull/3024)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix anongit script using the wrong whitespace, causing gitlogparser to fail [#3030](https://github.com/MaibornWolff/codecharta/pull/3030)\r\n- Reshow suspicious metrics badge when calculated data has changed [#2997](https://github.com/MaibornWolff/codecharta/pull/2997)\r\n\r\n## [1.105.0] - 2022-09-06\r\n\r\n### Added \u{1f680}\r\n\r\n- Add an option to run MetricGardener before its parser if requested [#3015](https://github.com/MaibornWolff/codecharta/pull/3015)\r\n- Add missing documentation for MetricGardener importer [#3016](https://github.com/MaibornWolff/codecharta/pull/3016)\r\n\r\n### Changed\r\n\r\n- Increase the size of the close button to simplify closing the attribute sidebar [#3014](https://github.com/MaibornWolff/codecharta/pull/3014)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix console error when clicking switch button in delta mode [#3023](https://github.com/MaibornWolff/codecharta/pull/3023)\r\n- Fix broken images to new document pages about how using SonarQube [#3012](https://github.com/MaibornWolff/codecharta/pull/3012)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate tool bar component to Angular [#3020](https://github.com/MaibornWolff/codecharta/pull/3020)\r\n- Remove obsolete AngularJS IsPresentationModeService and ShowOnlyBuildingsWithEdgesService [#3005](https://github.com/MaibornWolff/codecharta/pull/3005)\r\n\r\n## [1.104.1] - 2022-08-31\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix broken links to new document pages about how using SonarQube [#3009](https://github.com/MaibornWolff/codecharta/pull/3009)\r\n\r\n## [1.104.0] - 2022-08-31\r\n\r\n### Added \u{1f680}\r\n\r\n- Copy-to-Clipboard-Button to paste the top 10 files with highest metric values [#2942](https://github.com/MaibornWolff/codecharta/pull/2942), [#2996](https://github.com/MaibornWolff/codecharta/pull/2995)
    \r\n ![image](https://user-images.githubusercontent.com/46388280/184089603-ecfa8e31-8241-42a2-9954-2de554347381.png)
    \r\n ![image](https://user-images.githubusercontent.com/46388280/184089577-5cd2eec0-5293-4083-b629-0e3c5621047c.png)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Correct file types now get appended to the name of the output file when using the interactive ccsh [#2914](https://github.com/MaibornWolff/codecharta/pull/2914)\r\n- Fix exit code handling and update integrationTest\'s golden_test.sh to cover all modules [#2988](https://github.com/MaibornWolff/codecharta/pull/2988)\r\n- Fix missing color pickers within edge metric options [#2993](https://github.com/MaibornWolff/codecharta/pull/2993)\r\n- Fix labels being displayed at an incorrect height and lines being disconnected from labels [#2991](https://github.com/MaibornWolff/codecharta/pull/2991)\r\n- Provides a list of metrics where no calculation could be performed in relation to a suspicion [#2996](https://github.com/MaibornWolff/codecharta/pull/2996)
    \r\n ![missing_values_suspicious_metrics](https://user-images.githubusercontent.com/31436472/187439165-77eda080-ceba-4bab-b077-4f6a2d6162b5.png)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate view cube component and its service to Angular [#2998](https://github.com/MaibornWolff/codecharta/pull/2998)\r\n\r\n## [1.104.0] - 2022-08-29\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate presentation mode button to Angular [#2938](https://github.com/MaibornWolff/codecharta/pull/2938)\r\n\r\n## [1.103.6] - 2022-08-17\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix bug in CompressionStreamHandler\'s input stream validation, that caused endless blocking reads from System.In [#2987](https://github.com/MaibornWolff/codecharta/pull/2987)\r\n\r\n## [1.103.5] - 2022-08-12\r\n\r\n### Changed\r\n\r\n- Update visualization readme file [#2932](https://github.com/MaibornWolff/codecharta/pull/2932)\r\n- Update the documentation for the usage of SonarQube [#2965](https://github.com/MaibornWolff/codecharta/pull/2965)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Add permission to upload-assets action [#2979](https://github.com/MaibornWolff/codecharta/pull/2979), [#2982](https://github.com/MaibornWolff/codecharta/pull/2982)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate download button to Angular [#2973](https://github.com/MaibornWolff/codecharta/pull/2973)\r\n\r\n## [1.103.3] - 2022-08-10\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Update Ubuntu images package list as part of the wine action [#2976](https://github.com/MaibornWolff/codecharta/pull/2976)\r\n\r\n## [1.103.2] - 2022-08-10\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Highlight buildings on hover of file extension bar [#2969](https://github.com/MaibornWolff/codecharta/pull/2969)\r\n- Fix of the npm visualization installation under MacOS by version bumping nwjs [#2974](https://github.com/MaibornWolff/codecharta/pull/2974)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate file extension bar to Angular [#2968](https://github.com/MaibornWolff/codecharta/pull/2968)\r\n\r\n## [1.103.1] - 2022-08-09\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Change release action script in order to show changelog in release notes [#2970](https://github.com/MaibornWolff/codecharta/pull/2970)\r\n\r\n## [1.103.0] - 2022-08-09\r\n\r\n### Changed\r\n\r\n- Update links to demo website [#2961](https://github.com/MaibornWolff/codecharta/pull/2961)\r\n\r\n### Added \u{1f680}\r\n\r\n- Show tooltip with explanation for some metrics [#2957](https://github.com/MaibornWolff/codecharta/pull/2957)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix installation instructions for Apple Silicon [#2956](https://github.com/MaibornWolff/codecharta/pull/2956)\r\n- Fix release tag [#2954](https://github.com/MaibornWolff/codecharta/pull/2954)\r\n- Prevent dark map on unhover [#2959](https://github.com/MaibornWolff/codecharta/pull/2959)\r\n- Zoom in/out time [#2959](https://github.com/MaibornWolff/codecharta/pull/2959)\r\n- Fix webpack build package being corrupt if zipped under linux by changing the compression path [#2934](https://github.com/MaibornWolff/codecharta/pull/2934)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Load metric templates lazily and migrate them to Angular [#2960](https://github.com/MaibornWolff/codecharta/pull/2960)\r\n\r\n## [1.102] - 2022-08-04\r\n\r\n### Changed\r\n\r\n- Changed storing format for camera position within custom views and scenarios. Loading of created custom views or scenarios in old format will stop working in 2023 [2880](https://github.com/MaibornWolff/codecharta/pull/2880)\r\n- Add error messages for the user to "Add Scenario Dialog" [#2928](https://github.com/MaibornWolff/codecharta/pull/2928)\r\n\r\n### Added \u{1f680}\r\n\r\n- Switch reference and comparison file by button click in delta mode [#2933](https://github.com/MaibornWolff/codecharta/pull/2933)\r\n ![image](https://user-images.githubusercontent.com/72517530/182630368-2d2b177d-8b4b-4850-8486-8d9afc7153c5.png)\r\n- Add display of changed files in delta mode (changed := metric values changed or list of applied metrics\r\n changed) [#2890](https://github.com/MaibornWolff/codecharta/pull/2890)\r\n ![image](https://user-images.githubusercontent.com/72517530/182631857-6192dea1-7a01-4684-90a6-d5da8615434a.png)\r\n- Load compressed files (cc.json.gz) via URL parameter [#2917](https://github.com/MaibornWolff/codecharta/pull/2917)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix SonarImporter requesting no metrics from SonarQube when the list of metrics was left empty [#2913](https://github.com/MaibornWolff/codecharta/pull/2913)\r\n- Exclude edge metrics from custom scenarios, when there are no edge metrics available. Before it was impossible to apply those custom configs [#2928](https://github.com/MaibornWolff/codecharta/pull/2928)\r\n- Fix of NoSuchMethodException due to a call of method `readNBytes()` that is not available in Java 9 with replacement call `read()` [#2930](https://github.com/MaibornWolff/codecharta/pull/2930)\r\n- Keep selected metrics when excluding buildings [#2935](https://github.com/MaibornWolff/codecharta/pull/2935)\r\n- Update UI correctly when toggling between standard and delta mode [#2937](https://github.com/MaibornWolff/codecharta/pull/2937)\r\n\r\n## [1.101.1] - 2022-07-27\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Modify build script for GitHub pages in order to provide zipped maps.\r\n\r\n## [1.101.0] - 2022-07-26\r\n\r\n### Added \u{1f680}\r\n\r\n- Transform a metric gardener json file into a code charta json file, that can be correctly visualized [#2675](https://github.com/MaibornWolff/codecharta/pull/2875)\r\n\r\n### Changed\r\n\r\n- Restore previous selected files when switching back from delta to standard mode [#2891](https://github.com/MaibornWolff/codecharta/pull/2891)\r\n- Add more metrics that can be preselected when opening a cc.json file [#2907](https://github.com/MaibornWolff/codecharta/pull/2907) [#2908](https://github.com/MaibornWolff/codecharta/pull/2908)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Let file selection always show what is actual rendered within the map [#2891](https://github.com/MaibornWolff/codecharta/pull/2891)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Improve performance by slightly delaying node-name popups and removing unused functionality [#2897](https://github.com/MaibornWolff/codecharta/pull/2897)\r\n\r\n## [1.100.0] - 2022-07-12\r\n\r\n### Added \u{1f680}\r\n\r\n- Add a description for the statements metric [#2883](https://github.com/MaibornWolff/codecharta/pull/2883)\r\n\r\n### Changed\r\n\r\n- Select matching metric combination based on available metrics [#2862](https://github.com/MaibornWolff/codecharta/pull/2862)\r\n- Unify UI of buttons in toolbar [#2857](https://github.com/MaibornWolff/codecharta/pull/2857)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix resetting of color range within color settings panel [#2877](https://github.com/MaibornWolff/codecharta/pull/2877)\r\n- Fix resetting of colors in delta mode within color settings panel [#2873](https://github.com/MaibornWolff/codecharta/pull/2873)\r\n- Restore global settings on page load again [#2878](https://github.com/MaibornWolff/codecharta/pull/2878)\r\n- Fix \'undefinded\' being displayed as a metric description when no description was available [#2883](https://github.com/MaibornWolff/codecharta/pull/2883)\r\n- Fix windows standalone builds [#2881](https://github.com/MaibornWolff/codecharta/pull/2881)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate color settings panel to Angular [#2873](https://github.com/MaibornWolff/codecharta/pull/2873)\r\n\r\n## [1.99.1] - 2022-06-22\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix packaging of standalone app for macOS and Windows [#2847](https://github.com/MaibornWolff/codecharta/pull/2847)\r\n- Fix dialogparser test of sourcecode parser[#2860](https://github.com/MaibornWolff/codecharta/pull/2860)\r\n\r\n## [1.99.0] - 2022-06-21\r\n\r\n### Added \u{1f680}\r\n\r\n- Add interactive dialog support for the remaining parsers [#2833](https://github.com/MaibornWolff/codecharta/pull/2833) [#2836](https://github.com/MaibornWolff/codecharta/pull/2836) [#2842](https://github.com/MaibornWolff/codecharta/pull/2842) [#2843](https://github.com/MaibornWolff/codecharta/pull/2843) [#2846](https://github.com/MaibornWolff/codecharta/pull/2846)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix analysis bug where importers would get stuck before file output [#2854](https://github.com/MaibornWolff/codecharta/pull/2854)\r\n- Use correct icon for height metric chooser again [#2851](https://github.com/MaibornWolff/codecharta/pull/2851)\r\n- Close height metric option instead of making it only invisible on close [#2853](https://github.com/MaibornWolff/codecharta/pull/2853)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate changelog dialog to Angular [#2849](https://github.com/MaibornWolff/codecharta/pull/2849)\r\n- Migrate node path panel to Angular [#2855](https://github.com/MaibornWolff/codecharta/pull/2855)\r\n\r\n## [1.98.0] - 2022-06-14\r\n\r\n### Added \u{1f680}\r\n\r\n- Add missing documentation for ccsh filters and csv exporter [#2831](https://github.com/MaibornWolff/codecharta/pull/2831)\r\n- Add support for compressed files to all analysis filters and to `check` validation [#2820](https://github.com/MaibornWolff/codecharta/pull/2820)\r\n\r\n### Changed\r\n\r\n- Update Readme file [#2837](https://github.com/MaibornWolff/codecharta/pull/2837)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Default selected metrics on file changes when default scenario is not applicable [#2828](https://github.com/MaibornWolff/codecharta/pull/2828)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Remove old references to single mode states and actions [#2574](https://github.com/MaibornWolff/codecharta/pull/2841)\r\n- Rename multiple mode references to standard [#2574](https://github.com/MaibornWolff/codecharta/pull/2848)\r\n\r\n## [1.97.0] - 2022-05-31\r\n\r\n### Added \u{1f680}\r\n\r\n- Add interactive dialog support for the parsers [#2737](https://github.com/MaibornWolff/codecharta/pull/2737) [#2822](https://github.com/MaibornWolff/codecharta/pull/2822)
    \r\n ![m](https://user-images.githubusercontent.com/48621967/161549546-1463914e-c223-4912-acb1-db4e357e76c5.png)\r\n\r\n### Changed\r\n\r\n- Hide color metric range-slider in color metric options of ribbon bar in delta mode instead of disabling it [#2797](https://github.com/MaibornWolff/codecharta/pull/2797)\r\n- Display max value of selected distribution metric in file extension bar [#2824](https://github.com/MaibornWolff/codecharta/pull/2824)\r\n- Display max value of selected metric in all metric chooser of ribbon bar [#2825](https://github.com/MaibornWolff/codecharta/pull/2825)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Handle invalid input of range-slider correctly [#2797](https://github.com/MaibornWolff/codecharta/pull/2797)\r\n- Use real color range min value instead of 0 and take color range min value into account for calculating initial first third of positive color [#2797](https://github.com/MaibornWolff/codecharta/pull/2797)\r\n- Fix range-slider in case of min value equal to max value [#2797](https://github.com/MaibornWolff/codecharta/pull/2797)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Track not only changes to color metric options by slider but also by related input field [#2797](https://github.com/MaibornWolff/codecharta/pull/2797)\r\n- Migrate center-map-button-component to Angular [#2809](https://github.com/MaibornWolff/codecharta/pull/2809)\r\n- Migrate the following components to Angular: globalSettingsButton.component, dialog.globalSettings.component, layoutSelection.component, sharpnessModeSelector.component, maxTreeMapFiles.component, maxTreeMapFiles.service, hideFlatBuildings.service, resetCameraIfNewFileIsLoaded.service [#2815](https://github.com/MaibornWolff/codecharta/pull/2815)\r\n- Migrate area-settings-panel-component to Angular [#2821](https://github.com/MaibornWolff/codecharta/pull/2821)\r\n\r\n## [1.96.0] - 2022-05-17\r\n\r\n### Changed\r\n\r\n- Remove all mentions of regular `.cc` `.json` `.gz` file extensions from file panel and sidebar [#2793](https://github.com/MaibornWolff/codecharta/pull/2793)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Update slider of area metric options correctly on changes of related input field [#2787](https://github.com/MaibornWolff/codecharta/pull/2787)\r\n- Limit length of labels in legend panel [#2804](https://github.com/MaibornWolff/codecharta/pull/2804)\r\n- Prevent invalid input for margin in area metric options to be submitted [#2799](https://github.com/MaibornWolff/codecharta/pull/2799)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Introduce custom angular material theme [#2784](https://github.com/MaibornWolff/codecharta/pull/2784)\r\n- Migrate height-settings-panel-component [#2790](https://github.com/MaibornWolff/codecharta/pull/2790)\r\n- Fully migrate custom-config-component [#2760](https://github.com/MaibornWolff/codecharta/pull/2760)\r\n\r\n## [1.95.2] - 2022-04-19\r\n\r\n### Changed\r\n\r\n- Restrict upload in custom views menu to custom views. Custom views uploaded in the custom views menu are now allowed to have an arbitrary file suffix [#2773](https://github.com/MaibornWolff/codecharta/pull/2773)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate reset-settings-button-component to Angular [#2774](https://github.com/MaibornWolff/codecharta/pull/2774)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Set files loaded via URL to multiple mode by default when delta mode is not selected [#2769](https://github.com/MaibornWolff/codecharta/pull/2769)\r\n\r\n## [1.95.1] - 2022-04-01\r\n\r\n### Changed\r\n\r\n- Display project name as file name (if not empty or blank) for loaded files via URL [#2767](https://github.com/MaibornWolff/codecharta/pull/2767)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fixes floor labels being drawn next to the map if margin was changed after map height is unequal to 1 [#2763](https://github.com/MaibornWolff/codecharta/pull/2763)\r\n- Fixes floor labels being stuck inside folder geometry when scaling [#2766](https://github.com/MaibornWolff/codecharta/pull/2766)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate metric-hovered-value-component to Angular [#2752](https://github.com/MaibornWolff/codecharta/pull/2752)\r\n\r\n## [1.95.0] - 2022-03-28\r\n\r\n### Added \u{1f680}\r\n\r\n- Focused gradient option for color metric. Only applies a gradient between the two set borders. [#2750](https://github.com/MaibornWolff/codecharta/pull/2750)\r\n\r\n### Changed\r\n\r\n- Mark SCMLogParserV2 as stable and deprecate SCMLogParser for Git [2725](https://github.com/MaibornWolff/codecharta/pull/2725)\r\n - Rename SCMLogParserV2 to GitLogParser\r\n - Rename SCMLogParser to SVNLogParser and remove git parsing\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Set initially correct attribute type of primary edge metric in attribute sidebar [#2731](https://github.com/MaibornWolff/codecharta/issues/2731)\r\n- Fix switching secondary metrics to median aggregation in attribute sidebar [#2630](https://github.com/MaibornWolff/codecharta/issues/2630)\r\n\r\n## [1.94.0] - 2022-03-21\r\n\r\n### Changed\r\n\r\n- Improve sonarimport help message [#2717](https://github.com/MaibornWolff/codecharta/pull/2717)\r\n- Remove blacklist entry on click of name as well [#2712](https://github.com/MaibornWolff/codecharta/pull/2712)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate add `custom config button` in ribbonbar to Angular [#2736](https://github.com/MaibornWolff/codecharta/pull/2736)\r\n\r\n## [1.93.0] - 2022-03-14\r\n\r\n### Added \u{1f680}\r\n\r\n- Show amount of added and removed files in attribute sidebar when delta mode is enabled and a folder is selected [#2701](https://github.com/MaibornWolff/codecharta/pull/2701/files)
    \r\n ![xs](https://user-images.githubusercontent.com/72517530/157468180-4e2d052b-63b8-4040-bb22-b633a24d3b8a.png)\r\n\r\n### Changed\r\n\r\n- Suspicious metrics and risk profile are calculated for all selected maps [#2721](https://github.com/MaibornWolff/codecharta/pull/2721)\r\n- Close search panel and ribbon bar dropdowns on every outside click [#2692](https://github.com/MaibornWolff/codecharta/issues/2692)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix GameObjects importer edge cases [#2705](https://github.com/MaibornWolff/codecharta/pull/2705)\r\n\r\n## [1.92.1] - 2022-03-07\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix removing maps with long file names [#2696](https://github.com/MaibornWolff/codecharta/pull/2697)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate search-bar-component to Angular [#2686](https://github.com/MaibornWolff/codecharta/pull/2686)\r\n\r\n## [1.92.0] - 2022-03-01\r\n\r\n### Changed\r\n\r\n- Design and add a new CodeChara Logo [#2682](https://github.com/MaibornWolff/codecharta/pull/2682)
    \r\n ![xs](https://user-images.githubusercontent.com/48621967/155682925-ecc9fe5d-77de-4927-9c6a-b1059ae9eead.png)\r\n- Risk profile is now calculated for every occurring programming languages in selected file(s)[#2679](https://github.com/MaibornWolff/codecharta/pull/2679)\r\n\r\n## [1.91.1] - 2022-02-25\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix loading of files without edge metric never finished [#2680](https://github.com/MaibornWolff/codecharta/issues/2680)\r\n\r\n## [1.91.0] - 2022-02-21\r\n\r\n### Changed\r\n\r\n- Refactor edge metric panel [#2670](https://github.com/MaibornWolff/codecharta/pull/2670)\r\n - Remove edge metric option \'none\'\r\n - By default, the first edge metric is enabled when map has edge metrics\r\n - Disable edge metric panel when loaded map has no edge metrics\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Improve loading times by reducing the size of JavaScript files [#2667](https://github.com/MaibornWolff/codecharta/pull/2667)\r\n- Fix loading of files without edge metric never finished [#2680](https://github.com/MaibornWolff/codecharta/issues/2680)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate loading gifs to Angular and remove now unused `isLoadingMap.service` [#2668](https://github.com/MaibornWolff/codecharta/pull/2668)\r\n\r\n## [1.90.0] - 2022-02-15\r\n\r\n### Added \u{1f680}\r\n\r\n- Parse and import GameObjects file structure into cc.json on upload [#2646](https://github.com/MaibornWolff/codecharta/pull/2646)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix flaky string comparison possibly due to puppeteer update [#2659](https://github.com/MaibornWolff/codecharta/pull/2659)\r\n- Fix show garbage bin next to the loaded maps [#2647](https://github.com/MaibornWolff/codecharta/pull/2647)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Run standalone version of CodeCharta in Node.js web target (and disable [#1314](https://github.com/MaibornWolff/codecharta/issues/1314)), so that local storage is available [#2637](https://github.com/MaibornWolff/codecharta/pull/2637)\r\n\r\n## [1.89.0] - 2022-02-07\r\n\r\n### Added \u{1f680}\r\n\r\n- Add area metric option to invert the amount of area, which is used for the nodes [#2626](https://github.com/MaibornWolff/codecharta/pull/2626)\r\n- Add button to clear search field [#2638](https://github.com/MaibornWolff/codecharta/pull/2638)
    \r\n ![xs](https://user-images.githubusercontent.com/48218172/151999974-3b8a7cca-52b2-4757-b3c0-e3b2e36ad237.png)\r\n\r\n### Changed\r\n\r\n- New buttons for selecting attribute types [#2631](https://github.com/MaibornWolff/codecharta/pull/2631)\r\n ![xs](https://user-images.githubusercontent.com/72517530/151762455-07e47bf5-18aa-4721-a60a-6dfee057e1e5.png)\r\n- Migrate context menu with slightly new layout touch to Angular. Migrated version prevents rendering outside of view [#1661](https://github.com/MaibornWolff/codecharta/issues/1661)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Remove delay of keeping a building highlight permanently [#2641](https://github.com/MaibornWolff/codecharta/issues/2641)\r\n\r\n## [1.88.0] - 2022-01-24\r\n\r\n### Changed\r\n\r\n- Rename custom configs to custom view [#2625](https://github.com/MaibornWolff/codecharta/pull/2625)\r\n- Combine single and multiple mode into standard mode [#2578](https://github.com/MaibornWolff/codecharta/pull/2578)\r\n ![xs](https://user-images.githubusercontent.com/72517530/150765617-2d66eb78-2c26-45c5-b63b-f84994ed88ab.png)\r\n- Improve file validation handling and provide more descriptive import messages [#2604](https://github.com/MaibornWolff/codecharta/pull/2604)\r\n ![xs](https://user-images.githubusercontent.com/48621967/150532207-f3b482ed-3a14-43c0-b1a3-80ac4c25d5e0.png)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix Image not shown in what is new dialog [#2610](https://github.com/MaibornWolff/codecharta/pull/2610)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n - Unfocus focused node only when map starts to load and not also when map has finished loading. This shouldn\'t change any behavior for the user [#2614](https://github.com/MaibornWolff/codecharta/pull/2614)\r\n\r\n## [1.87.1] - 2022-01-17\r\n\r\n### Changed\r\n\r\n- User-friendly renaming for display quality options [#2601](https://github.com/MaibornWolff/codecharta/pull/2601)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix color of selected building in delta mode [#2603](https://github.com/MaibornWolff/codecharta/pull/2603)\r\n- Fix link to news page when clicking \'Know more\' button changelog dialog [#2602](https://github.com/MaibornWolff/codecharta/pull/2602)\r\n- Fix Image not shown in what is new dialog [#2610](https://github.com/MaibornWolff/codecharta/pull/2610)\r\n\r\n## [1.87.0] - 2022-01-11\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate `unfocus-button-component` to Angular.\r\n\r\n### Changed\r\n\r\n- Remove suspicious metrics from custom map configurations [#2564](https://github.com/MaibornWolff/codecharta/pull/2564).\r\n- Add \'show/hide non-applicable CustomConfigs\' button to Custom Configs menu [#2591](https://github.com/MaibornWolff/codecharta/pull/2591).\r\n\r\n## [1.86.0] - 2021-12-20\r\n\r\n### Added \u{1f680}\r\n\r\n- Add 3D export feature for 3D printing [#2561](https://github.com/MaibornWolff/codecharta/pull/2561).
    \r\n ![xs](https://user-images.githubusercontent.com/48621967/146173663-e0ea177e-6ed8-4ddb-bd11-410415541e9f.png)\r\n ![l](https://user-images.githubusercontent.com/48621967/146174397-42a6e475-ed2f-47c0-ba9c-4f8304d53399.png)\r\n\r\n### Changed\r\n\r\n- Replace all color pickers in the context of ongoing Angular migration [#2560](https://github.com/MaibornWolff/codecharta/pull/2560).\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix showing names of custom configs properly [#2557](https://github.com/MaibornWolff/codecharta/pull/2557).\r\n- Fix minor memory leak in context menu for code map buildings [#2565](https://github.com/MaibornWolff/codecharta/issues/2565).\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Migrate legend panel to Angular [#2560](https://github.com/MaibornWolff/codecharta/pull/2560).\r\n\r\n## [1.85.0] - 2021-12-13\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix delta values of secondary metrics not shown in delta mode within attribute side bar [#2539](https://github.com/MaibornWolff/codecharta/issues/2539).\r\n- Use icon tag instead of font awesome icon [#2537](https://github.com/MaibornWolff/codecharta/pull/2537).\r\n- Rename text for placeholder of metric chooser [#2547](https://github.com/MaibornWolff/codecharta/pull/2547)\r\n- Fix attribute type selector of primary edge metric not shown [#2528](https://github.com/MaibornWolff/codecharta/issues/2528).\r\n- Identical files and files with identical file names but different hashes can be loaded [#2548](https://github.com/MaibornWolff/codecharta/pull/2548)\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Remove `secondaryMetrics` from store and remove `secondaryMetrics.service` as the data can be derived from selected node [#2527](https://github.com/MaibornWolff/codecharta/pull/2527).\r\n- Migrate `attribute-side-bar-component` to Angular [#2527](https://github.com/MaibornWolff/codecharta/pull/2527).\r\n- Switch from Webpack 4 Loaders to Asset Module to load icons properly with css-loader 6.x [#2542](https://github.com/MaibornWolff/codecharta/pull/2542).\r\n\r\n### Removed \u{1f5d1}\r\n\r\n- Remove notification dialog when deleting a custom config [#2553](https://github.com/MaibornWolff/codecharta/pull/2553)\r\n\r\n## [1.84.1] - 2021-11-29\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix compressed files not being loaded ([#2524](https://github.com/MaibornWolff/codecharta/pull/2525))\r\n\r\n## [1.84.0] - 2021-11-22\r\n\r\n### Changed\r\n\r\n- Improved the UI and usability of the Suspicious Metrics Feature ([#2376](https://github.com/MaibornWolff/codecharta/pull/2494))
    \r\n - The Metrics and the Analysis are now split in two menus
    \r\n ![xs](https://user-images.githubusercontent.com/48621967/141795078-bb856f53-1bc3-4c09-8be5-d031899835ae.png)\r\n - The Suspicious Metrics are now sorted with the Very High Risk on top
    \r\n ![m](https://user-images.githubusercontent.com/48621967/141793011-1bfc0e19-bd3a-4bd2-af70-c3dd472821b6.png)\r\n - The bar in the analysis shows the percentages
    \r\n ![m](https://user-images.githubusercontent.com/48621967/141791111-564778fa-b767-4ee4-b024-6856f1a79b4b.png)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix showing labels when weighted gradient on yellow buildings in color metric options are enabled ([#2511](https://github.com/MaibornWolff/codecharta/pull/2511))\r\n- Fix rounding of the sum of percentages in risk profile ([#2393](https://github.com/MaibornWolff/codecharta/pull/2516))\r\n- Fix legend panel not having a background ([#2422](https://github.com/MaibornWolff/codecharta/pull/2510))\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Remove `nodeSearch.service.ts` and `searchedNodePaths` from store as they can be derived from `searchPattern` ([#2495](https://github.com/MaibornWolff/codecharta/pull/2495)).\r\n- Refactor where metric data are calculated ([#2514](https://github.com/MaibornWolff/codecharta/pull/2514)).\r\n- Migrate `attribute-type-selector-component` to Angular ([#2519](https://github.com/MaibornWolff/codecharta/pull/2519)).\r\n\r\n## [1.83.1] - 2021-11-10\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix loading files from URL in Web Demo ([#2494](https://github.com/MaibornWolff/codecharta/pull/2494))\r\n\r\n## [1.83.0] - 2021-11-09\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix unwanted calculations of suspicious metrics when experimental features are disabled ([#2471](https://github.com/MaibornWolff/codecharta/pull/2471))\r\n- Fix UI issues in the configuration panel ([#2322](https://github.com/maibornwolff/codecharta/issues/2322))\r\n- Fix tooltip of sorting order button in map tree view showing wrong sorting order ([#2473](https://github.com/maibornwolff/codecharta/issues/2473))\r\n\r\n### Changed\r\n\r\n- Calculate MD5 checksum when generating .cc.json files ([#2411](https://github.com/MaibornWolff/codecharta/pull/2450))\r\n\r\n## [1.82.0] - 2021-10-18\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix what\'s new section including the last opened version ([#2447](https://github.com/MaibornWolff/codecharta/pull/2453))\r\n- Fix unfocus button text not showing correctly ([#2439](https://github.com/MaibornWolff/codecharta/pull/2439))\r\n\r\n### Changed\r\n\r\n- Folders in the Folder structure view of the top left come now always before any files, regardless of the sort order.\r\n\r\n## [1.81.0] - 2021-10-11\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix color picker not being usable ([#2439](https://github.com/MaibornWolff/codecharta/pull/2439))\r\n- Fix Changelog inconsistencies ([#2425](https://github.com/MaibornWolff/codecharta/pull/2425))
    \r\n ![xl](https://user-images.githubusercontent.com/48621967/135866024-ee06119a-1a62-4912-90df-ac3aa9216608.PNG)\r\n- Fix memory and performance issues related to drawing labels on floors/folders ([#2348](https://github.com/MaibornWolff/codecharta/issues/2348)).\r\n- Hides legend block if label description is not available and adds new metric descriptions ([#2377](https://github.com/maibornwolff/codecharta/issues/2377)).\r\n\r\n## [1.80.0] - 2021-10-04\r\n\r\n### Added \u{1f680}\r\n\r\n- Adds feature to display building colors as a gradients ([#2327](https://github.com/MaibornWolff/codecharta/issues/2327)).\r\n - "Weighted Gradient" only mixes colors in a small interval around the preset values.\r\n - "True Gradient" mixes colors from the 0 to the highest value, the two preset color range values determine the balance.\r\n - "Absolute" represents the old behaviour without gradients.
    \r\n ![l](https://user-images.githubusercontent.com/42114276/134924267-245c65c9-2893-43a8-9a0a-17e3182bf15a.JPG)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix broken file/node search #2389\r\n- Fix changelog inconsistencies ([#2425](https://github.com/MaibornWolff/codecharta/pull/2425))\r\n\r\n## [1.79.0] - 2021-09-20\r\n\r\n### Added \u{1f680}\r\n\r\n- Add metric descriptions to the frontend and show a translation next to the entry ([#2330](https://github.com/MaibornWolff/codecharta/issues/2330))
    \r\n \r\n- An option has been added to the global settings to enable copying screenshots to clipboard instead of saving them in a file ([#2326](https://github.com/MaibornWolff/codecharta/issues/2326))
    \r\n ![xl](https://user-images.githubusercontent.com/57844849/131342771-a3c637e3-8241-49aa-8d51-71e3a8d38aef.png)\r\n- Add changelog guidelines ([#2358](https://github.com/MaibornWolff/codecharta/pull/2358))\r\n- A changelog dialog with the latest additions to CodeCharta appears on version update ([#1315](https://github.com/MaibornWolff/codecharta/pull/2342))
    \r\n ![xl](https://user-images.githubusercontent.com/48621967/131360878-a8e1ef40-7f73-4de7-8b3f-4c8dc21448da.PNG)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Fix broken method call in screenshot feature.\r\n- Improve changelog entries.\r\n\r\n### Changed\r\n\r\n- Changing the background color and remove "outgoing" and "incoming" edges from the legend, if not applicable ([#2330](https://github.com/MaibornWolff/codecharta/issues/2330))\r\n- Improve the user experience for the AI Feature "Suspicious Metrics and Risk Profiles" and enable it for any programming language ([#2362](https://github.com/MaibornWolff/codecharta/pull/2362))
    \r\n ![m](https://user-images.githubusercontent.com/26900540/133250867-adf4583d-9d0e-4f81-b8a7-1407b93d9f40.png)\r\n\r\n## [1.78.0] - 2021-09-06\r\n\r\n### Added \u{1f680}\r\n\r\n- A changelog dialog with the latest additions to CodeCharta appears on version update ([#1315](https://github.com/MaibornWolff/codecharta/issues/1315))\r\n- Add documentation for SCMLogParserV2 ([#1349](https://github.com/maibornwolff/codecharta/issues/1349))\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Empty temporary label during hovering ([#2328](https://github.com/maibornwolff/codecharta/issues/2328))\r\n- Show the screenshot hotkey in the screenshot title ([#2323](https://github.com/maibornwolff/codecharta/issues/2323))\r\n- Improved rendering performance ([#2345](https://github.com/MaibornWolff/codecharta/pull/2345))\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Update GH-Pages and visualization dependencies ([#2356](https://github.com/maibornwolff/codecharta/issues/2356))\r\n\r\n## [1.77.0] - 2021-07-30\r\n\r\n### Added \u{1f680}\r\n\r\n- The "Color Metric Options" panel and "Legend" panel display the maximum value of the selected metric instead of infinite. ([#1520](https://github.com/maibornwolff/codecharta/issues/1520))\r\n- Mark color-section as unimportant in delta mode ([#769](https://github.com/maibornwolff/codecharta/issues/769))\r\n\r\n### Changed\r\n\r\n- Small ui improvements added. ([#1881](https://github.com/MaibornWolff/codecharta/issues/1881))\r\n- Numbers/Percentages always show in the distribution bar([#1540](https://github.com/MaibornWolff/codecharta/issues/1540))\r\n - Toggle between percentage and absolute numbers by clicking anywhere on the (expanded) distribution bar.\r\n - The old expanded distribution bar is now accessible through a button.\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- It is no longer possible to exclude all files on the map ([#901](https://github.com/MaibornWolff/codecharta/issues/901))\r\n\r\n## [1.76.0] - 2021-07-13\r\n\r\n### Added \u{1f680}\r\n\r\n- Custom metric scenarios which include the \'Color-Metric\' (rloc) will now also save any changes made to the color scheme.\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Performance improvements when loading new files. ([#1312](https://github.com/maibornwolff/codecharta/issues/1312))\r\n\r\n## [1.75.0] - 2021-07-05\r\n\r\n### Added \u{1f680}\r\n\r\n- Imported files are now compressed by default. Use the -nc parameter to uncompress the files. ([#1702](https://github.com/maibornwolff/codecharta/issues/1702))\r\n- Export the current view as a png image by using "Ctrl+Alt+S" or clicking the corresponding button ([#674](https://github.com/MaibornWolff/codecharta/issues/674))\r\n- Show only labels of buildings according to a chosen color ([#1347](https://github.com/MaibornWolff/codecharta/issues/1347))\r\n- New buttons to reset the color hex values and color metric thresholds separately ([#1613](https://github.com/MaibornWolff/codecharta/issues/1613))
    \r\n ![l](https://user-images.githubusercontent.com/50167165/121889295-5b071780-cd19-11eb-87ef-aba0ab0c6c09.png)\r\n\r\n### Changed\r\n\r\n- Metric aggregations now work as intended and are available from the sidebar when selecting folders ([#1953](https://github.com/MaibornWolff/codecharta/issues/1953))\r\n- Opening new files does no longer remove old ones.\r\n - Already loaded files can be individually removed.\r\n - The \'Multiple\' view will select the latest files.
    \r\n ![l](https://user-images.githubusercontent.com/50167165/123071234-c6856f00-d414-11eb-8326-e25f614e75d7.png)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- It is now possible to rotate the map by rotating the view cube ([#353](https://github.com/MaibornWolff/codecharta/issues/353))\r\n\r\n## [1.74.0] - 2021-05-31\r\n\r\n### Added \u{1f680}\r\n\r\n- SonarImport: SonarQube 8.8 support. Older versions are still supported.\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Only show labels for building included in the search\r\n- Color slider not initialized correctly ([#1592](https://github.com/MaibornWolff/codecharta/issues/1592))\r\n\r\n## [1.73.0] - 2021-05-10\r\n\r\n### Added \u{1f680}\r\n\r\n- Improve descriptions ([#1879](https://github.com/MaibornWolff/codecharta/issues/1879))\r\n

    \r\n ![m](https://user-images.githubusercontent.com/57844849/115393175-b2897b00-a1e1-11eb-8601-d2128f3469a3.png)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Excluding in delta mode is broken ([#1578](https://github.com/MaibornWolff/codecharta/issues/1578))\r\n (Inclusion and exclusion of files using wildcard searches in the flatten and exclude operations)\r\n- Fix labels and lines missing a connection in some cases([#1716](https://github.com/MaibornWolff/codecharta/issues/1716))\r\n- Ribbons resizing when expanding ([#1952](https://github.com/MaibornWolff/codecharta/issues/1952))\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Fix breaking changes with newest three-js version([#1877](https://github.com/MaibornWolff/codecharta/issues/1877))\r\n\r\n## [1.72.0] - 2021-04-22\r\n\r\n### Added \u{1f680}\r\n\r\n- Hints for Global Settings ([#1715](https://github.com/MaibornWolff/codecharta/issues/1715))\r\n- Indicate total nodes and excluded / flattened nodes in file explorer ([#1880](https://github.com/MaibornWolff/codecharta/issues/1880))\r\n- Add path to node context menu ([#1667](https://github.com/MaibornWolff/codecharta/issues/1667))\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Made the header semi responsive ([#1037](https://github.com/MaibornWolff/codecharta/issues/1037))\r\n\r\n## [1.71.2] - 2021-03-16\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- DevOps pipeline changes\r\n- Fixed web visualization in github\r\n\r\n## [1.71.1] - 2021-03-16\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- DevOps pipeline changes\r\n\r\n## [1.71.0] - 2021-03-16\r\n\r\n### Changed\r\n\r\n- Disable unready AI function\r\n- Fix linter errors\r\n- Fix editorconfig\r\n\r\n## [1.70.2] - 2021-03-12\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- DevOps pipeline changes\r\n- Project naming for Docker deployment\r\n\r\n## [1.70.1] - 2021-03-12\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- DevOps pipeline changes\r\n\r\n## [1.70.0] - 2021-03-09\r\n\r\n### Changed\r\n\r\n- Render on demand ([#1728](https://github.com/MaibornWolff/codecharta/issues/1728))\r\n\r\n### Fixed\r\n\r\n- Memory leaks\r\n\r\n## [1.69.0] - 2021-02-23\r\n\r\n### Added \u{1f680}\r\n\r\n- Added WebGL FXAA antialias & PixelRatio Options in order to achieve better resolution on high dpi displays(https://github.com/MaibornWolff/codecharta/pull/1551).

    \r\n ![option dialog](https://user-images.githubusercontent.com/74670211/106582136-f4404900-6543-11eb-8f5b-5e1ec47457c7.png)\r\n There are 4 available modes:\r\n - **standard mode**: the pixel density is only applied to the small cube with standard browser aliasing\r\n - **pixel ratio without aliasing**: no antialiasing is used\r\n - **pixel ration with FXAA**: Nvidia FXAA antialiasing shader is used as an alisaing technique. this has better perfromance the standard browser aliasing aliasing\r\n - **pixel ration with MSAA**: this is the best aliasing quality, slower then FXAA.\r\n- Added GPU Stats (only in dev mode)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Unfocus now respects the focus depth ([#1099](https://github.com/MaibornWolff/codecharta/issues/1099))\r\n- Track anonymous usage data also for older CodeCharta API versions and fix some minor bugs.\r\n\r\n## [1.68.0] - 2021-02-08\r\n\r\n### Added \u{1f680}\r\n\r\n- A new experimental feature has been added to track anonymous metadata of a currently loaded map.\r\n - Neither the map name nor file names will be tracked but anonymous metric values and statistics like (average, min, max).\r\n - The tracked data will not be sent to a server yet. Instead, it can be downloaded as a json file in the Global Settings for now.\r\n - It is planned to send the anonymous data to a server in the future, so that we can collect tracking data automatically.\r\n - ![example of new feature](https://user-images.githubusercontent.com/26900540/106896300-ac5f2480-66f1-11eb-8096-246d1733c0ee.png)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Errors occurred in delta mode if names of root folders were different\r\n- Switching maps in delta mode now shows the differences between the maps ([#1606](https://github.com/maibornwolff/codecharta/issues/1606))\r\n- Label over hovered building not shown for height Metric value of zero ([#1623](https://github.com/MaibornWolff/codecharta/issues/1623))\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- CodeChartaStorage class has been introduced to dynamically store values either on disk (standalone version) or in the localStorage (web version). This is the first step to solve [#684](https://github.com/MaibornWolff/codecharta/issues/684).\r\n\r\n## [1.67.0] - 2021-01-26\r\n\r\n### Added \u{1f680}\r\n\r\n- Allow opening files from local drive by double clicking on the buildings or clicking on their names ([#1314](https://github.com/MaibornWolff/codecharta/issues/1314))\r\n - Only available in the standalone version!\r\n - files are opened in associated third-party applications\r\n - web-links are opened in a browser window\r\n- Allow customized color in the node context menu ([#1556](https://github.com/MaibornWolff/codecharta/issues/1556)).\r\n\r\n [!example of new feature #1556](https://user-images.githubusercontent.com/3596742/104302048-a007f300-54c8-11eb-86c1-287483884783.png)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- fixed wrong max tree map visibility ([#1624](https://github.com/MaibornWolff/codecharta/issues/1624))\r\n- fixed incorrect label placement on delta maps that share no common nodes ([#1686](https://github.com/MaibornWolff/codecharta/issues/1686))\r\n\r\n## [1.66.0] - 2021-01-18\r\n\r\n### Added \u{1f680}\r\n\r\n- Allow color of buildings to be customizable in the ribbon bar and in the legend. Colors of edges are now customizable as well ([#1533](https://github.com/MaibornWolff/codecharta/issues/1533))

    \r\n ![example of new feature](https://user-images.githubusercontent.com/3596742/103547861-3c1c7380-4ea5-11eb-8df2-541caf65b9df.png)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Global settings not reverting to default ones ([#1632](https://github.com/MaibornWolff/codecharta/issues/1632))\r\n- Maximum treemap files shown in squarified node ([#1624](https://github.com/MaibornWolff/codecharta/issues/1624))\r\n- Wrong folder names and colors in legend when using the highlight folder feature ([#1555](https://github.com/MaibornWolff/codecharta/issues/1555))\r\n- Temporary labels are placed at the wrong height for scaled buildings ([#1618](https://github.com/MaibornWolff/codecharta/issues/1618))\r\n- Visible labels will disappear or placed lower for scaled buildings ([#1619](https://github.com/MaibornWolff/codecharta/issues/1619))\r\n- Unnecessary break line for secondary metrics ([#1093](https://github.com/MaibornWolff/codecharta/issues/1093))\r\n\r\n## [1.65.0] - 2020-12-23\r\n\r\n### Added \u{1f680}\r\n\r\n- Highlight label while hovering over building, draw a temporary label for hovered buildings that have none ([#1529](https://github.com/MaibornWolff/codecharta/issues/1529))\r\n- Integrated streetlayout ([#904](https://github.com/MaibornWolff/codecharta/issues/904))\r\n ![cc_street_ccv](https://user-images.githubusercontent.com/63230711/78872405-87eed900-7a49-11ea-984a-c0ef738779b9.png)\r\n In street layout file nodes are displayed as buildings and directories are displayed as streets. A street layout has the advantage of a more apparent directory structure and stable positioning of nodes after metric changes.\r\n two different Street layout are integrated : - StreetLayout : as described above. - TMStreet : a combination of street layout and squarified layout.\r\n\r\n### Changed\r\n\r\n- The button to see excluded buildings is now merged into the flattened button. Excluded and flattened buildings can now be seen by opening the building with the eye slash icon ([#1543](https://github.com/MaibornWolff/codecharta/issues/1543))\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Height scaling not applied to buildings ([#1595](https://github.com/MaibornWolff/codecharta/issues/1595)))\r\n- Fixed multiple label positioning/scaling bugs\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- e2e flaky test ([#1322](https://github.com/MaibornWolff/codecharta/issues/1322))\r\n\r\n## [1.64.0] - 2020-12-15\r\n\r\n### Added \u{1f680}\r\n\r\n- Download and upload Custom Configurations is now possible ([#1472](https://github.com/MaibornWolff/codecharta/issues/1472))\r\n\r\n - Open the Custom Configs menu in the toolbar on top of the map\r\n - Next to the `plus` Button you can see two new buttons: Upload and download.\r\n - Download: If you already have added Custom Configs you can download them by clicking the download button.\r\n - Custom Configs which are applicable for the currently selected map(s) will be downloaded as `.cc.config.json` files.\r\n - Upload: Click the upload button and specify your Custom Config file (`.cc.config.json`)\r\n - Already existing Custom Configs will be skipped.\r\n - Different Custom Configs with same names will be renamed.\r\n - Another way to upload your Custom Configs is to upload a `.cc.json` file together with one or multiple `.cc.config.json` files using the default `Load .cc.json map` button in the upper left corner.\r\n - The Configs are stored to the local storage of your browser.\r\n - If a limit of `768KB` is exceeded you will see a warning when trying to add a new Custom Config.\r\n - You can click the displayed "download and purge" button to download/backup at least 6 months old Configs and then purge them from the local storage to make space for new ones.\r\n - If we cannot purge any Configs, you might have to do that by your own by deleting specific Configs manually.\r\n\r\n### Changed\r\n\r\n- Increase possible margin size ([#1490](https://github.com/MaibornWolff/codecharta/pull/1490))\r\n - change displayed margin value from % to pixel\r\n - change dynamic margin value to a default margin value that should fit the map\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Re-enabled color selection for folders and on hover ([#1544](https://github.com/MaibornWolff/codecharta/pull/1544))\r\n- Labels do not take delta height into account ([#1523](https://github.com/MaibornWolff/codecharta/issues/1523))\r\n- The calculation of the map resolution scale factor was wrong ([#1491](https://github.com/MaibornWolff/codecharta/issues/1491))\r\n - The factor is used to decrease the map resolution especially for big maps to avoid performance issues.\r\n - Now only the selected maps will be considered for the calculation. Unselected maps will be skipped.\r\n\r\n## [1.63.0] - 2020-11-30\r\n\r\n### Added \u{1f680}\r\n\r\n- Add the folder name onto the floor on the first 3 layers to get a better overview of the map ([#1491](https://github.com/MaibornWolff/codecharta/issues/1491))\r\n- UX Improvements related to labels allowing for user interaction #1404\r\n - Labels can be hovered, hovering their corresponding node\r\n - Selecting a label will select the corresponding node\r\n - Hovering a label will remove its transparency and move towards the user:\r\n - If other labels obstruct the hovered label it will move to the front\r\n - Increased the transparency of other labels; this makes it easier to distinguish the hovered label\r\n - Increase the amount of labels to 250.\r\n- Show file count of folders in Attribute-Side-Bar ([#1255](https://github.com/MaibornWolff/codecharta/issues/1255)):\r\n ![img showing file count of folder](https://user-images.githubusercontent.com/3596742/100371884-be915800-3008-11eb-89f5-ed57c62680cc.png)\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Buildings are flattened when delta is active #824.\r\n- Selected Building now stays highlighted when map is rotated #1498\r\n\r\n## [1.62.0] - 2020-11-12\r\n\r\n### Added \u{1f680}\r\n\r\n- A new option in the Global Settings allows to enable/disable experimental features #1318\r\n - Click on the settings button in the upper right corner to open the Global Settings dialog.\r\n - Activate/Deactivate the new option "Enable Experimental Features"\r\n - The features will be shown/hidden accordingly\r\n- "CustomViews", the first experimental feature has been added #1318\r\n\r\n - It must be enabled by activating the new option in the Global Settings dialog as mentioned before.\r\n - You can save your current map configurations to replay/restore them later.\r\n - A saved CustomView can only be applied for it\'s original map.\r\n - This will enable you to be more efficient in analizing projects by switching between different CustomViews.\r\n\r\n- NodeContextMenu now contains option to keep buildings highlighted #1323\r\n\r\n- Fixed Folder algorithm supports nested (parent-child) Fixed Folders #1431\r\n 1. Define children of a Fixed Folder also as Fixed Folders by adding the `fixedPosition` attribute manually in `.cc.json`.\r\n 1. All children of a parent Fixed Folder must be fixed.\r\n 1. Read the how-to guide for further information: https://maibornwolff.github.io/codecharta/how-to/fixate_folders_with_a_custom_cc_json/\r\n\r\n### Changed\r\n\r\n- Improved search\r\n\r\n 1. Not providing any star in the search bar from now on expects the input to\r\n be a wildcard search. Thus, files are going to match paths that have\r\n leading or following characters. E.g., `oo` is going to match\r\n `/root/foobar`.\r\n 1. To use the explicit former search mode, wrap the search entry in quotes as\r\n in: `"oo"`. This would only match filenames that are exactly `oo`.\r\n 1. The search field accepts multiple search entries at once, separated by\r\n commata. `foo,bar` is going to search for both `*foo*` and `*bar*` and\r\n marks all matched files accordingly.\r\n 1. It is possible to invert the search with a leading exclamation mark as in\r\n `!foobar`. That will match any file that does not match `*foobar*`. It is\r\n only possible to invert the complete input, not individual search entries.\r\n 1. Whitespace handling changed to ignore leading whitespace.\r\n\r\n- Distribution metric #1188\r\n\r\n 1. set rloc to default distribution metric, showing language percentages for real lines of code, if available. Else set to unary to show language distribution over files\r\n\r\n- Improved file sorting in the file overview of the search bar\r\n - Numbers are sorted naturally\r\n - Characters are compared with their base character (e.g., `a` is now next to `\xe1`).\r\n- Label metric not shown by default anymore\r\n\r\n## [1.61.0] - 2020-10-30\r\n\r\n### Changed\r\n\r\n- Disable highlighting buildings during map movement #1432\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- File tree/flattened/excluded overlay visualization is buggy #1269\r\n- EdgePreview on Map broken when selecting zero #1276\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Schedules and merge retries of dependabot dependency updates changed\r\n\r\n## [1.60.2] - 2020-10-24\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Mouse cursor flickering #1170\r\n- Fix flipping map when clicking any option in the toolbar #1410\r\n- Fix edge metric not working correctly\r\n\r\n## [1.60.1] - 2020-10-20\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Issue with first start without an internet connection not working#1266\r\n- Issue with ribbon bar sizes for opened cards #1035\r\n\r\n## [1.60.0] - 2020-10-16\r\n\r\n### Added \u{1f680}\r\n\r\n- Parsing feedback with progressbar and probable ETA for parsers and SonarImporter #847\r\n- Mark node names and make the names clickable for nodes that have a link to them #1313\r\n- Indicate the metric name next to a shown value in a new line on labels #1035\r\n- Checkboxes to display metric names and values and to display node names on labels #1035\r\n- Mark node names and make the names clickable for nodes that have a link to them #1313\r\n\r\n### Changed\r\n\r\n- Label design #1035\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- First start without an internet connection of standalone not working #1266\r\n- Comparing a map in delta mode shows the correct differences\r\n- This mainly applies to maps compared with itself while it also fixes some other minor miscalculations\r\n- File extensions detection is improved\r\n- Zooming in and out the map will now close the node context menu #1324\r\n - Improved and simplified event handling in NodeContextMenu component\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Improved performance of multiple operations (e.g., delta mode).\r\n\r\n## [1.59.0] - 2020-10-09\r\n\r\n### Added \u{1f680}\r\n\r\n- New EXPERIMENTAL SCMLogParser version\r\n- Improved performance around 300% when parsing CodeCharta\r\n- Improved memory usage\r\n- Fixed issue with old parser creating incorrect nodes in CodeCharta #871\r\n- ATTENTION: the parser is experimental, therefore some potential issues might remain, e.g. potentially an unhandled edge case when parsing node\r\n- To use the new parser a reversed git log is needed, as well as a git file list, refer to `ccsh scmlogparserv2 -h` for additional information\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Color-Metric slider is set and activated in the map accordingly to the released sliderbutton #1319\r\n- Deselcting a building will instantly dehighlight the buildings which were connected through edges #890\r\n\r\n## [1.58.1] - 2020-10-02\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Showing wrong edges when hovering a building after selecting one #1137\r\n\r\n## [1.58.0] - 2020-10-02\r\n\r\n### Added \u{1f680}\r\n\r\n- Add active color metric to the top of the legend panel #1278\r\n- SourceCodeParser: Java 14 Support #1277\r\n\r\n## [1.57.4] - 2020-09-25\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Metric-Settings-Panels closed when clicking an option inside the panel #1258\r\n- Improve loading and rendering maps performance\r\n\r\n## [1.57.3] - 2020-09-18\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Improve overall performance for loading and rendering maps\r\n- Improve error messages when a file can\'t be loaded with the URL parameters\r\n\r\n## [1.57.2] - 2020-09-11\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- New API version 1.2 not set correctly in analysis\r\n\r\n## [1.57.1] - 2020-09-11\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Validation of unique filenames not checking for the complete path and instead throwing an error on duplicate filename\r\n\r\n## [1.57.0] - 2020-09-11\r\n\r\n### Added \u{1f680}\r\n\r\n- `fixedPosition` as a new property in the `cc.json` that allows to fixate folders in the map\r\n\r\n### Changed\r\n\r\n- `cc.json` version updated to `1.2`\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Compressed `cc.jsons (.gz) not marked as accepted when selecting a file in the file chooser\r\n\r\n### Docs \u{1f50e}\r\n\r\n- [How-To: Fixate Folders in the `cc.json`](https://maibornwolff.github.io//codecharta/how-to/fixate_folders_with_a_custom_cc_json/)\r\n- CC-Json-API changes\r\n\r\n## [1.56.0] - 2020-09-04\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Improve performance when switching to multiple or delta mode when edges are available\r\n- Scenario with EdgeMetric is only appliable when EdgeMetric is existing for the Map #1201\r\n- Starting standalone version results in infinite loading loop #1202\r\n- Expanded metric selection will close when clicking anywhere outside of that selection #1036\r\n\r\n## [1.55.0] - 2020-08-28\r\n\r\n### Added \u{1f680}\r\n\r\n- Cursor indicator for different mouse actions #1042\r\n\r\n### Changed\r\n\r\n- Edge-Metrics sorted by name now instead of number of incoming and outgoing edges\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Number of incoming and outgoing edges not visible when hovering over a node #1095\r\n- Highlighting buildings in multiple mode now works #956\r\n\r\n## [1.54.0] - 2020-08-21\r\n\r\n### Added \u{1f680}\r\n\r\n- Opening NodeContextMenu in the tree-view marks the node until it is closed #1068\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Missing Sonarcloud metrics in demo\r\n\r\n### Docs \u{1f50e}\r\n\r\n- Added note how to fix missing `sh` command issue when running integration tests on Windows\r\n\r\n## [1.53.0] - 2020-08-14\r\n\r\n### Changed\r\n\r\n- NodeContextMenu will show up when releasing the right-mouse-button now #1027\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- NodeContextMenu showing up after moving the mouse while holding right-mouse-button #1027\r\n\r\n## [1.52.0] - 2020-08-07\r\n\r\n### Added \u{1f680}\r\n\r\n- Support for Tokei 12 new JSON schema #1103\r\n\r\n### Changed\r\n\r\n- Rename master branch to main for a more inclusive naming #1117\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- After loading an invalid file the filechooser pops up again, so that the user can choose a valid file #1021\r\n- Quality gates on sonarcloud.io are red #879\r\n\r\n### Docs \u{1f50e}\r\n\r\n- Moved developer guides to our [gh-pages](https://maibornwolff.github.io/codecharta/) #986\r\n\r\n## [1.51.0] - 2020-07-24\r\n\r\n### Added \u{1f680}\r\n\r\n- File chooser now accept ".json" files only to avoid accidentally loading incorrect files #1094\r\n- Lots of tooltips #1030\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Blacklisting a building would sometimes not update the map #1098\r\n- Changes made after opening the filechooser and closing it won\'t be applied #875\r\n- Edge metric list not always updated correctly when loading a new file #1106\r\n\r\n## [1.50.0] - 2020-07-10\r\n\r\n### Added \u{1f680}\r\n\r\n- Line between scenario indicator and remove button #1069\r\n\r\n### Changed\r\n\r\n- Reduced transition time when opening or collapsing parts of the ribbon bar #1043\r\n- Search Panel will open now when clicking in the search field and collapse when clicking somewhere else #1071\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Opening the same file again will now reload the file and reset the application #1032\r\n- Improve render performance by persisting color conversions #1034\r\n- Sorting in tree-view not being applied #1040\r\n\r\n## [1.49.1] - 2020-07-03\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Improved performance significantly when switching between single, multiple and delta\r\n- Color-Range-Slider sometimes misbehaved when loading a new map or excluding buildings #926\r\n\r\n## [1.49.0] - 2020-06-19\r\n\r\n### Added \u{1f680}\r\n\r\n- Custom scenarios can be created and saved through the scenario menu #675\r\n- Importer and parser documentation can now be found on the github Website #954\r\n- Output of sourcemonitor can now be compressed with the compression flag\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- [Security] Bump angular from 1.7.9 to 1.8.0 in /visualization #995\r\n\r\n## [1.48.0] - 2020-06-12\r\n\r\n### Added \u{1f680}\r\n\r\n- Support of compressed cc.json files. Files can be compressed in the analysis #848\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Improved performance of several importers #846\r\n\r\n## [1.47.1] - 2020-05-08\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Attribute-Side-Bar being invisible\r\n\r\n## [1.47.0] - 2020-05-02\r\n\r\n### Added \u{1f680}\r\n\r\n- When hovering over a folder, all buildings inside it will be highlighted as well #694\r\n\r\n### Changed\r\n\r\n- Rename the button Show-Complete-Map button to Unfocus #642\r\n- Move the Unfocus button (visible when right-clicking a focused node) to the node-context-menu #948\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Generating a delta map with merged empty folders in between is now working correctly #730\r\n- Reduced time when opening a new file #932\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- [Security] Bump jquery from 3.4.0 to 3.5.0 in /visualization #944\r\n\r\n## [1.46.1] - 2020-04-24\r\n\r\n### Added \u{1f680}\r\n\r\n- Error dialogs in case of validation or api version issues #610\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Improved overall rendering performance of larger maps by roughly 40% #836\r\n\r\n## [1.45.5] - 2020-04-17\r\n\r\n### Added \u{1f680}\r\n\r\n- Median symbol for aggregated relative metrics #365\r\n- AttributeTypes for tokeiImporter and SCMLogParser #365\r\n- Ellipsis button in TreeView list when hovering a node to access context menu #780\r\n- Show gray eye-icon next to the ellipsis-button to indicate a flattened node #780\r\n- Attribute Type selector in the metric dropdowns for edges and nodes\r\n\r\n### Changed\r\n\r\n- Metrics with AttributeType relative are now aggregated using the median #365\r\n- Showing absolute number of files instead of relative number when hovering list item in TreeView #780\r\n- Clicking a hovered list item inside the TreeView opens folders #780\r\n- Color node name in gray when flattened #780\r\n\r\n### Removed \u{1f5d1}\r\n\r\n- Eye-icon in TreeView list to flatten a node #780\r\n- Option to focus a node when clicking the node name inside the TreeView #780\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Consistency of AttributeTypes representation #365\r\n- Wrong file description for tokeiimporter\r\n- Improved search performance #837\r\n\r\n## [1.44.0] - 2020-03-27\r\n\r\n### Added \u{1f680}\r\n\r\n- Dialog to select between different sorting options #388\r\n- Button to reverse the current selected sorting #388\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Show file selection in toolBar after excluding or hiding a node instead of an empty toolBar #896\r\n\r\n## [1.43.0] - 2020-03-20\r\n\r\n### Changed\r\n\r\n- Selectable metrics will only contain metrics from the visible maps\r\n- Closing the attribute-side-bar by clicking somewhere in the map will now be triggered on mouse up instead of mouse down\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Search-panel opening for a short duration when importing a new file\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Fix vulnerability with nokogiri <1.10.8\r\n\r\n## [1.42.3] - 2020-03-13\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Loading Gif not displayed when preparing to render a new map #857\r\n- Selecting zero files in Multiple mode will not trigger the 3D CodeMap creation\r\n- Metrics in the dropdown menu now show the correct max value for the visible maps #876\r\n\r\n## [1.42.2] - 2020-02-14\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Replaced non standard `[[` in sh scripts #849\r\n- Improved performance for loading a new file #836\r\n- Marked Packages are loaded from files #798\r\n\r\n## [1.42.1] - 2020-02-07\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- GC Overhead Limit (OutOfMemory Exception) during analysis of large SCMLogs fixed #845\r\n\r\n## [1.42.0] - 2020-01-31\r\n\r\n### Added \u{1f680}\r\n\r\n- Support for camel and kebab-case for ccsh arguments #772\r\n- RawTextParser for analysis #660\r\n- IndentationLevel as metric for RawTextParser #660\r\n- Show additional Pairing Rate of Selected Building, simultaneously to the currently hovered Buildings #736\r\n\r\n### Changed\r\n\r\n- Options of the ccsh are now consistently in kebab-case #772\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Path prefix handling in tokeiimporter #841\r\n\r\n## [1.41.8] - 2020-01-17\r\n\r\n### Removed \u{1f5d1}\r\n\r\n- Project name parameters in the ccsh #773\r\n\r\n## [1.41.6] - 2020-01-10\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Deployment\r\n\r\n## [1.41.1] - 2020-01-10\r\n\r\n### Fixed \u{1f41e}\r\n\r\n- Performance of loading maps with edges improved #823\r\n- Calculation of other Group for fileExtensionBar #768\r\n- Remove focus of UI elements when they are not visible anymore\r\n\r\n## [1.41.0] - 2019-12-06\r\n\r\n### Added \u{1f680}\r\n\r\n- Show the relative number of files a folder includes compared to the project in the TreeView #380\r\n- Show the number of files a folder includes in the TreeView when hovering #380\r\n- When the File Extension Bar is hovered, all buildings corresponding to that extension are highlighted #545\r\n- Toggle between percentage and absolute values when clicking the file extension details section #545\r\n- Sum hovered delta values for folders #781\r\n\r\n## [1.40.0] - 2019-11-22\r\n\r\n### Changed\r\n\r\n- Replaced Blacklist Hide with Flatten option #691\r\n- Flattened buildings are not hidden by default #691\r\n\r\n### Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}\r\n\r\n- Bump @types/three from 0.89.12 to 0.103.2 in /visualization #453\r\n- Bump angularjs-slider from 6.5.1 to 7.0.0 in /visualization #454\r\n- Bump webpack from 3.12.0 to 4.41.2 in /visualization #436\r\n- [Security] Bump angular from 1.7.7 to 1.7.9 in /visualization #800\r\n\r\n## [1.39.0] - 2019-11-15\r\n\r\n### Added\r\n\r\n- Progress indicator for SonarImporter #544\r\n\r\n### Changed\r\n\r\n- New style for hovered metric values #696\r\n- Redesigned slider labels in ribbonBar sections #696\r\n- Shortened ribbonBar sections #696\r\n\r\n### Fixed\r\n\r\n- Missing pictures and broken links in docs #785\r\n- SCMLogParser is now more resilient to unusual SVN commit messages #763\r\n\r\n## [1.38.1] - 2019-11-13\r\n\r\n### Added\r\n\r\n- New github-pages https://maibornwolff.github.io/codecharta/\r\n\r\n### Fixed\r\n\r\n- Sum symbol for hovered metric values only shows for folders #775\r\n\r\n## [1.38.0] - 2019-11-08\r\n\r\n### Added\r\n\r\n- Temporal coupling edges generated by SCMLogParser #622\r\n\r\n### Changed\r\n\r\n- Downloaded files are no longer formatted #679\r\n- Added highly and median coupled files metrics to non-churn metric list of SCMLogParser #622\r\n- Moved nodePathPanel to toolBar and updated style #607\r\n\r\n### Fixed\r\n\r\n- Removed attributes from downloaded files that should not be there #679\r\n\r\n## [1.37.0] - 2019-10-25\r\n\r\n### Added\r\n\r\n- Sidebar with information regarding the selected building #527\r\n- Sidebar closes when selected buildings is excluded #748\r\n\r\n### Changed\r\n\r\n- Animation to show or hide the legend panel #527\r\n\r\n### Removed\r\n\r\n- Expandable detail panel in lower left corner #527\r\n- Removed option to maximize/minimize detail panel #527\r\n\r\n### Fixed\r\n\r\n- Autofocus and label size for focused nodes #747\r\n- Selected buildings stays selected when settings are changed #748\r\n- IllegalStateException when scanning single file in SourceCodeParser #573\r\n- SourceCodeParser places files in the project root correctly into the hierarchy #574\r\n\r\n## [1.36.0] - 2019-10-18\r\n\r\n### Changed\r\n\r\n- Open and close the ribbonBar sections independently with an updated animation\r\n\r\n### Fixed\r\n\r\n- Camera is now resetted correctly, when unfocusing #634\r\n- Inputs of Color Range Slider now waits a second before it commits its values #676\r\n- Fixed root folder name in TreeView after new map after loading new map #649\r\n- Increased size of ribbonBar for big screens #644\r\n- File-Extension-Bar will not display excluded nodes anymore #725\r\n- Sanitize input for shelljs #600\r\n\r\n### Chore\r\n\r\n- Bump jacoco from 0.8.1 to 0.8.4 in /analysis\r\n\r\n## [1.35.0] - 2019-10-04\r\n\r\n### Added\r\n\r\n- Checkbox in global Settings for disabling camera reset, when new map is loaded #685\r\n- Pipe support for SourceCodeParser #716\r\n- Pipe support for SCMLogParser #717\r\n- Pipe support for SonarImporter #715\r\n\r\n### Fixed\r\n\r\n- Exclude and Hide options are disabled for empty and already existing search patterns #654\r\n\r\n## [1.34.0] - 2019-09-20\r\n\r\n### Added\r\n\r\n- Tokei Importer #538\r\n- Prominent Notice that we use Sonar-jar #713\r\n\r\n### Chore\r\n\r\n- Bump kotlin-reflect from 1.3.41 to 1.3.50 in /analysis\r\n- Bump json from 20180813 to 20190722 in /analysis\r\n- Bump rxjava from 2.2.9 to 2.2.12 in /analysis\r\n- Bump assertj-core from 3.12.2 to 3.13.2 in /analysis\r\n- Bump sonar-java-plugin from 5.12.1.17771 to 5.14.0.18788 in /analysis\r\n\r\n## [1.33.0] - 2019-09-10\r\n\r\n### Added\r\n\r\n- Edge Previews (Palm-Tree-Effect) #529\r\n- Dropdown to select Edge Metric, including Edge Counter #529\r\n- Edge Metric settings for Edge Height, Number of Previews & show only building with Edges #529\r\n\r\n### Changed\r\n\r\n- Edge Visualization to better distinguish between incoming and outgoing edges #529\r\n- Distribution metric is by default the same as area metric #689\r\n- MapTreeView below searchBar opens the first level by default #690\r\n- Focus metric search when opening metricChooser #693\r\n\r\n### Removed\r\n\r\n- Edge Options in Context menu #529\r\n\r\n### Fixed\r\n\r\n- SourceCodeParser now skips custom metrics for files, if the syntax tree cannot be created\r\n- Nodes with color metric equals 0 are colored correct again #677\r\n\r\n### Chore\r\n\r\n- [Security] Bump mixin-deep from 1.3.1 to 1.3.2 in /visualization\r\n\r\n## [1.32.0] - 2019-08-09\r\n\r\n### Added\r\n\r\n- Search for metrics and an indicator for the highest value in dropdown #575\r\n- Button to enable PresentationMode that uses Flashlight-Hovering #576\r\n- Clarifying information which file is which in the file bar when in delta mode #615\r\n\r\n### Changed\r\n\r\n- Replaced Scenario dropdown with button on the left of the metric sections #628\r\n\r\n## [1.31.0] - 2019-08-02\r\n\r\n### Added\r\n\r\n- New Metric in SourceCodeParser: Maximum-Nesting-Level #659\r\n\r\n### Fixed\r\n\r\n- Label hight adjustment now matches scaling of map #594\r\n- SCMLogParser now guesses the input file encoding #614\r\n\r\n## [1.30.0] - 2019-07-26\r\n\r\n### Added\r\n\r\n- New Search Bar #526\r\n- Number of Renames Metric to SCMLogParser #621\r\n- Age In Weeks Metric for SCMLogParser #620\r\n\r\n### Changed\r\n\r\n- ToolBar now shows partially cut-off controls if the window is too small #582\r\n- Position of the legendPanel was moved to the bottom-right corner #633\r\n- RibbonBar only opens the three metric section\r\n- Moved Scenario-select to the right in order to use less space\r\n- Moved loading-gif from ribbonBar to toolBar\r\n\r\n### Removed\r\n\r\n- RibbonBar toggle button\r\n\r\n### Fixed\r\n\r\n- FileExtensionBar height to not show a bottom-margin in Chrome\r\n- PointerEvents not being propagated when RibbonBar was extended\r\n- Reduced memory usage of SCMLogParser to avoid OutOfMemory Exception #631\r\n\r\n### Chore\r\n\r\n- [Security] Bump lodash.mergewith from 4.6.1 to 4.6.2 in /visualization\r\n- [Security] Bump lodash from 4.17.11 to 4.17.13 in /visualization\r\n- [Security] Bump fstream from 1.0.11 to 1.0.12 in /visualization\r\n\r\n## [1.29.0] - 2019-07-12\r\n\r\n### Changed\r\n\r\n- Moved Button to reset the map to the center next to the view-cube #606\r\n- Moved FileExtensionBar #527\r\n\r\n### Removed\r\n\r\n- Burger Menu / SideNav #526\r\n\r\n### Fixed\r\n\r\n- Colors in File-Extension-Bar will be displayed in MS Edge and Standlone now #584\r\n\r\n## [1.28.0] - 2019-06-28\r\n\r\n### Added\r\n\r\n- Releasing will now remind the developer to manually add the release notes #533\r\n- StructureModifier to remove and move nodes and set root of projects #547 / #181\r\n\r\n### Changed\r\n\r\n- More informative log messages regarding the success of project merging #547\r\n\r\n### Removed\r\n\r\n- Release Notes are not generated and added automatically to a release #533\r\n\r\n### Fixed\r\n\r\n- Margin will now be set correctly depending on whether dynamicMargin is enabled or not #602\r\n\r\n## [1.27.0] - 2019-06-25\r\n\r\n### Added\r\n\r\n- Automatically generates release notes from changelog and appends it to release #533\r\n- Adds global settings-menu with settings from options panel and weblinks #528\r\n\r\n### Changed\r\n\r\n- Moved File Settings from Ribbon Bar to new File Setting Bar #525\r\n- Rename sample file codemap-nodes #587\r\n- Hide checkbox to select white-positive-buildings in delta state #345\r\n\r\n### Removed\r\n\r\n- Removes Options panel from sidebar #528\r\n- Removes Weblinks panel from sidebar #528\r\n- Removed URL-parameter info from sidebar #525\r\n\r\n### Fixed\r\n\r\n- Unary Metric will no longer be auto-selected when a new map is loaded #579\r\n\r\n## [1.26.0] - 2019-06-14\r\n\r\n### Added\r\n\r\n- FileExtensionBar to show file-distribution of chosen metric #495\r\n- sum icon is now displayed on the left of the metric value #364\r\n- Added Pop-up dialog before downloading file to set filename and see what data will be stored #523\r\n\r\n### Fixed\r\n\r\n- Fix set default ColorRange when resetting color section #560\r\n\r\n## [1.25.1] - 2019-05-30\r\n\r\n### Added\r\n\r\n- SVN log parser keeps track of renaming of files for metric calculation #542\r\n\r\n### Fixed\r\n\r\n- Entries with renaming information in SVN logs are attributed to correct file #542\r\n- Unary metric will no longer be removed from the MetricChooser-Dropdown when a folder was excluded or hidden #548\r\n- Changing margin and then file or mode will no longer freeze the application #524\r\n\r\n### Chore\r\n\r\n- [Security] Bump tar from 2.2.1 to 2.2.2 in /visualization\r\n\r\n## [1.25.0] - 2019-05-17\r\n\r\n### Added\r\n\r\n- Added SonarJava to Source code parser #343\r\n- Added exclude and defaultExclude options to SourceCodeParser #508\r\n- Show loading-gif in ribbonBar when rerendering map\r\n\r\n### Changed\r\n\r\n- Using Sonar Plugins for Source code parser, giving the Sonar Metrics #343\r\n- Use debounced settings update instead of throttled\r\n- Filename of downloaded file now contains time #484\r\n\r\n### Fixed\r\n\r\n- Fixed issue with too long line in ccsh.bat #506\r\n- Prevent downloaded files from having multiple Timestamps #484\r\n- Do not show loadingGif when cancelling the fileChooser #498\r\n- Excluding a building now updates the maximum value of colorRange #355\r\n\r\n### Chore\r\n\r\n- Bump angular-material from 1.1.9 to 1.1.14 in /visualization\r\n- [Security] Bump jquery from 3.3.1 to 3.4.0 in /visualization\r\n\r\n## [1.24.0] - 2019-04-23\r\n\r\n### Removed\r\n\r\n- Settings as URL parameters #470\r\n\r\n### Fixed\r\n\r\n- Fixed issue with trailing slash in URL parameter of SonarImporter #356\r\n\r\n### Chore\r\n\r\n- Bump d3 from 4.13.0 to 5.9.2 in /visualization\r\n- Bump sinon from 4.5.0 to 7.3.1 in /visualization\r\n\r\n## [1.23.0] - 2019-03-22\r\n\r\n### Added\r\n\r\n- Project Name can be specified for merge filter #394\r\n\r\n### Changed\r\n\r\n- Throw a MergeException if project names do not match in MergeFilter #394\r\n\r\n### Fixed\r\n\r\n- Excluded buildings are no longer used for aggregated metric calculation #352\r\n\r\n### Chore\r\n\r\n- Bump browser-sync-webpack-plugin from 1.2.0 to 2.2.2 in /visualization\r\n- Bump @types/node from 8.10.19 to 11.11.3 in /visualization\r\n- Bump html-webpack-plugin from 2.30.1 to 3.2.0 in /visualization\r\n- Bump load-grunt-tasks from 3.5.2 to 4.0.0 in /visualization #444\r\n- Bump ajv from 5.5.2 to 6.10.0 in /visualization #447\r\n- Bump resolve-url-loader from 2.3.0 to 3.0.1 in /visualization #448\r\n\r\n## [1.22.0] - 2019-03-15\r\n\r\n### Added\r\n\r\n- Added buttons to select all/none/inversion of revisions/maps in multiple mode #391\r\n- Merge filter can merge all files of folders #392\r\n\r\n### Fixed\r\n\r\n- Fixed bug that code map was not re-loaded when changing from multiple to single revision mode #396\r\n- Fixed missing apiVersion in aggregated map #398\r\n- Input Fields of color sliders adjust width according to content #409\r\n\r\n### Chore\r\n\r\n- Bump nouislider from 11.1.0 to 13.1.1 in /visualization\r\n- Bump typescript from 2.7.2 to 3.3.3333 in /visualization\r\n- Bump @types/d3 from 4.13.0 to 5.7.1 in /visualization\r\n\r\n## [1.21.2] - 2019-02-26\r\n\r\n### Added\r\n\r\n- When entering Multiple Mode, all Maps/revisions are preselected\r\n\r\n### Fixed\r\n\r\n- Fixing non-existent metric aggregation on root-level when using multiple Files\r\n\r\n## [1.21.1] - 2019-02-22\r\n\r\n### Added\r\n\r\n- Hovering a node in the map also hovers it in the tree view #351\r\n\r\n### Fixed\r\n\r\n- Fixing sync between treeview hovering and map hovering #351\r\n- Folders can no longer be colored in the CodeMap or TreeView #359\r\n\r\n## [1.21.0] - 2019-02-16\r\n\r\n### Added\r\n\r\n- Color searched node names green in TreeView #225\r\n- Add option buttons (three dots) in TreeViewSearch to `Hide` or `Exclude` matching nodes #298\r\n- Show blacklist entry counter in blacklistPanel header #298\r\n- Option checkbox \'Hide Flattened Buildings\' #225\r\n- Hide/Flatten non-searched buildings #225\r\n- Hide/Flatten all buildings, if searchPattern can\'t find any matching nodes #225\r\n- Show maxValue of each metric in metricChooser select list #204\r\n- Colored color-slider inside the RibbonBar #318\r\n- Option to color positive buildings white #311\r\n- Clicking the ribbonBar section-titles toggles the ribbonBar #324\r\n- View-Cube displayed in top right corner #274\r\n- Adding prettier formatter\r\n- Adapt colorRange when changing colorMetric #330\r\n\r\n### Changed\r\n\r\n- Update TreeView filter with search field #225\r\n- Use \'gitignore\' style matching in TreeViewSearch #225\r\n- Reorder `Focus`, `Hide` and `Exclude` buttons in nodeContextMenu #298\r\n- Reorder sidebarPanels (BlacklistPanel beneath TreeViewSearchPanel) #298\r\n- Use `fa-ban`-icon as symbols for blacklistPanel (instead of `fa-list`) #298\r\n- Use `fa-ban`-icon as symbols for blacklistType `Exclude` (instead of `fa-times`) #298\r\n- Label size keeps readable for large maps or a high distance between camera and map #237\r\n- updated dependencies to fix vulnerabilities\r\n- Scenarios only update settings which exist in Scenario and not all #224\r\n- MergeFilter to merge unique blacklist entries #275\r\n- MergeFilter to only merge unique attributeType entries #275\r\n\r\n### Removed\r\n\r\n- Remove invertHeight checkbox in delta-view #306\r\n- Remove option to add blacklist entries from inside the blacklistPanel #298\r\n- Remove statistic functions in Experimental panel #308\r\n\r\n### Fixed\r\n\r\n- CodeMap does not move anymore when navigating in text-fields #307\r\n- Merge blacklist in multipleFile view and convert paths #275\r\n- Show logo in NW.js standalone application #233\r\n\r\n## [1.20.1] - 2018-12-19\r\n\r\nFixed release issues.\r\n\r\n## [1.20.0] - 2018-12-19\r\n\r\n### Added\r\n\r\n- button to unfocus node\r\n- NodeContextMenu: Option to only hide dependent edges\r\n- plop support\r\n\r\n### Changed\r\n\r\n- Renaming \'isolate node\' to \'focus node\'\r\n- Focusing a node does not remove the blacklist items of type Hide\r\n\r\n### Removed\r\n\r\n- NodeContextMenu: Option to \'show all\' nodes, which used to unhide all nodes\r\n\r\n### Fixed\r\n\r\n- Reshow hidden nodes from Treeview or Blacklist\r\n\r\n## [1.19.0] - 2018-11-02\r\n\r\n### Added\r\n\r\n- Deleted files in delta view use their previous area value in order to be visible #254\r\n\r\n### Fixed\r\n\r\n- Buildings in the delta view are not colored correctly #253\r\n- Reset Button in RibbonBar to reset \'Invert Colors\' #255\r\n- Remove lag of \'Invert Color\' checkboxes, when selecting single/delta mode #255\r\n\r\n## [1.18.1] - 2018-10-31\r\n\r\nFixed release issues\r\n\r\n## [1.18.0] - 2018-10-29\r\n\r\n### Added\r\n\r\n- Integration with Jasome through JasomeImporter #245\r\n- URL parameter \'mode\' with the values Single, Multiple or Delta\r\n- Blacklist to persist excluded or hidden nodes #205\r\n- Option to exclude nodes in nodeContextMenu #205\r\n- BlacklistPanel in SettingsSidebar to manage blacklist #205\r\n- Save-Button to download current CodeMap #205\r\n- Publishing visualization on Docker Hub #252\r\n\r\n### Changed\r\n\r\n- No longer fat jar of every subcomponent of analysis, baked into ccsh\r\n- Changed simple syserr write to logger call for analysis #243\r\n\r\n### Removed\r\n\r\n- URL parameter \'delta\' does not exist anymore\r\n\r\n### Fixed\r\n\r\n- Show delta of CodeMap when URL parameter mode=delta is set\r\n\r\n## [1.17.0] - 2018-09-28\r\n\r\n### Changed\r\n\r\n- Invert delta colors moved from color to heigh metric column in ribbon bar #220\r\n- Delta value now as kindOfMap shown #220\r\n- Aggreate maps as multiple rename #220\r\n\r\n### Fixed\r\n\r\n- Single/delta buttons now correctly activated when delta in ulr shown #220\r\n\r\n## [1.17.0] - 2018-09-21\r\n\r\n### Added\r\n\r\n- CodeMaatImport for temporal coupling dependencies #172\r\n- EdgeFilter to aggregate edge-attributes as node-attributes #222\r\n- Option to show and hide dependent edges from node-context-menu #218\r\n\r\n### Changed\r\n\r\n- MergeFilter merges edges #172\r\n\r\n## [1.16.2] - 2018-09-10\r\n\r\n### Fixed\r\n\r\n- missing event in firefox #232\r\n\r\n## [1.16.1] - 2018-08-31\r\n\r\n### Added\r\n\r\n- gitlab + dotnet manual\r\n\r\n## [1.16.0] - 2018-08-31\r\n\r\n### Added\r\n\r\n- add the option to add multiple files via url parameter (e.g. ?file=a&file=b...)\r\n\r\n## [1.15.1] - 2018-08-13\r\n\r\nFixed release issues\r\n\r\n## [1.15.0] - 2018-08-13\r\n\r\n### Added\r\n\r\n- e2e tests are running in CI Environment (headless)\r\n- pupeteer as e2e test framework\r\n- Show names of marked packages in legend\r\n- Added a source code importer that can analyse rloc,mcc for java source code\r\n- keep settings when the user changes a file\r\n- Added option to set white background\r\n\r\n### Removed\r\n\r\n- cypress\r\n\r\n## [1.14.2] - 2018-07-16\r\n\r\n### Changed\r\n\r\n- Changed folder detail metrics from mean to sum\r\n\r\n## [1.14.1] - 2018-07-13\r\n\r\nFixed release issues\r\n\r\n## [1.14.0] - 2018-07-13\r\n\r\n### Added\r\n\r\n- Added UnderstandImporter to Analysis\r\n- Packages can be highlighted in different colors #152\r\n- Adding a context menu with highlighting colors and convenience methods for the tree view and 3D view #155\r\n- Folders and files to highlight can be described in the cc.json #165\r\n- Dynamic/automatic margin computing de/activated by tick\r\n\r\n### Changed\r\n\r\n- Details panel: using the sum of the childrens metrics instead of the mean value\r\n\r\n### Fixed\r\n\r\n- Display buttons do not trigger map changes #185\r\n- Flickering surfaces when zooming out\r\n\r\n## [1.13.0] - 2018-06-08\r\n\r\n### Added\r\n\r\n- Layout switcher #141\r\n- Added CrococosmoImporter to Analysis\r\n- Added type, dirs, name to CSVExporter\r\n- Invert height of building checkbox\r\n- Aggregate multiple maps in visualization #110\r\n- Auto Focus selected map part\r\n- Timmer added to applySettings in SettingsService\r\n\r\n### Changed\r\n\r\n- Crococosmo xml files will now generate a cc.json file for each version\r\n- Suppressing ARIA warnings\r\n- Simplified gradle structure of analysis part\r\n- Deltas added in the metric quick access panel #138\r\n- Ticks and ResetValue Buttons call to onSettingsChange to avoid applySettings timer\r\n- compacting empty middle packages #150\r\n- Detail panel minimized by default\r\n\r\n### Fixed\r\n\r\n- filter by regex shows parent nodes #116\r\n- typo in scss file\r\n\r\n## [1.12.0] - 2018-04-27\r\n\r\n### Added\r\n\r\n- horizontal quick access metric chooser\r\n- Link behind filepath in detailPanel #84\r\n- Double click event-handler on Buildings #84\r\n- Detail Panel can be minimized and maximized\r\n- Settings option to minimize Detail Panel\r\n- cypress as an e2e test runner\r\n\r\n### Removed\r\n\r\n- metric details from legend\r\n- metric chooser from settings panel\r\n\r\n## [1.11.2] - 2018-04-13\r\n\r\n### Fixed\r\n\r\n- a sonar importer bug which prevented the importer to fetch the last page #122\r\n\r\n## [1.11.1] - 2018-04-11\r\n\r\nFixed release issues\r\n\r\n## [1.11.0] - 2018-04-11\r\n\r\n### Added\r\n\r\n- SASS support\r\n- simple regex filter\r\n- Reset Button\r\n- Dialog Service replaces console log calls and window.alert calls\r\n- linking tree view and map hover\r\n- auto fit scene button\r\n- anugularJS material\r\n- Scenarios are now filtered by compatibility for the given map\r\n- Link in visualization #84\r\n\r\n### Removed\r\n\r\n- materialize-css\r\n- grunt\r\n\r\n### Fixed\r\n\r\n- less flickering and artifacts\r\n\r\n## [1.10.0] - 2018-03-22\r\n\r\n### Changed\r\n\r\n- Clean up UI #86\r\n- Updated analysis dependencies\r\n\r\n### Fixed\r\n\r\n- Delta View shows Deltas of itself as non-trivial if nodes have same name #89: Compare deltas by path not name\r\n- Delta calculation performance boost #91\r\n- Problems when intermediate nodes missed metrics #92\r\n- removed unnecessary calculations\r\n- removed bug in SonarImporter that slowed up performance and missed out multiple metrics\r\n- minor bugs\r\n\r\n## [1.9.3] - 2018-02-23\r\n\r\n### Changed\r\n\r\n- sorting treeview by folders and names\r\n\r\n## [1.9.2] - 2018-02-20\r\n\r\n### Added\r\n\r\n- added preliminary CSVExporter for visualisation data\r\n\r\n### Changed\r\n\r\n- padding rendering\r\n- minimal building height is 1 to prevent clipping issues\r\n- fallback values for visualization when no metric is available (area = 1, height = 1, color = grey). Data in data structure will not be changed.\r\n\r\n## [1.9.1] - 2018-02-20\r\n\r\n### Fixed\r\n\r\n- detail panel bug fix\r\n\r\n## [1.9.0] - 2018-02-20\r\n\r\n### Changed\r\n\r\n- moved to unscoped npm packages\r\n\r\n## [1.8.2] - 2018-02-20\r\n\r\n### Changed\r\n\r\n- detail panel background is white now. better visibility\r\n\r\n## [1.8.1] - 2018-02-20\r\n\r\n### Changed\r\n\r\n- revision chooser moved to settings panel and uses now understandable dropdowns instead of links. Part of the #82 proposals\r\n\r\n## [1.8.0] - 2018-02-20\r\n\r\n### Added\r\n\r\n- Experimental dependency support\r\n- loading indicator\r\n- file path to detail panel\r\n- collapsible tree view and visibility/isolation per node toggles\r\n\r\n### Changed\r\n\r\n- added a ray-aabb intersection test before precise testing. Less time is spent in intersection methods.\r\n\r\n### Fixed\r\n\r\n- fixed a minor bug\r\n- canvas mouse event listener are now limited to the canvas dom element. UI events will not trigger the canvas listeners anymore\r\n- canvas mouse events distinguish now between click and drag. Dragging does not reset selection anymore\r\n- slider input #64\r\n- rz slider initialization bug\r\n- increasing test coverage\r\n- deltas where calculated on map loading even though, they were disabled\r\n\r\n## [1.7.2] - 2018-02-02\r\n\r\n### Fixed\r\n\r\n- url to homepage\r\n- analysis package\r\n\r\n## [1.7.1] - 2018-02-02\r\n\r\nFixed release issues\r\n\r\n## [1.7.0] - 2018-02-02\r\n\r\n### Changed\r\n\r\n- npm pachage scoped to @maibornwolff\r\n- Defined further scenarios via json file\r\n- Added description for metrics and scenarios\r\n- using fixed point values in detail panel (ui) to truncate infinite or long decimals\r\n- folders now use the mean attributes of their buildings(leaves)\r\n\r\n### Fixed\r\n\r\n- Bugfix: detail panel should be cleared before setting new details else old values may survive\r\n\r\n## [1.6.7] - 2018-02-01\r\n\r\nFixed release issues\r\n\r\n## [1.6.6] - 2018-02-01\r\n\r\n### Added\r\n\r\n- added anonymous git log generator anongit\r\n- browser demo shows codecharta-visualization sonar analysis\r\n\r\n### Changed\r\n\r\n- rewrote command line interface\r\n- linking ccsh to bin/ccsh will be deleted later\r\n\r\n### Fixed\r\n\r\n- No underscore for scenarios in tooltips #71\r\n\r\n## [1.6.5] - 2018-01-30\r\n\r\nFixed release issues\r\n\r\n## [1.6.4] - 2018-01-30\r\n\r\n### Fixed\r\n\r\n- fixed broken SonarImporter due to jdk9 migration\r\n\r\n## [1.6.3] - 2018-01-26\r\n\r\n### Added\r\n\r\n- added npm publish for analysis\r\n- simple release script for automatic changelog updates, commits, tags, version bumps\r\n\r\n## [1.6.2] - 2018-01-25\r\n\r\n### Added\r\n\r\n- added support for git log --raw and git log --numstat --raw\r\n- added support for git log --numstat and codechurn\r\n- added support for renames in SCMLogParser for git log --name-status\r\n- added support for renames in SCMLogParser for git log --numstat, git log --raw and git log --numstat --raw\r\n- added new SCM experimental metrics range_of_weeks_with_commits and successive_weeks_of_commits\r\n- the file origin of a node is displayed in the details now\r\n- sonarqube analysis on CI build\r\n- npm publish support in visualization\r\n\r\n### Changed\r\n\r\n- Deltas are no longer experimental\r\n- two selected delta maps now merge their nodes correctly. The map where\r\n a node was missing get\'s a copy of this node with metrics=0.\r\n File additions/deletions are therefore only visible when areaMetric is\r\n unary and deltas are activated.\r\n\r\n### Fixed\r\n\r\n- delta display bug for heights\r\n- going back from delta view now correctly removes deltas from node data\r\n- Delta shown although not in delta mode #60\r\n- Allow inversion of delta colors #57\r\n- npm binary error\r\n\r\n## [1.5.2] - 2018-01-04\r\n\r\n### Changed\r\n\r\n- scaling slider now has steps of 0.1. This allows the user to select precise values like 2.0\r\n- updated jdk to jdk9\r\n\r\n### Fixed\r\n\r\n- Opening the same file a second time does not work #53\r\n- added missing require declaration\r\n- added glsl loader in testing environment\r\n- Native Application support is bugged while building in Travis CI #48\r\n\r\n## [1.5.1] - 2017-11-14\r\n\r\n### Added\r\n\r\n- command line parameter to toggle "authors" attribute in SCMLogParser\r\n\r\n### Fixed\r\n\r\n- when passing a file through the "file" parameter in the URL, the map now renders correctly\r\n\r\n## [1.5.0] - 2017-10-24\r\n\r\n### Added\r\n\r\n- experimental delta functionality\r\n- loading multiple maps\r\n- experimental margin slider\r\n\r\n### Changed\r\n\r\n- faster rendering\r\n\r\n### Removed\r\n\r\n- nwjs packages and native apps due to a bug\r\n\r\n### Fixed\r\n\r\n- using color metric instead of height metric for color range slider ceil\r\n\r\n## [1.4.0] - 2017-09-14\r\n\r\n### Added\r\n\r\n- Typescript support\r\n- Browsersync\r\n- added advanced merging strategy "leaf" in MergeFilter\r\n- advanced merging with restructuring\r\n\r\n### Changed\r\n\r\n- Browserify replaced with Webpack\r\n- Better debugging\r\n- Karma instead of Mocha\r\n\r\n## [1.3.2] - 2017-08-18\r\n\r\n### Added\r\n\r\n- add slider controls for color thresholds #19\r\n- Added additional structuring in SonarImporter for multi-module projects\r\n- button to generate current url parameters\r\n- camera position is now a setting (e.g. in scenarios or url parameters)\r\n- margin slider: make it easier to find out to which package/folder a class belongs #20\r\n\r\n### Changed\r\n\r\n- better url parameter resolution (nested parameters are handled correctly)\r\n- changed hover color. Allows better distinction between hover and select\r\n\r\n### Removed\r\n\r\n- obsolete helper grid\r\n\r\n### Fixed\r\n\r\n- changing display or color settings resets scaling #18\r\n- scenario description #32\r\n- Scaling should not scale the labels #35\r\n\r\n## [1.3.1] - 2017-07-05\r\n\r\n### Fixed\r\n\r\n- Prevented override of URL-parameters by default scenario\r\n\r\n## [1.3.0] - 2017-07-05\r\n\r\n### Added\r\n\r\n- Adding simple merge functionality for multiple json files\r\n- Added CSVImporter\r\n- Added Translation for SonarQube metrics\r\n- Added descriptions for metrics\r\n\r\n### Changed\r\n\r\n- Changed uppercase metrics, e.g. RLOC, to lowercase metrics\r\n\r\n### Fixed\r\n\r\n- Simple cc.json does not display anything #17\r\n\r\n## [1.2.0] - 2017-06-19\r\n\r\n### Added\r\n\r\n- Adding Labels and UI\r\n- Support for links to source page of SonarQube in sonarimporter\r\n- Added SCMLogParser\r\n\r\n### Fixed\r\n\r\n- GitHub Issue: legend is wrong #21\r\n\r\n## [1.1.5] - 2017-05-31\r\n\r\n### Fixed\r\n\r\n- Wrong version numbers in analysis part\r\n\r\n## [1.1.4] - 2017-05-26\r\n\r\n### Added\r\n\r\n- Scenarios and default scenario\r\n- Translation API for Metrics\r\n- Metric tooltips in dropdown\r\n\r\n### Fixed\r\n\r\n- GitHub Issue: Sonarimporter crashes with null pointer exception when there is a component without path. #13\r\n\r\n## [1.1.3] - 2017-05-01\r\n\r\n### Added\r\n\r\n- Support for SonarQube Measures-API\r\n- Error logging for sonarqube errors\r\n\r\n### Changed\r\n\r\n- Standard Sonar metric is now complexity,ncloc,functions,duplicated_lines,classes,blocker_violations,generated_lines,bugs,commented_out_code_lines,lines,violations,comment_lines,duplicated_blocks\r\n\r\n## [1.1.2] - 2017-04-28\r\n\r\n### Added\r\n\r\n- Translation API for Metrics\r\n\r\n## [1.1.1] - 2017-04-07\r\n\r\n### Fixed\r\n\r\n- GitHub Issue: Flickering surfaces #3\r\n- GitHub Issue: Unable to install due to readlink error on macOS #4\r\n\r\n## [1.1.0] - 2017-03-27\r\n\r\n### Added\r\n\r\n- SourceMonitorImporter for importing projects from SourceMonitor.\r\n\r\n## [1.0.0] - 2017-03-17\r\n\r\n### Added\r\n\r\n- SonarImporter for importing projects from SonarQube.\r\n- ValidationTool for validating an existing json file.\r\n',{headerIds:!1}).split("\n");const r=this.findVersionLine(i,this.data.currentVersion),o=this.findVersionLine(i,this.data.previousVersion);i=i.slice(r,o+1);const s=["Added \u{1f680}","Fixed \u{1f41e}","Changed","Removed \u{1f5d1}","Chore \u{1f468}\u200d\u{1f4bb} \u{1f469}\u200d\u{1f4bb}"],a={};for(const c of s){const l=new RegExp(`

    ${c}

    `),d=this.getAllIndexes(i,l),u=[];for(const h of d){const f=h+2,b=this.findEndChangesLine(i,h);for(const y of i.slice(f,b))u.push(`${y}
    `)}u.length>0&&(a[c]=u.join("\n"))}return a}getAllIndexes(e,i){return e.reduce((r,o,s)=>(i.test(o)&&r.push(s),r),[])}findVersionLine(e,i){const r=new RegExp(`\\[${i}]`);return e.findIndex(o=>r.test(o))}findEndChangesLine(e,i){return i+e.slice(i+1).findIndex(r=>/

    /.test(r)||/

    /.test(r))}static{this.\u0275fac=function(i){return new(i||t)(N(Ry))}}static{this.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],decls:16,vars:5,consts:[["color","primary"],["mat-dialog-content",""],[1,"content"],["mat-dialog-actions",""],["href","https://maibornwolff.github.io/codecharta/news/","target","_blank","rel","noopener noreferrer"],["mat-button","","cdkFocusInitial","",3,"mat-dialog-close"],[3,"innerHTML"]],template:function(i,r){1&i&&(T(0,"mat-toolbar",0),ge(1,"Changelog"),L(),T(2,"div",1)(3,"h1"),ge(4,"What is new in CodeCharta?"),L(),T(5,"h2"),ge(6),L(),T(7,"div",2),xr(8,NGe,4,2,"div",null,Sr),Ee(10,"keyvalue"),L()(),T(11,"div",3)(12,"a",4),ge(13,"Know more"),L(),T(14,"button",5),ge(15,"CLOSE"),L()()),2&i&&(D(6),wg("",r.data.previousVersion," \u2192 ",r.data.currentVersion,""),D(2),Cr(Re(10,3,r.changes)),D(6),le("mat-dialog-close",!0))},dependencies:[Zs,_l,pf,mf,Jb,PE],styles:['.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}.cc-changelog-dialog .mat-mdc-dialog-container [mat-dialog-content]{padding:8px 24px 0;margin-top:10px;color:#000}.cc-changelog-dialog .mat-mdc-dialog-container [mat-dialog-content] img[alt$=xs]{height:32px}.cc-changelog-dialog .mat-mdc-dialog-container [mat-dialog-content] img[alt$=s]{height:64px}.cc-changelog-dialog .mat-mdc-dialog-container [mat-dialog-content] img[alt$=m]{height:256px}.cc-changelog-dialog .mat-mdc-dialog-container [mat-dialog-content] img[alt$=l]{height:350px}.cc-changelog-dialog .mat-mdc-dialog-container [mat-dialog-content] img[alt$=xl]{height:512px}.cc-changelog-dialog .mat-mdc-dialog-container [mat-dialog-actions]{justify-content:flex-end}.cc-changelog-dialog .mat-mdc-dialog-container [mat-dialog-actions] a{color:#1b9cfc}.cc-changelog-dialog .mat-mdc-dialog-container [mat-dialog-actions] button{margin:0 8px}\n'],encapsulation:2})}}return t})();function Wne(t){const n=t.split(".");return{major:Number.parseInt(n[0])||0,minor:Number.parseInt(n[1])||0,patch:Number.parseInt(n[2])||0}}let $ne=(()=>{class t{constructor(e){this.dialog=e,this.version=Ly.rE}synchronizeLocalCodeChartaVersion(){const e=localStorage.getItem("codeChartaVersion");null!==e?function HGe(t,n){const e=Wne(t),i=Wne(n);return e.major===i.major&&e.minor===i.minor&&e.patch===i.patch?0:e.major>i.major?1:e.majori.minor?1:e.minori.patch?1:e.patcht.focusedNodePath);const jne=[J0,_u,pM,AM,ly,cy,ry,ny,iy,ty,Lg,Rg,Cx,lf,oy,sy,ay,uy,yu,cd,Pg,df,bM,_M,fy,vM,wu,vu,gl,dy,CM,my,EM,ey,zp];let Kne=(()=>{class t{constructor(e,i,r,o,s){this.store=e,this.actions$=i,this.uploadFilesService=r,this.threeRendererService=o,this.codeMapRenderService=s,this.actionsRequiringRender$=this.actions$.pipe(pl(...jne)),this.renderCodeMap$=Co(()=>Su([this.store.select(Xc),this.actionsRequiringRender$]).pipe(Mi(([a])=>!!a.unifiedMapNode),function QGe(t,n=Og,e){const i=uL(t,n);return function VGe(t,n){return be((e,i)=>{const{leading:r=!0,trailing:o=!1}=n??{};let s=!1,a=null,c=null,l=!1;const d=()=>{c?.unsubscribe(),c=null,o&&(f(),l&&i.complete())},u=()=>{c=null,l&&i.complete()},h=b=>c=No(t(b)).subscribe(Ie(i,d,u)),f=()=>{if(s){s=!1;const b=a;a=null,i.next(b),!l&&h(b)}};e.subscribe(Ie(i,b=>{s=!0,a=b,(!c||c.closed)&&(r?f():h(b))},()=>{l=!0,(!(o&&s&&c)||c.closed)&&i.complete()}))})}(()=>i,e)}(16.666666666666668,Og,{leading:!1,trailing:!0}),co(([a])=>{this.codeMapRenderService.render(a.unifiedMapNode),this.codeMapRenderService.scaleMap(),this.threeRendererService.render()}),ET()),{dispatch:!1}),this.removeLoadingIndicatorAfterRender$=Co(()=>this.renderCodeMap$.pipe(Mi(()=>!this.uploadFilesService.isUploading),co(()=>{this.store.dispatch(Zm({value:!1})),this.store.dispatch(Hg({value:!1}))})),{dispatch:!1})}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(bu),ee(Yee),ee(zi),ee(cJ))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),GGe=(()=>{class t{constructor(e,i,r){this.store=e,this.renderCodeMapEffect=i,this.threeOrbitControlsService=r,this.autoFitTo$=Co(()=>Su([this.store.select(ud),this.store.select(S4),this.store.select(pte)]).pipe(Fy(1),gu(this.store.select(mte)),Mi(([,o])=>o),tf(()=>this.renderCodeMapEffect.renderCodeMap$.pipe(qo(1))),co(()=>{this.threeOrbitControlsService.autoFitTo()})),{dispatch:!1})}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(Kne),ee(Bl))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),WGe=(()=>{class t{constructor(e){this.store=e,this.linkHeightAndColorMetric$=Co(()=>Su([this.store.select(_x),this.store.select(cU)]).pipe(Mi(([,i])=>i),mt(([i])=>gl({value:i}))))}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),$Ge=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),jGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),KGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),XGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,Ane]})}}return t})(),YGe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji,$Ge,jGe,KGe,XGe]})}}return t})();const k4=Bt(Ene,$b,(t,n)=>t?n.get(t.nodeId):null);function qGe(t,n){if(1&t){const e=Cn();T(0,"button",1),De("click",function(){return Mt(e),St(Se().flattenNode())}),fe(1,"img",2),ge(2," FLATTEN\n"),L()}}function ZGe(t,n){if(1&t){const e=Cn();T(0,"button",3),De("click",function(){return Mt(e),St(Se().unFlattenNode())}),fe(1,"img",2),ge(2," SHOW\n"),L()}}let JGe=(()=>{class t{constructor(e){this.store=e}flattenNode(){this.store.dispatch(LR({item:{path:this.codeMapNode.path,type:"flatten",nodeType:this.codeMapNode.type}}))}unFlattenNode(){this.store.dispatch(xM({item:{path:this.codeMapNode.path,type:"flatten",nodeType:this.codeMapNode.type}}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-flatten-buttons"]],inputs:{codeMapNode:"codeMapNode"},decls:2,vars:1,consts:[["mat-button","","title","Flatten node and children-nodes, but keep an empty space"],["mat-button","","title","Flatten node and children-nodes, but keep an empty space",3,"click"],["alt","flattenIcon","src","codeCharta/assets/flatten.png",1,"png-icon"],["mat-button","","title","Show node and children-nodes",3,"click"]],template:function(i,r){1&i&&$e(0,qGe,3,0,"button",0)(1,ZGe,3,0),2&i&&at(0,null!=r.codeMapNode&&r.codeMapNode.isFlattened?1:0)},dependencies:[Zs],encapsulation:2})}}return t})();const e9e=Bt(S4,t=>t[0]);let t9e=(()=>{class t{transform(e,i){if(!e||!i)return{isNodeFocused:!1,isParentFocused:!1};const r=e===i.path;return{isNodeFocused:r,isParentFocused:!r&&i.path.startsWith(e)}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"isNodeFocused",type:t,pure:!0})}}return t})();function n9e(t,n){if(1&t){const e=Cn();T(0,"button",1),De("click",function(){return Mt(e),St(Se(2).handleFocusNodeClicked())}),fe(1,"i",2),ge(2," FOCUS\n"),L()}}function i9e(t,n){if(1&t){const e=Cn();T(0,"button",5),De("click",function(){return Mt(e),St(Se(3).handleUnfocusAllNodesClicked())}),fe(1,"i",2),ge(2," UNFOCUS ALL\n"),L()}}function r9e(t,n){if(1&t){const e=Cn();T(0,"button",3),De("click",function(){return Mt(e),St(Se(2).handleUnfocusNodeClicked())}),fe(1,"i",2),ge(2),L(),$e(3,i9e,3,0,"button",4),Ee(4,"async")}if(2&t){const e=Se(),i=Se();D(2),qt(" ",e.isParentFocused?"UNFOCUS PARENT":"UNFOCUS","\n"),D(),at(3,Re(4,2,i.hasPreviousFocusedNodePath$)?3:-1)}}function o9e(t,n){if(1&t&&$e(0,n9e,3,0,"button",0)(1,r9e,5,4),2&t){const e=n;at(0,e.isNodeFocused?-1:0),D(),at(1,e.isNodeFocused||e.isParentFocused?1:-1)}}let s9e=(()=>{class t{constructor(e){this.store=e,this.currentFocusedNodePath$=this.store.select(e9e),this.hasPreviousFocusedNodePath$=this.store.select(S4).pipe(mt(i=>i.length>1))}handleFocusNodeClicked(){this.store.dispatch(_M({value:this.codeMapNode.path}))}handleUnfocusNodeClicked(){this.store.dispatch(vM())}handleUnfocusAllNodesClicked(){this.store.dispatch(fy())}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-focus-buttons"]],inputs:{codeMapNode:"codeMapNode"},decls:3,vars:6,consts:[["mat-button","","id","focus-button","title","Only show selected nodes with children-nodes"],["mat-button","","id","focus-button","title","Only show selected nodes with children-nodes",3,"click"],[1,"fa","fa-bullseye"],["mat-button","","aria-label","Remove Focus from node","title","Show previous focused node",3,"click"],["mat-button","","aria-label","Remove Focus from all nodes","title","Show complete map"],["mat-button","","aria-label","Remove Focus from all nodes","title","Show complete map",3,"click"]],template:function(i,r){if(1&i&&($e(0,o9e,2,2),Ee(1,"async"),Ee(2,"isNodeFocused")),2&i){let o;at(0,(o=po(2,3,Re(1,1,r.currentFocusedNodePath$),r.codeMapNode))?0:-1,o)}},dependencies:[Zs,Ln,t9e],encapsulation:2})}}return t})();function a9e(t,n){if(1&t){const e=Cn();T(0,"button",1),De("click",function(){return Mt(e),St(Se().addNodeToConstantHighlight())}),fe(1,"i",2),ge(2," KEEP HIGHLIGHT\n"),L()}}function c9e(t,n){if(1&t){const e=Cn();T(0,"button",3),De("click",function(){return Mt(e),St(Se().removeNodeFromConstantHighlight())}),fe(1,"i",2),ge(2," REMOVE HIGHLIGHT\n"),L()}}let l9e=(()=>{class t{constructor(e,i){this.threeSceneService=e,this.idToBuilding=i}ngOnChanges(e){e.codeMapNode&&(this.isHighlighted=this.calculateIsHighlighted())}addNodeToConstantHighlight(){this.threeSceneService.addNodeAndChildrenToConstantHighlight(this.codeMapNode)}removeNodeFromConstantHighlight(){this.threeSceneService.removeNodeAndChildrenFromConstantHighlight(this.codeMapNode)}calculateIsHighlighted(){if(!this.codeMapNode)return!1;const e=this.idToBuilding.get(this.codeMapNode.id);return!!e&&this.threeSceneService.getConstantHighlight().has(e.id)}static{this.\u0275fac=function(i){return new(i||t)(N(Yc),N(hx))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-highlight-buttons"]],inputs:{codeMapNode:"codeMapNode"},features:[ar],decls:2,vars:1,consts:[["mat-button","","title","Highlight node constantly"],["mat-button","","title","Highlight node constantly",3,"click"],[1,"fa","fa-cubes"],["mat-button","","title","Remove constant highlight",3,"click"]],template:function(i,r){1&i&&$e(0,a9e,3,0,"button",0)(1,c9e,3,0),2&i&&at(0,r.isHighlighted?1:0)},dependencies:[Zs],encapsulation:2})}}return t})();const d9e=Bt(jb,t=>t.markingColors),u9e=Bt(k4,d9e,Yq,(t,n,e)=>{if(null===t)return n.map(r=>({color:r,isMarked:!1}));const i=CJ(e,t.path);return n.map(r=>({color:r,isMarked:-1!==i&&r===e[i].color}))});function h9e(t,n){1&t&&fe(0,"i",5)}function f9e(t,n){if(1&t){const e=Cn();T(0,"button",4),De("click",function(){const r=Mt(e).$implicit,o=Se(),s=Se();return St(r.isMarked?s.unmarkFolder(o.path):s.markFolder(o.path,r.color))}),$e(1,h9e,1,0,"i",5),L()}if(2&t){const e=n.$implicit;xi("background-color",e.color),D(),at(1,e.isMarked?1:-1)}}function m9e(t,n){if(1&t){const e=Cn();T(0,"div",1),xr(1,f9e,2,3,"button",2,Sr),Ee(3,"async"),T(4,"cc-color-picker",3),De("onColorChange",function(r){const o=Mt(e);return St(Se().markFolder(o.path,r))}),L()()}if(2&t){const e=Se(),i=xo(3);D(),Cr(Re(3,2,e.markFolderItems$)),D(3),le("hexColor","#ff0000")("triggerTemplate",i)}}function p9e(t,n){1&t&&fe(0,"div",6)}let A9e=(()=>{class t{constructor(e){this.store=e,this.markFolderItems$=this.store.select(u9e),this.codeMapNode$=this.store.select(k4)}markFolder(e,i){this.store.dispatch(my({packages:[{path:e,color:i}]}))}unmarkFolder(e){this.store.dispatch(EM({path:e}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-mark-folder-row"]],decls:4,vars:3,consts:[["colorPickerTriggerTemplate",""],[1,"row"],["title","Colorize folder",1,"colorButton",3,"background-color"],[3,"onColorChange","hexColor","triggerTemplate"],["title","Colorize folder",1,"colorButton",3,"click"],[1,"fa","fa-times"],[1,"cc-color-picker-trigger","fa","fa-paint-brush"]],template:function(i,r){if(1&i&&($e(0,m9e,5,4,"div",1),Ee(1,"async"),$e(2,p9e,1,0,"ng-template",null,0,Xh)),2&i){let o;at(0,(o=Re(1,1,r.codeMapNode$))?0:-1,o)}},dependencies:[hZ,Ln],styles:["cc-mark-folder-row .row{display:flex}cc-mark-folder-row :hover{cursor:pointer}cc-mark-folder-row .colorButton{width:32px;height:32px}cc-mark-folder-row .colorButton i{font-size:25px;display:block;color:red;text-shadow:-1px 0 white,0 1px white,1px 0 white,0 -1px white}cc-mark-folder-row cc-color-picker{width:32px;height:32px}cc-mark-folder-row cc-color-picker .cc-color-picker-trigger{font-size:25px;margin-top:8px}\n"],encapsulation:2})}}return t})(),g9e=(()=>{class t{constructor(e){this.store=e}excludeNode(){this.store.dispatch(PR({items:[{path:this.codeMapNode.path,type:"exclude",nodeType:this.codeMapNode.type}]}))}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["cc-exclude-button"]],inputs:{codeMapNode:"codeMapNode"},decls:3,vars:0,consts:[["mat-button","","id","exclude-button","title","Exclude node and children-nodes and reorder the CodeMap",3,"click"],[1,"fa","fa-ban"]],template:function(i,r){1&i&&(T(0,"button",0),De("click",function(){return r.excludeNode()}),fe(1,"i",1),ge(2," EXCLUDE\n"),L())},dependencies:[Zs],encapsulation:2})}}return t})(),b9e=(()=>{class t{transform(e){return`${0===e.lastIndexOf("/")?"":"..."}${e.slice(e.lastIndexOf("/"))}`}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=sr({name:"lastPartOfNodePath",type:t,pure:!0})}}return t})();function _9e(t,n){1&t&&(T(0,"div"),fe(1,"cc-mark-folder-row")(2,"mat-divider"),L())}function v9e(t,n){if(1&t&&(T(0,"mat-card",0),$e(1,_9e,3,0,"div"),T(2,"div",1)(3,"button",2),ge(4),Ee(5,"lastPartOfNodePath"),L(),fe(6,"cc-focus-buttons",3)(7,"cc-flatten-buttons",3)(8,"cc-highlight-buttons",3)(9,"cc-exclude-button",3),L()()),2&t){const e=n;D(),at(1,(null==e||null==e.children?null:e.children.length)>0?1:-1),D(2),Ga("title",e.path),D(),qt(" ",Re(5,7,e.path)," "),D(2),le("codeMapNode",e),D(),le("codeMapNode",e),D(),le("codeMapNode",e),D(),le("codeMapNode",e)}}let y9e=(()=>{class t{constructor(e){this.store=e}ngOnInit(){this.codeMapNode$=this.store.select(k4)}static{this.\u0275fac=function(i){return new(i||t)(N(Tt))}}static{this.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],decls:2,vars:3,consts:[["appearance","outlined","id","codemap-context-menu"],[1,"button-group"],["mat-button","","disabled","true",3,"title"],[3,"codeMapNode"]],template:function(i,r){if(1&i&&($e(0,v9e,10,9,"mat-card",0),Ee(1,"async")),2&i){let o;at(0,(o=Re(1,1,r.codeMapNode$))?0:-1,o)}},dependencies:[Zs,d3,gT,JGe,s9e,l9e,A9e,g9e,Ln,b9e],styles:["#codemap-context-menu{padding:12px}#codemap-context-menu .button-group{display:flex;flex-direction:column;gap:6px;width:100%}#codemap-context-menu .png-icon{width:17px;height:17px;margin:5px auto auto;padding:0;display:inline-block;background-repeat:no-repeat no-repeat;pointer-events:none}#codemap-context-menu [mat-button]{width:100%;text-align:left;margin:0;justify-content:left;line-height:30px;min-height:30px}#codemap-context-menu [mat-button] i{min-width:15px}\n"],encapsulation:2})}}return t})(),w9e=(()=>{class t{constructor(e,i){this.overlay=e,this.store=i,this.overlayReference=null,this.close=()=>{document.removeEventListener("click",this.onLeftClickHideNodeContextMenu,!0),document.removeEventListener("mousedown",this.onRightClickHideNodeContextMenu,!0),document.getElementById("codeMap").removeEventListener("wheel",this.close,!0),this.store.dispatch(Yb(null)),this.overlayReference&&this.resetOverlay()},this.onLeftClickHideNodeContextMenu=r=>{this.isEventFromColorPicker(r)||this.close()},this.onRightClickHideNodeContextMenu=r=>{2===r.button&&this.close()}}open(e,i){this.overlayReference&&this.resetOverlay();const r=this.overlay.position().flexibleConnectedTo({x:e,y:i}).withPositions([{originX:"end",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayReference=this.overlay.create({positionStrategy:r,scrollStrategy:this.overlay.scrollStrategies.close()}),this.overlayReference.attach(new Ey(y9e)),this.overlayReference.overlayElement.addEventListener("contextmenu",o=>{o.preventDefault()}),document.addEventListener("click",this.onLeftClickHideNodeContextMenu,!1),document.addEventListener("mousedown",this.onRightClickHideNodeContextMenu,!0),document.getElementById("codeMap").addEventListener("wheel",this.close,!0)}resetOverlay(){this.overlayReference.dispose(),this.overlayReference=null}isEventFromColorPicker(e){return e.composedPath().some(r=>"CC-COLOR-PICKER"===r?.nodeName||"COLOR-CHROME"===r?.nodeName)}static{this.\u0275fac=function(i){return new(i||t)(ee(us),ee(Tt))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),x9e=(()=>{class t{constructor(e,i){this.actions$=e,this.nodeContextMenu=i,this.openNodeContextMenu$=Co(()=>this.actions$.pipe(pl(Yb),co(r=>{r.value&&this.nodeContextMenu.open(r.value.xPositionOfRightClickEvent,r.value.yPositionOfRightClickEvent)})),{dispatch:!1})}static{this.\u0275fac=function(i){return new(i||t)(ee(bu),ee(w9e))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),C9e=(()=>{class t{constructor(e){this.store=e,this.resetSelectedEdgeMetricWhenItDoesntExistAnymore$=Co(()=>this.store.select(Cs).pipe(gu(this.store.select(Xu)),Mi(([i,r])=>!i.edgeMetricData.some(o=>o.name===r)),mt(([i])=>i.edgeMetricData[0]?.name),j0(),mt(i=>yu({value:i}))))}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();const S9e=[[CM,my,EM,OR,mW,pW,IR,DR,BR,RR,LR,wM,xM],[J0,ly,cy,gJ,S3,vJ,z3,_u,pM,AM,gM,dy,kR,fM,ry,iy,ny,ty,Lg,Rg,Cx,lf,mM,hM,uM,oy,sy,ay,TR,FR,ey],[uy,yM,yu,cd,Pg,df,_y,bM,fy,_M,vM,wu,hy,gl,vu],[...OM]].flat();let k9e=(()=>{class t{constructor(e,i){var r=this;this.actions$=e,this.state=i,this.saveCcState$=Co(()=>this.actions$.pipe(Mi(o=>o.type!==Xb.type),pl(...S9e),Ng(500),co(m(function*(){const o=r.state.getValue();yield function mbe(t){return jR.apply(this,arguments)}(o)}))),{dispatch:!1})}static{this.\u0275fac=function(i){return new(i||t)(ee(bu),ee(Dr))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),T9e=(()=>{class t{constructor(e){this.actions$=e,this.setIsLoadingFile$=Co(()=>this.actions$.pipe(pl(...OM),mt(()=>Zm({value:!0})))),this.setIsLoadingMap$=Co(()=>this.actions$.pipe(pl(...jne),mt(()=>Hg({value:!0}))))}static{this.\u0275fac=function(i){return new(i||t)(ee(bu))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),F9e=(()=>{class t{constructor(e){this.store=e,this.unfocusNodes$=Co(()=>this.store.select(ud).pipe(mt(()=>fy())))}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),B9e=(()=>{class t{constructor(e){this.store=e,this.resetIsEdgeMetricVisible$=Co(()=>this.store.select(Xu).pipe(gu(this.store.select(OU)),Mi(([,i])=>!i),mt(()=>fM())))}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})();function I9e(t,n){const e=new Map;if(1===t.length)return t[0].settings.fileSettings.edges;for(const i of t)if(i.settings.fileSettings.edges)for(const r of i.settings.fileSettings.edges){const o={fromNodeName:n?ux(i.fileMeta.fileName,r.fromNodeName):r.fromNodeName,toNodeName:n?ux(i.fileMeta.fileName,r.toNodeName):r.toNodeName,attributes:hd(r.attributes),visible:r.visible},s=e.get(`${o.fromNodeName}|${o.toNodeName}`);if(void 0!==s)for(const a of Object.keys(o.attributes))s.attributes[a]=o.attributes[a];else e.set(`${o.fromNodeName}|${o.toNodeName}`,o)}return[...e.values()]}function D9e(t,n){if(1===t.length)return t[0].settings.fileSettings.markedPackages;const e=new Map;for(const i of t)if(i.settings.fileSettings.markedPackages)for(const r of i.settings.fileSettings.markedPackages){const o={path:n?Aq(i.fileMeta.fileName,r.path):r.path,color:r.color};e.set(`${o.path}|${o.color}`,o)}return[...e.values()]}function R9e(t,n){const e=new Map;if(1===t.length)return t[0].settings.fileSettings.blacklist;for(const i of t)if(i.settings.fileSettings.blacklist)for(const r of i.settings.fileSettings.blacklist){const o={path:n?Aq(i.fileMeta.fileName,r.path):r.path,type:r.type};e.set(`${o.path}|${o.type}`,o)}return[...e.values()]}function L9e(t){const n={},e={};for(const i of t){for(const r of Object.keys(i.nodes))n[r]||(n[r]=i.nodes[r]);for(const r of Object.keys(i.edges))e[r]||(e[r]=i.edges[r])}return{nodes:n,edges:e}}function P9e(t){const n={};for(const e of t)for(const i of Object.keys(e))n[i]||(n[i]=e[i]);return n}let O9e=(()=>{class t{constructor(e,i){this.actions$=e,this.state=i,this.updateFileSettings$=Co(()=>this.actions$.pipe(pl(...OM),mt(()=>{const r=this.state.getValue(),o=function vbe(t){return eL(t).map(n=>n.file)}(r.files),s=kW(r.files),a=ud(r).map(({file:l})=>l.settings.fileSettings.attributeTypes),c=ud(r).map(({file:l})=>l.settings.fileSettings.attributeDescriptors);return zp({value:{fileSettings:{edges:I9e(o,s),markedPackages:D9e(o,s),blacklist:R9e(o,s),attributeTypes:L9e(a),attributeDescriptors:P9e(c)}}})})))}static{this.\u0275fac=function(i){return new(i||t)(ee(bu),ee(Dr))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),N9e=(()=>{class t{constructor(e,i){this.store=e,this.state=i,this.updateMapColors$=Co(()=>this.store.select(Vf).pipe(mt(r=>{const o=this.state.getValue();if(1===o.fileSettings.attributeDescriptors[r]?.direction){const a=JSON.parse(Al(o.appSettings.mapColors)),c=a.negative;return a.negative=a.positive,a.positive=c,_u({value:a})}return _u({value:Td})})))}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(Dr))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),U9e=(()=>{class t{constructor(e,i){this.store=e,this.state=i,this.updateVisibleTopLabels$=Co(()=>this.store.select(ud).pipe(lte(),gu(this.store.select(_T)),mt(([[r,o],s])=>{const c=Al(r)===Al(o)?this.state.getValue().appSettings.amountOfTopLabels:n3(s);return lf({value:c})})))}static{this.\u0275fac=function(i){return new(i||t)(ee(Tt),ee(Dr))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),H9e=(()=>{class t{constructor(e,i){this.actions$=e,this.store=i,this.resetColorRange$=Co(()=>this.actions$.pipe(pl(...OM),tf(()=>this.store.select(ju).pipe(Fy(1),qo(1))),mt(r=>cd({value:xT(r)})))),this.resetColorRangeOnColorMetricChange$=Co(()=>this.actions$.pipe(pl(gl),tf(()=>this.store.select(ju).pipe(qo(1))),mt(r=>cd({value:xT(r)}))))}static{this.\u0275fac=function(i){return new(i||t)(ee(bu),ee(Tt))}}static{this.\u0275prov=st({token:t,factory:t.\u0275fac})}}return t})(),V9e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t})}static{this.\u0275inj=dt({imports:[nn,ji]})}}return t})(),Q9e=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=pt({type:t,bootstrap:[dVe]})}static{this.\u0275inj=dt({providers:[$ne,{provide:jz,useFactory:e=>()=>e.synchronizeLocalCodeChartaVersion(),deps:[$ne],multi:!0}],imports:[B6,upe,Tge.forRoot(FPe,{metaReducers:[BPe]}),qge.forRoot([F9e,yne,x9e,F8e,H9e,p5e,B9e,Kne,GGe,U9e,WGe,C9e,O9e,T9e,k9e,l_e,N9e]),ji,ad,W0,V9e,_Ge,YGe]})}}return t})();typeof window<"u"&&!window.__TEST_ENVIRONMENT__&&Yfe().bootstrapModule(Q9e)},7172:(ct,At,A)=>{"use strict";var K=A(6685),te=A(5841),m=A(8493),de=A(2420),H=A(8861),U=A(7741),G=A(8930),B=A(2615),O=A(1677);ct.exports=X,X.prototype.validate=function pe(Be,vt){var Ot;if("string"==typeof Be){if(!(Ot=this.getSchema(Be)))throw new Error('no schema with key or ref "'+Be+'"')}else{var wn=this._addSchema(Be);Ot=wn.validate||this._compile(wn)}var kt=Ot(vt);return!0!==Ot.$async&&(this.errors=Ot.errors),kt},X.prototype.compile=function Ne(Be,vt){var Ot=this._addSchema(Be,void 0,vt);return Ot.validate||this._compile(Ot)},X.prototype.addSchema=function ye(Be,vt,Ot,wn){if(Array.isArray(Be)){for(var kt=0;kt{"use strict";var At=ct.exports=function(){this._cache={}};At.prototype.put=function(K,te){this._cache[K]=te},At.prototype.get=function(K){return this._cache[K]},At.prototype.del=function(K){delete this._cache[K]},At.prototype.clear=function(){this._cache={}}},4442:(ct,At,A)=>{"use strict";var K=A(8892).MissingRef;ct.exports=function te(m,de,H){var U=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof de&&(H=de,de=void 0);var G=B(m).then(function(){var I=U._addSchema(m,void 0,de);return I.validate||O(I)});return H&&G.then(function(I){H(null,I)},H),G;function B(I){var V=I.$schema;return V&&!U.getSchema(V)?te.call(U,{$ref:V},!0):Promise.resolve()}function O(I){try{return U._compile(I)}catch(F){if(F instanceof K)return function V(F){var z=F.missingSchema;if(pe(z))throw new Error("Schema "+z+" is loaded but "+F.missingRef+" cannot be resolved");var q=U._loadingSchemas[z];return q||(q=U._loadingSchemas[z]=U._opts.loadSchema(z)).then(X,X),q.then(function(Ne){if(!pe(z))return B(Ne).then(function(){pe(z)||U.addSchema(Ne,z,void 0,de)})}).then(function(){return O(I)});function X(){delete U._loadingSchemas[z]}function pe(Ne){return U._refs[Ne]||U._schemas[Ne]}}(F);throw F}}}},8892:(ct,At,A)=>{"use strict";var K=A(5841);function m(H,U,G){this.message=G||m.message(H,U),this.missingRef=K.url(H,U),this.missingSchema=K.normalizeId(K.fullPath(this.missingRef))}function de(H){return H.prototype=Object.create(Error.prototype),H.prototype.constructor=H,H}ct.exports={Validation:de(function te(H){this.message="validation failed",this.errors=H,this.ajv=this.validation=!0}),MissingRef:de(m)},m.message=function(H,U){return"can't resolve reference "+U+" from id "+H}},7741:(ct,At,A)=>{"use strict";var K=A(1677),te=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,m=[0,31,28,31,30,31,30,31,31,30,31,30,31],de=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,H=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,U=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,B=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,O=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,I=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,V=/^(?:\/(?:[^~/]|~0|~1)*)*$/,F=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,z=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function q(Ue){return K.copy(q[Ue="full"==Ue?"full":"fast"])}function pe(Ue){var lt=Ue.match(te);if(!lt)return!1;var Ce=+lt[2],he=+lt[3];return Ce>=1&&Ce<=12&&he>=1&&he<=(2==Ce&&function X(Ue){return Ue%4==0&&(Ue%100!=0||Ue%400==0)}(+lt[1])?29:m[Ce])}function Ne(Ue,lt){var Je=Ue.match(de);if(!Je)return!1;var Ce=Je[1],he=Je[2],Qe=Je[3];return(Ce<=23&&he<=59&&Qe<=59||23==Ce&&59==he&&60==Qe)&&(!lt||Je[5])}ct.exports=q,q.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":B,url:O,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:H,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:it,uuid:I,"json-pointer":V,"json-pointer-uri-fragment":F,"relative-json-pointer":z},q.full={date:pe,time:Ne,"date-time":function Ge(Ue){var lt=Ue.split(ye);return 2==lt.length&&pe(lt[0])&&Ne(lt[1],!0)},uri:function xe(Ue){return qe.test(Ue)&&U.test(Ue)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":B,url:O,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:H,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:it,uuid:I,"json-pointer":V,"json-pointer-uri-fragment":F,"relative-json-pointer":z};var ye=/t|\s/i,qe=/\/|:/,We=/[^\\]\\Z/;function it(Ue){if(We.test(Ue))return!1;try{return new RegExp(Ue),!0}catch{return!1}}},6685:(ct,At,A)=>{"use strict";var K=A(5841),te=A(1677),m=A(8892),de=A(8861),H=A(604),U=te.ucs2length,G=A(362),B=m.Validation;function I(ye,Ge,qe){var xe=F.call(this,ye,Ge,qe);return xe>=0?{index:xe,compiling:!0}:(this._compilations[xe=this._compilations.length]={schema:ye,root:Ge,baseId:qe},{index:xe,compiling:!1})}function V(ye,Ge,qe){var xe=F.call(this,ye,Ge,qe);xe>=0&&this._compilations.splice(xe,1)}function F(ye,Ge,qe){for(var xe=0;xe{"use strict";var K=A(5568),te=A(362),m=A(1677),de=A(2420),H=A(4331);function U(xe,We,it){var Ue=this._refs[it];if("string"==typeof Ue){if(!this._refs[Ue])return U.call(this,xe,We,Ue);Ue=this._refs[Ue]}if((Ue=Ue||this._schemas[it])instanceof de)return F(Ue.schema,this._opts.inlineRefs)?Ue.schema:Ue.validate||this._compile(Ue);var Je,Ce,he,lt=G.call(this,We,it);return lt&&(Je=lt.schema,We=lt.root,he=lt.baseId),Je instanceof de?Ce=Je.validate||xe.call(this,Je.schema,We,void 0,he):void 0!==Je&&(Ce=F(Je,this._opts.inlineRefs)?Je:xe.call(this,Je,We,void 0,he)),Ce}function G(xe,We){var it=K.parse(We),Ue=pe(it),lt=X(this._getId(xe.schema));if(0===Object.keys(xe.schema).length||Ue!==lt){var Je=ye(Ue),Ce=this._refs[Je];if("string"==typeof Ce)return B.call(this,xe,Ce,it);if(Ce instanceof de)Ce.validate||this._compile(Ce),xe=Ce;else{if(!((Ce=this._schemas[Je])instanceof de))return;if(Ce.validate||this._compile(Ce),Je==ye(We))return{schema:Ce,root:xe,baseId:lt};xe=Ce}if(!xe.schema)return;lt=X(this._getId(xe.schema))}return I.call(this,it,lt,xe.schema,xe)}function B(xe,We,it){var Ue=G.call(this,xe,We);if(Ue){var lt=Ue.schema,Je=Ue.baseId;xe=Ue.root;var Ce=this._getId(lt);return Ce&&(Je=Ge(Je,Ce)),I.call(this,it,Je,lt,xe)}}ct.exports=U,U.normalizeId=ye,U.fullPath=X,U.url=Ge,U.ids=function qe(xe){var We=ye(this._getId(xe)),it={"":We},Ue={"":X(We,!1)},lt={},Je=this;return H(xe,{allKeys:!0},function(Ce,he,Qe,Ye,Le,ze,et){if(""!==he){var bt=Je._getId(Ce),xt=it[Ye],on=Ue[Ye]+"/"+Le;if(void 0!==et&&(on+="/"+("number"==typeof et?et:m.escapeFragment(et))),"string"==typeof bt){bt=xt=ye(xt?K.resolve(xt,bt):bt);var Sn=Je._refs[bt];if("string"==typeof Sn&&(Sn=Je._refs[Sn]),Sn&&Sn.schema){if(!te(Ce,Sn.schema))throw new Error('id "'+bt+'" resolves to more than one schema')}else if(bt!=ye(on))if("#"==bt[0]){if(lt[bt]&&!te(Ce,lt[bt]))throw new Error('id "'+bt+'" resolves to more than one schema');lt[bt]=Ce}else Je._refs[bt]=on}it[he]=xt,Ue[he]=on}}),lt},U.inlineRef=F,U.schema=G;var O=m.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function I(xe,We,it,Ue){if(xe.fragment=xe.fragment||"","/"==xe.fragment.slice(0,1)){for(var lt=xe.fragment.split("/"),Je=1;Je{"use strict";var K=A(2956),te=A(1677).toHash;ct.exports=function(){var de=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],H=["type","$comment"];return de.all=te(H),de.types=te(["number","integer","string","array","object","boolean","null"]),de.forEach(function(B){B.rules=B.rules.map(function(O){var I;if("object"==typeof O){var V=Object.keys(O)[0];I=O[V],O=V,I.forEach(function(z){H.push(z),de.all[z]=!0})}return H.push(O),de.all[O]={keyword:O,code:K[O],implements:I}}),de.all.$comment={keyword:"$comment",code:K.$comment},B.type&&(de.types[B.type]=B)}),de.keywords=te(H.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),de.custom={},de}},2420:(ct,At,A)=>{"use strict";var K=A(1677);ct.exports=function te(m){K.copy(m,this)}},1132:ct=>{"use strict";ct.exports=function(A){for(var de,K=0,te=A.length,m=0;m=55296&&de<=56319&&m{"use strict";function te(Ce,he,Qe,Ye){var Le=Ye?" !== ":" === ",ze=Ye?" || ":" && ",et=Ye?"!":"",bt=Ye?"":"!";switch(Ce){case"null":return he+Le+"null";case"array":return et+"Array.isArray("+he+")";case"object":return"("+et+he+ze+"typeof "+he+Le+'"object"'+ze+bt+"Array.isArray("+he+"))";case"integer":return"(typeof "+he+Le+'"number"'+ze+bt+"("+he+" % 1)"+ze+he+Le+he+(Qe?ze+et+"isFinite("+he+")":"")+")";case"number":return"(typeof "+he+Le+'"'+Ce+'"'+(Qe?ze+et+"isFinite("+he+")":"")+")";default:return"typeof "+he+Le+'"'+Ce+'"'}}ct.exports={copy:function K(Ce,he){for(var Qe in he=he||{},Ce)he[Qe]=Ce[Qe];return he},checkDataType:te,checkDataTypes:function m(Ce,he,Qe){if(1===Ce.length)return te(Ce[0],he,Qe,!0);var Ye="",Le=U(Ce);for(var ze in Le.array&&Le.object&&(Ye=Le.null?"(":"(!"+he+" || ",Ye+="typeof "+he+' !== "object")',delete Le.null,delete Le.array,delete Le.object),Le.number&&delete Le.integer,Le)Ye+=(Ye?" && ":"")+te(ze,he,Qe,!0);return Ye},coerceToTypes:function H(Ce,he){if(Array.isArray(he)){for(var Qe=[],Ye=0;Ye=he)throw new Error("Cannot access property/index "+Ye+" levels up, current level is "+he);return Qe[he-Ye]}if(Ye>he)throw new Error("Cannot access data "+Ye+" levels up, current level is "+he);if(ze="data"+(he-Ye||""),!Le)return ze}for(var bt=ze,xt=Le.split("/"),on=0;on{"use strict";var At=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];ct.exports=function(A,K){for(var te=0;te{"use strict";var K=A(8198);ct.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:K.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:K.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},9402:ct=>{"use strict";ct.exports=function(A,K,te){var F,m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V=A.opts.$data&&U&&U.$data;V?(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; ",F="schema"+de):F=U;var z="maximum"==K,q=z?"exclusiveMaximum":"exclusiveMinimum",X=A.schema[q],pe=A.opts.$data&&X&&X.$data,Ne=z?"<":">",ye=z?">":"<",Ge=void 0;if(!V&&"number"!=typeof U&&void 0!==U)throw new Error(K+" must be number");if(!pe&&void 0!==X&&"number"!=typeof X&&"boolean"!=typeof X)throw new Error(q+" must be number or boolean");if(pe){var Je,qe=A.util.getData(X.$data,H,A.dataPathArr),xe="exclusive"+de,We="exclType"+de,it="exclIsNumber"+de,lt="' + "+(Ue="op"+de)+" + '";m+=" var schemaExcl"+de+" = "+qe+"; ",Ge=q,(Je=Je||[]).push(m+=" var "+xe+"; var "+We+" = typeof "+(qe="schemaExcl"+de)+"; if ("+We+" != 'boolean' && "+We+" != 'undefined' && "+We+" != 'number') { "),m="",!1!==A.createErrors?(m+=" { keyword: '"+(Ge||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: {} ",!1!==A.opts.messages&&(m+=" , message: '"+q+" should be boolean' "),A.opts.verbose&&(m+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var Ce=m;m=Je.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+Ce+"]); ":" validate.errors = ["+Ce+"]; return false; ":" var err = "+Ce+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+=" } else if ( ",V&&(m+=" ("+F+" !== undefined && typeof "+F+" != 'number') || "),m+=" "+We+" == 'number' ? ( ("+xe+" = "+F+" === undefined || "+qe+" "+Ne+"= "+F+") ? "+I+" "+ye+"= "+qe+" : "+I+" "+ye+" "+F+" ) : ( ("+xe+" = "+qe+" === true) ? "+I+" "+ye+"= "+F+" : "+I+" "+ye+" "+F+" ) || "+I+" !== "+I+") { var op"+de+" = "+xe+" ? '"+Ne+"' : '"+Ne+"='; ",void 0===U&&(Ge=q,B=A.errSchemaPath+"/"+q,F=qe,V=pe)}else if(lt=Ne,(it="number"==typeof X)&&V){var Ue="'"+lt+"'";m+=" if ( ",V&&(m+=" ("+F+" !== undefined && typeof "+F+" != 'number') || "),m+=" ( "+F+" === undefined || "+X+" "+Ne+"= "+F+" ? "+I+" "+ye+"= "+X+" : "+I+" "+ye+" "+F+" ) || "+I+" !== "+I+") { "}else it&&void 0===U?(xe=!0,Ge=q,B=A.errSchemaPath+"/"+q,F=X,ye+="="):(it&&(F=Math[z?"min":"max"](X,U)),X===(!it||F)?(xe=!0,Ge=q,B=A.errSchemaPath+"/"+q,ye+="="):(xe=!1,lt+="=")),Ue="'"+lt+"'",m+=" if ( ",V&&(m+=" ("+F+" !== undefined && typeof "+F+" != 'number') || "),m+=" "+I+" "+ye+" "+F+" || "+I+" !== "+I+") { ";return Ge=Ge||K,(Je=Je||[]).push(m),m="",!1!==A.createErrors?(m+=" { keyword: '"+(Ge||"_limit")+"' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { comparison: "+Ue+", limit: "+F+", exclusive: "+xe+" } ",!1!==A.opts.messages&&(m+=" , message: 'should be "+lt+" ",m+=V?"' + "+F:F+"'"),A.opts.verbose&&(m+=" , schema: ",m+=V?"validate.schema"+G:""+U,m+=" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ",Ce=m,m=Je.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+Ce+"]); ":" validate.errors = ["+Ce+"]; return false; ":" var err = "+Ce+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+=" } ",O&&(m+=" else { "),m}},3792:ct=>{"use strict";ct.exports=function(A,K,te){var F,m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V=A.opts.$data&&U&&U.$data;if(V?(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; ",F="schema"+de):F=U,!V&&"number"!=typeof U)throw new Error(K+" must be number");m+="if ( ",V&&(m+=" ("+F+" !== undefined && typeof "+F+" != 'number') || ");var q=K,X=X||[];X.push(m+=" "+I+".length "+("maxItems"==K?">":"<")+" "+F+") { "),m="",!1!==A.createErrors?(m+=" { keyword: '"+(q||"_limitItems")+"' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { limit: "+F+" } ",!1!==A.opts.messages&&(m+=" , message: 'should NOT have ",m+="maxItems"==K?"more":"fewer",m+=" than ",m+=V?"' + "+F+" + '":""+U,m+=" items' "),A.opts.verbose&&(m+=" , schema: ",m+=V?"validate.schema"+G:""+U,m+=" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var pe=m;return m=X.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+pe+"]); ":" validate.errors = ["+pe+"]; return false; ":" var err = "+pe+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+="} ",O&&(m+=" else { "),m}},3226:ct=>{"use strict";ct.exports=function(A,K,te){var F,m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V=A.opts.$data&&U&&U.$data;if(V?(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; ",F="schema"+de):F=U,!V&&"number"!=typeof U)throw new Error(K+" must be number");m+="if ( ",V&&(m+=" ("+F+" !== undefined && typeof "+F+" != 'number') || "),m+=!1===A.opts.unicode?" "+I+".length ":" ucs2length("+I+") ";var q=K,X=X||[];X.push(m+=" "+("maxLength"==K?">":"<")+" "+F+") { "),m="",!1!==A.createErrors?(m+=" { keyword: '"+(q||"_limitLength")+"' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { limit: "+F+" } ",!1!==A.opts.messages&&(m+=" , message: 'should NOT be ",m+="maxLength"==K?"longer":"shorter",m+=" than ",m+=V?"' + "+F+" + '":""+U,m+=" characters' "),A.opts.verbose&&(m+=" , schema: ",m+=V?"validate.schema"+G:""+U,m+=" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var pe=m;return m=X.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+pe+"]); ":" validate.errors = ["+pe+"]; return false; ":" var err = "+pe+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+="} ",O&&(m+=" else { "),m}},2119:ct=>{"use strict";ct.exports=function(A,K,te){var F,m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V=A.opts.$data&&U&&U.$data;if(V?(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; ",F="schema"+de):F=U,!V&&"number"!=typeof U)throw new Error(K+" must be number");m+="if ( ",V&&(m+=" ("+F+" !== undefined && typeof "+F+" != 'number') || ");var q=K,X=X||[];X.push(m+=" Object.keys("+I+").length "+("maxProperties"==K?">":"<")+" "+F+") { "),m="",!1!==A.createErrors?(m+=" { keyword: '"+(q||"_limitProperties")+"' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { limit: "+F+" } ",!1!==A.opts.messages&&(m+=" , message: 'should NOT have ",m+="maxProperties"==K?"more":"fewer",m+=" than ",m+=V?"' + "+F+" + '":""+U,m+=" properties' "),A.opts.verbose&&(m+=" , schema: ",m+=V?"validate.schema"+G:""+U,m+=" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var pe=m;return m=X.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+pe+"]); ":" validate.errors = ["+pe+"]; return false; ":" var err = "+pe+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+="} ",O&&(m+=" else { "),m}},9218:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.schema[K],H=A.schemaPath+A.util.getProperty(K),U=A.errSchemaPath+"/"+K,G=!A.opts.allErrors,B=A.util.copy(A),O="";B.level++;var I="valid"+B.level,V=B.baseId,F=!0,z=de;if(z)for(var q,X=-1,pe=z.length-1;X0||!1===q:A.util.schemaHasRules(q,A.RULES.all))&&(F=!1,B.schema=q,B.schemaPath=H+"["+X+"]",B.errSchemaPath=U+"/"+X,m+=" "+A.validate(B)+" ",B.baseId=V,G&&(m+=" if ("+I+") { ",O+="}"));return G&&(m+=F?" if (true) { ":" "+O.slice(0,-1)+" "),m}},3883:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="valid"+de,F="errs__"+de,z=A.util.copy(A),q="";z.level++;var X="valid"+z.level;if(U.every(function(it){return A.opts.strictKeywords?"object"==typeof it&&Object.keys(it).length>0||!1===it:A.util.schemaHasRules(it,A.RULES.all)})){var Ne=z.baseId;m+=" var "+F+" = errors; var "+V+" = false; ";var ye=A.compositeRule;A.compositeRule=z.compositeRule=!0;var Ge=U;if(Ge)for(var qe,xe=-1,We=Ge.length-1;xe{"use strict";ct.exports=function(A,K,te){var m=" ",H=A.errSchemaPath+"/"+K,G=A.util.toQuotedString(A.schema[K]);return!0===A.opts.$comment?m+=" console.log("+G+");":"function"==typeof A.opts.$comment&&(m+=" self._opts.$comment("+G+", "+A.util.toQuotedString(H)+", validate.root.schema);"),m}},439:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="valid"+de,F=A.opts.$data&&U&&U.$data;F&&(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; "),F||(m+=" var schema"+de+" = validate.schema"+G+";");var q=q||[];q.push(m+="var "+V+" = equal("+I+", schema"+de+"); if (!"+V+") { "),m="",!1!==A.createErrors?(m+=" { keyword: 'const' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { allowedValue: schema"+de+" } ",!1!==A.opts.messages&&(m+=" , message: 'should be equal to constant' "),A.opts.verbose&&(m+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var X=m;return m=q.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+X+"]); ":" validate.errors = ["+X+"]; return false; ":" var err = "+X+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+=" }",O&&(m+=" else { "),m}},7939:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="valid"+de,F="errs__"+de,z=A.util.copy(A);z.level++;var X="valid"+z.level,pe="i"+de,Ne=z.dataLevel=A.dataLevel+1,ye="data"+Ne,Ge=A.baseId,qe=A.opts.strictKeywords?"object"==typeof U&&Object.keys(U).length>0||!1===U:A.util.schemaHasRules(U,A.RULES.all);if(m+="var "+F+" = errors;var "+V+";",qe){var xe=A.compositeRule;A.compositeRule=z.compositeRule=!0,z.schema=U,z.schemaPath=G,z.errSchemaPath=B,m+=" var "+X+" = false; for (var "+pe+" = 0; "+pe+" < "+I+".length; "+pe+"++) { ",z.errorPath=A.util.getPathExpr(A.errorPath,pe,A.opts.jsonPointers,!0);var We=I+"["+pe+"]";z.dataPathArr[Ne]=pe;var it=A.validate(z);z.baseId=Ge,A.util.varOccurences(it,ye)<2?m+=" "+A.util.varReplace(it,ye,We)+" ":m+=" var "+ye+" = "+We+"; "+it+" ",m+=" if ("+X+") break; } ",A.compositeRule=z.compositeRule=xe,m+=" if (!"+X+") {"}else m+=" if ("+I+".length == 0) {";var Ue=Ue||[];Ue.push(m),m="",!1!==A.createErrors?(m+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: {} ",!1!==A.opts.messages&&(m+=" , message: 'should contain a valid item' "),A.opts.verbose&&(m+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var lt=m;return m=Ue.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+lt+"]); ":" validate.errors = ["+lt+"]; return false; ":" var err = "+lt+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+=" } else { ",qe&&(m+=" errors = "+F+"; if (vErrors !== null) { if ("+F+") vErrors.length = "+F+"; else vErrors = null; } "),A.opts.allErrors&&(m+=" } "),m}},5237:ct=>{"use strict";ct.exports=function(A,K,te){var I,X,m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,V="data"+(H||""),F="valid"+de,z="errs__"+de,q=A.opts.$data&&U&&U.$data;q?(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; ",X="schema"+de):X=U;var qe,xe,We,it,Ue,pe=this,Ne="definition"+de,ye=pe.definition,Ge="";if(q&&ye.$data){var lt=ye.validateSchema;m+=" var "+Ne+" = RULES.custom['"+K+"'].definition; var "+(Ue="keywordValidate"+de)+" = "+Ne+".validate;"}else{if(!(it=A.useCustomRule(pe,U,A.schema,A)))return;X="validate.schema"+G,Ue=it.code,qe=ye.compile,xe=ye.inline,We=ye.macro}var Je=Ue+".errors",Ce="i"+de,he="ruleErr"+de,Qe=ye.async;if(Qe&&!A.async)throw new Error("async keyword in sync schema");if(xe||We||(m+=Je+" = null;"),m+="var "+z+" = errors;var "+F+";",q&&ye.$data&&(Ge+="}",m+=" if ("+X+" === undefined) { "+F+" = true; } else { ",lt&&(Ge+="}",m+=" "+F+" = "+Ne+".validateSchema("+X+"); if ("+F+") { ")),xe)m+=ye.statements?" "+it.validate+" ":" "+F+" = "+it.validate+"; ";else if(We){var Ye=A.util.copy(A);Ge="",Ye.level++;var Le="valid"+Ye.level;Ye.schema=it.validate,Ye.schemaPath="";var ze=A.compositeRule;A.compositeRule=Ye.compositeRule=!0;var et=A.validate(Ye).replace(/validate\.schema/g,Ue);A.compositeRule=Ye.compositeRule=ze,m+=" "+et}else{(bt=bt||[]).push(m),m="",m+=" "+Ue+".call( ",m+=A.opts.passContext?"this":"self",m+=qe||!1===ye.schema?" , "+V+" ":" , "+X+" , "+V+" , validate.schema"+A.schemaPath+" ",m+=" , (dataPath || '')",'""'!=A.errorPath&&(m+=" + "+A.errorPath);var xt=H?"data"+(H-1||""):"parentData",on=H?A.dataPathArr[H]:"parentDataProperty",Sn=m+=" , "+xt+" , "+on+" , rootData ) ";m=bt.pop(),!1===ye.errors?(m+=" "+F+" = ",Qe&&(m+="await "),m+=Sn+"; "):m+=Qe?" var "+(Je="customErrors"+de)+" = null; try { "+F+" = await "+Sn+"; } catch (e) { "+F+" = false; if (e instanceof ValidationError) "+Je+" = e.errors; else throw e; } ":" "+Je+" = null; "+F+" = "+Sn+"; "}if(ye.modifying&&(m+=" if ("+xt+") "+V+" = "+xt+"["+on+"];"),m+=""+Ge,ye.valid)O&&(m+=" if (true) { ");else{var bt;m+=" if ( ",void 0===ye.valid?(m+=" !",m+=We?""+Le:""+F):m+=" "+!ye.valid+" ",I=pe.keyword,(bt=bt||[]).push(m+=") { "),(bt=bt||[]).push(m=""),m="",!1!==A.createErrors?(m+=" { keyword: '"+(I||"custom")+"' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { keyword: '"+pe.keyword+"' } ",!1!==A.opts.messages&&(m+=" , message: 'should pass \""+pe.keyword+"\" keyword validation' "),A.opts.verbose&&(m+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+V+" "),m+=" } "):m+=" {} ";var li=m;m=bt.pop();var On=m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+li+"]); ":" validate.errors = ["+li+"]; return false; ":" var err = "+li+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";m=bt.pop(),xe?ye.errors?"full"!=ye.errors&&(m+=" for (var "+Ce+"="+z+"; "+Ce+"{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="errs__"+de,F=A.util.copy(A),z="";F.level++;var q="valid"+F.level,X={},pe={},Ne=A.opts.ownProperties;for(xe in U)if("__proto__"!=xe){var ye=U[xe],Ge=Array.isArray(ye)?pe:X;Ge[xe]=ye}m+="var "+V+" = errors;";var qe=A.errorPath;for(var xe in m+="var missing"+de+";",pe)if((Ge=pe[xe]).length){if(m+=" if ( "+I+A.util.getProperty(xe)+" !== undefined ",Ne&&(m+=" && Object.prototype.hasOwnProperty.call("+I+", '"+A.util.escapeQuotes(xe)+"') "),O){m+=" && ( ";var We=Ge;if(We)for(var Ue=-1,lt=We.length-1;Ue0||!1===ye:A.util.schemaHasRules(ye,A.RULES.all))&&(m+=" "+q+" = true; if ( "+I+A.util.getProperty(xe)+" !== undefined ",Ne&&(m+=" && Object.prototype.hasOwnProperty.call("+I+", '"+A.util.escapeQuotes(xe)+"') "),m+=") { ",F.schema=ye,F.schemaPath=G+A.util.getProperty(xe),F.errSchemaPath=B+"/"+A.util.escapeFragment(xe),m+=" "+A.validate(F)+" ",F.baseId=xt,m+=" } ",O&&(m+=" if ("+q+") { ",z+="}"));return O&&(m+=" "+z+" if ("+V+" == errors) {"),m}},4299:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="valid"+de,F=A.opts.$data&&U&&U.$data;F&&(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; ");var q="i"+de,X="schema"+de;F||(m+=" var "+X+" = validate.schema"+G+";"),m+="var "+V+";",F&&(m+=" if (schema"+de+" === undefined) "+V+" = true; else if (!Array.isArray(schema"+de+")) "+V+" = false; else {"),m+=V+" = false;for (var "+q+"=0; "+q+"<"+X+".length; "+q+"++) if (equal("+I+", "+X+"["+q+"])) { "+V+" = true; break; }",F&&(m+=" } ");var pe=pe||[];pe.push(m+=" if (!"+V+") { "),m="",!1!==A.createErrors?(m+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { allowedValues: schema"+de+" } ",!1!==A.opts.messages&&(m+=" , message: 'should be equal to one of the allowed values' "),A.opts.verbose&&(m+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var Ne=m;return m=pe.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+Ne+"]); ":" validate.errors = ["+Ne+"]; return false; ":" var err = "+Ne+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+=" }",O&&(m+=" else { "),m}},4097:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||"");if(!1===A.opts.format)return O&&(m+=" if (true) { "),m;var F,V=A.opts.$data&&U&&U.$data;V?(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; ",F="schema"+de):F=U;var z=A.opts.unknownFormats,q=Array.isArray(z);if(V)m+=" var "+(X="format"+de)+" = formats["+F+"]; var "+(pe="isObject"+de)+" = typeof "+X+" == 'object' && !("+X+" instanceof RegExp) && "+X+".validate; var "+(Ne="formatType"+de)+" = "+pe+" && "+X+".type || 'string'; if ("+pe+") { ",A.async&&(m+=" var async"+de+" = "+X+".async; "),m+=" "+X+" = "+X+".validate; } if ( ",V&&(m+=" ("+F+" !== undefined && typeof "+F+" != 'string') || "),m+=" (","ignore"!=z&&(m+=" ("+F+" && !"+X+" ",q&&(m+=" && self._opts.unknownFormats.indexOf("+F+") == -1 "),m+=") || "),m+=" ("+X+" && "+Ne+" == '"+te+"' && !(typeof "+X+" == 'function' ? ",m+=A.async?" (async"+de+" ? await "+X+"("+I+") : "+X+"("+I+")) ":" "+X+"("+I+") ",m+=" : "+X+".test("+I+"))))) {";else{var X;if(!(X=A.formats[U])){if("ignore"==z)return A.logger.warn('unknown format "'+U+'" ignored in schema at path "'+A.errSchemaPath+'"'),O&&(m+=" if (true) { "),m;if(q&&z.indexOf(U)>=0)return O&&(m+=" if (true) { "),m;throw new Error('unknown format "'+U+'" is used in schema at path "'+A.errSchemaPath+'"')}var pe,Ne=(pe="object"==typeof X&&!(X instanceof RegExp)&&X.validate)&&X.type||"string";if(pe){var ye=!0===X.async;X=X.validate}if(Ne!=te)return O&&(m+=" if (true) { "),m;if(ye){if(!A.async)throw new Error("async format in sync schema");m+=" if (!(await "+(Ge="formats"+A.util.getProperty(U)+".validate")+"("+I+"))) { "}else{m+=" if (! ";var Ge="formats"+A.util.getProperty(U);pe&&(Ge+=".validate"),m+="function"==typeof X?" "+Ge+"("+I+") ":" "+Ge+".test("+I+") ",m+=") { "}}var qe=qe||[];qe.push(m),m="",!1!==A.createErrors?(m+=" { keyword: 'format' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { format: ",m+=V?""+F:""+A.util.toQuotedString(U),m+=" } ",!1!==A.opts.messages&&(m+=" , message: 'should match format \"",m+=V?"' + "+F+" + '":""+A.util.escapeQuotes(U),m+="\"' "),A.opts.verbose&&(m+=" , schema: ",m+=V?"validate.schema"+G:""+A.util.toQuotedString(U),m+=" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var xe=m;return m=qe.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+xe+"]); ":" validate.errors = ["+xe+"]; return false; ":" var err = "+xe+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+=" } ",O&&(m+=" else { "),m}},2061:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="valid"+de,F="errs__"+de,z=A.util.copy(A);z.level++;var q="valid"+z.level,X=A.schema.then,pe=A.schema.else,Ne=void 0!==X&&(A.opts.strictKeywords?"object"==typeof X&&Object.keys(X).length>0||!1===X:A.util.schemaHasRules(X,A.RULES.all)),ye=void 0!==pe&&(A.opts.strictKeywords?"object"==typeof pe&&Object.keys(pe).length>0||!1===pe:A.util.schemaHasRules(pe,A.RULES.all)),Ge=z.baseId;if(Ne||ye){var qe;z.createErrors=!1,z.schema=U,z.schemaPath=G,z.errSchemaPath=B,m+=" var "+F+" = errors; var "+V+" = true; ";var xe=A.compositeRule;A.compositeRule=z.compositeRule=!0,m+=" "+A.validate(z)+" ",z.baseId=Ge,z.createErrors=!0,m+=" errors = "+F+"; if (vErrors !== null) { if ("+F+") vErrors.length = "+F+"; else vErrors = null; } ",A.compositeRule=z.compositeRule=xe,Ne?(m+=" if ("+q+") { ",z.schema=A.schema.then,z.schemaPath=A.schemaPath+".then",z.errSchemaPath=A.errSchemaPath+"/then",m+=" "+A.validate(z)+" ",z.baseId=Ge,m+=" "+V+" = "+q+"; ",Ne&&ye?m+=" var "+(qe="ifClause"+de)+" = 'then'; ":qe="'then'",m+=" } ",ye&&(m+=" else { ")):m+=" if (!"+q+") { ",ye&&(z.schema=A.schema.else,z.schemaPath=A.schemaPath+".else",z.errSchemaPath=A.errSchemaPath+"/else",m+=" "+A.validate(z)+" ",z.baseId=Ge,m+=" "+V+" = "+q+"; ",Ne&&ye?m+=" var "+(qe="ifClause"+de)+" = 'else'; ":qe="'else'",m+=" } "),m+=" if (!"+V+") { var err = ",!1!==A.createErrors?(m+=" { keyword: 'if' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { failingKeyword: "+qe+" } ",!1!==A.opts.messages&&(m+=" , message: 'should match \"' + "+qe+" + '\" schema' "),A.opts.verbose&&(m+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ",m+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!A.compositeRule&&O&&(m+=A.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),m+=" } ",O&&(m+=" else { ")}else O&&(m+=" if (true) { ");return m}},2956:(ct,At,A)=>{"use strict";ct.exports={$ref:A(3953),allOf:A(9218),anyOf:A(3883),$comment:A(757),const:A(439),contains:A(7939),dependencies:A(3899),enum:A(4299),format:A(4097),if:A(2061),items:A(9240),maximum:A(9402),minimum:A(9402),maxItems:A(3792),minItems:A(3792),maxLength:A(3226),minLength:A(3226),maxProperties:A(2119),minProperties:A(2119),multipleOf:A(9095),not:A(8457),oneOf:A(7681),pattern:A(9438),properties:A(6319),propertyNames:A(6611),required:A(5051),uniqueItems:A(5329),validate:A(604)}},9240:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="valid"+de,F="errs__"+de,z=A.util.copy(A),q="";z.level++;var X="valid"+z.level,pe="i"+de,Ne=z.dataLevel=A.dataLevel+1,ye="data"+Ne,Ge=A.baseId;if(m+="var "+F+" = errors;var "+V+";",Array.isArray(U)){var qe=A.schema.additionalItems;if(!1===qe){m+=" "+V+" = "+I+".length <= "+U.length+"; ";var xe=B;B=A.errSchemaPath+"/additionalItems";var We=We||[];We.push(m+=" if (!"+V+") { "),m="",!1!==A.createErrors?(m+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { limit: "+U.length+" } ",!1!==A.opts.messages&&(m+=" , message: 'should NOT have more than "+U.length+" items' "),A.opts.verbose&&(m+=" , schema: false , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var it=m;m=We.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+it+"]); ":" validate.errors = ["+it+"]; return false; ":" var err = "+it+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+=" } ",B=xe,O&&(q+="}",m+=" else { ")}var Ue=U;if(Ue)for(var lt,Je=-1,Ce=Ue.length-1;Je0||!1===lt:A.util.schemaHasRules(lt,A.RULES.all)){m+=" "+X+" = true; if ("+I+".length > "+Je+") { ";var he=I+"["+Je+"]";z.schema=lt,z.schemaPath=G+"["+Je+"]",z.errSchemaPath=B+"/"+Je,z.errorPath=A.util.getPathExpr(A.errorPath,Je,A.opts.jsonPointers,!0),z.dataPathArr[Ne]=Je;var Qe=A.validate(z);z.baseId=Ge,A.util.varOccurences(Qe,ye)<2?m+=" "+A.util.varReplace(Qe,ye,he)+" ":m+=" var "+ye+" = "+he+"; "+Qe+" ",m+=" } ",O&&(m+=" if ("+X+") { ",q+="}")}"object"==typeof qe&&(A.opts.strictKeywords?"object"==typeof qe&&Object.keys(qe).length>0||!1===qe:A.util.schemaHasRules(qe,A.RULES.all))&&(z.schema=qe,z.schemaPath=A.schemaPath+".additionalItems",z.errSchemaPath=A.errSchemaPath+"/additionalItems",m+=" "+X+" = true; if ("+I+".length > "+U.length+") { for (var "+pe+" = "+U.length+"; "+pe+" < "+I+".length; "+pe+"++) { ",z.errorPath=A.util.getPathExpr(A.errorPath,pe,A.opts.jsonPointers,!0),he=I+"["+pe+"]",z.dataPathArr[Ne]=pe,Qe=A.validate(z),z.baseId=Ge,A.util.varOccurences(Qe,ye)<2?m+=" "+A.util.varReplace(Qe,ye,he)+" ":m+=" var "+ye+" = "+he+"; "+Qe+" ",O&&(m+=" if (!"+X+") break; "),m+=" } } ",O&&(m+=" if ("+X+") { ",q+="}"))}else(A.opts.strictKeywords?"object"==typeof U&&Object.keys(U).length>0||!1===U:A.util.schemaHasRules(U,A.RULES.all))&&(z.schema=U,z.schemaPath=G,z.errSchemaPath=B,m+=" for (var "+pe+" = 0; "+pe+" < "+I+".length; "+pe+"++) { ",z.errorPath=A.util.getPathExpr(A.errorPath,pe,A.opts.jsonPointers,!0),he=I+"["+pe+"]",z.dataPathArr[Ne]=pe,Qe=A.validate(z),z.baseId=Ge,A.util.varOccurences(Qe,ye)<2?m+=" "+A.util.varReplace(Qe,ye,he)+" ":m+=" var "+ye+" = "+he+"; "+Qe+" ",O&&(m+=" if (!"+X+") break; "),m+=" }");return O&&(m+=" "+q+" if ("+F+" == errors) {"),m}},9095:ct=>{"use strict";ct.exports=function(A,K,te){var F,m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V=A.opts.$data&&U&&U.$data;if(V?(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; ",F="schema"+de):F=U,!V&&"number"!=typeof U)throw new Error(K+" must be number");m+="var division"+de+";if (",V&&(m+=" "+F+" !== undefined && ( typeof "+F+" != 'number' || "),m+=" (division"+de+" = "+I+" / "+F+", ",m+=A.opts.multipleOfPrecision?" Math.abs(Math.round(division"+de+") - division"+de+") > 1e-"+A.opts.multipleOfPrecision+" ":" division"+de+" !== parseInt(division"+de+") ",m+=" ) ",V&&(m+=" ) ");var z=z||[];z.push(m+=" ) { "),m="",!1!==A.createErrors?(m+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { multipleOf: "+F+" } ",!1!==A.opts.messages&&(m+=" , message: 'should be multiple of ",m+=V?"' + "+F:F+"'"),A.opts.verbose&&(m+=" , schema: ",m+=V?"validate.schema"+G:""+U,m+=" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var q=m;return m=z.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+q+"]); ":" validate.errors = ["+q+"]; return false; ":" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+="} ",O&&(m+=" else { "),m}},8457:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="errs__"+de,F=A.util.copy(A);F.level++;var z="valid"+F.level;if(A.opts.strictKeywords?"object"==typeof U&&Object.keys(U).length>0||!1===U:A.util.schemaHasRules(U,A.RULES.all)){F.schema=U,F.schemaPath=G,F.errSchemaPath=B,m+=" var "+V+" = errors; ";var X,q=A.compositeRule;A.compositeRule=F.compositeRule=!0,F.createErrors=!1,F.opts.allErrors&&(X=F.opts.allErrors,F.opts.allErrors=!1),m+=" "+A.validate(F)+" ",F.createErrors=!0,X&&(F.opts.allErrors=X),A.compositeRule=F.compositeRule=q;var pe=pe||[];pe.push(m+=" if ("+z+") { "),m="",!1!==A.createErrors?(m+=" { keyword: 'not' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: {} ",!1!==A.opts.messages&&(m+=" , message: 'should NOT be valid' "),A.opts.verbose&&(m+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var Ne=m;m=pe.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+Ne+"]); ":" validate.errors = ["+Ne+"]; return false; ":" var err = "+Ne+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+=" } else { errors = "+V+"; if (vErrors !== null) { if ("+V+") vErrors.length = "+V+"; else vErrors = null; } ",A.opts.allErrors&&(m+=" } ")}else m+=" var err = ",!1!==A.createErrors?(m+=" { keyword: 'not' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: {} ",!1!==A.opts.messages&&(m+=" , message: 'should NOT be valid' "),A.opts.verbose&&(m+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ",m+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",O&&(m+=" if (false) { ");return m}},7681:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="valid"+de,F="errs__"+de,z=A.util.copy(A),q="";z.level++;var X="valid"+z.level,pe=z.baseId,Ne="prevValid"+de,ye="passingSchemas"+de;m+="var "+F+" = errors , "+Ne+" = false , "+V+" = false , "+ye+" = null; ";var Ge=A.compositeRule;A.compositeRule=z.compositeRule=!0;var qe=U;if(qe)for(var xe,We=-1,it=qe.length-1;We0||!1===xe:A.util.schemaHasRules(xe,A.RULES.all))?(z.schema=xe,z.schemaPath=G+"["+We+"]",z.errSchemaPath=B+"/"+We,m+=" "+A.validate(z)+" ",z.baseId=pe):m+=" var "+X+" = true; ",We&&(m+=" if ("+X+" && "+Ne+") { "+V+" = false; "+ye+" = ["+ye+", "+We+"]; } else { ",q+="}"),m+=" if ("+X+") { "+V+" = "+Ne+" = true; "+ye+" = "+We+"; }";return A.compositeRule=z.compositeRule=Ge,m+=q+"if (!"+V+") { var err = ",!1!==A.createErrors?(m+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { passingSchemas: "+ye+" } ",!1!==A.opts.messages&&(m+=" , message: 'should match exactly one schema in oneOf' "),A.opts.verbose&&(m+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ",m+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!A.compositeRule&&O&&(m+=A.async?" throw new ValidationError(vErrors); ":" validate.errors = vErrors; return false; "),m+="} else { errors = "+F+"; if (vErrors !== null) { if ("+F+") vErrors.length = "+F+"; else vErrors = null; }",A.opts.allErrors&&(m+=" } "),m}},9438:ct=>{"use strict";ct.exports=function(A,K,te){var F,m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V=A.opts.$data&&U&&U.$data;V?(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; ",F="schema"+de):F=U;var z=V?"(new RegExp("+F+"))":A.usePattern(U);m+="if ( ",V&&(m+=" ("+F+" !== undefined && typeof "+F+" != 'string') || ");var q=q||[];q.push(m+=" !"+z+".test("+I+") ) { "),m="",!1!==A.createErrors?(m+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { pattern: ",m+=V?""+F:""+A.util.toQuotedString(U),m+=" } ",!1!==A.opts.messages&&(m+=" , message: 'should match pattern \"",m+=V?"' + "+F+" + '":""+A.util.escapeQuotes(U),m+="\"' "),A.opts.verbose&&(m+=" , schema: ",m+=V?"validate.schema"+G:""+A.util.toQuotedString(U),m+=" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var X=m;return m=q.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+X+"]); ":" validate.errors = ["+X+"]; return false; ":" var err = "+X+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+="} ",O&&(m+=" else { "),m}},6319:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="errs__"+de,F=A.util.copy(A),z="";F.level++;var q="valid"+F.level,X="key"+de,pe="idx"+de,Ne=F.dataLevel=A.dataLevel+1,ye="data"+Ne,Ge="dataProperties"+de,qe=Object.keys(U||{}).filter(et),xe=A.schema.patternProperties||{},We=Object.keys(xe).filter(et),it=A.schema.additionalProperties,Ue=qe.length||We.length,lt=!1===it,Je="object"==typeof it&&Object.keys(it).length,Ce=A.opts.removeAdditional,he=lt||Je||Ce,Qe=A.opts.ownProperties,Ye=A.baseId,Le=A.schema.required;if(Le&&(!A.opts.$data||!Le.$data)&&Le.length8)m+=" || validate.schema"+G+".hasOwnProperty("+X+") ";else{var bt=qe;if(bt)for(var on=-1,Sn=bt.length-1;on0||!1===zt:A.util.schemaHasRules(zt,A.RULES.all)){var Yr=A.util.getProperty(xt),Tr=(Vt=I+Yr,Yt&&void 0!==zt.default);if(F.schema=zt,F.schemaPath=G+Yr,F.errSchemaPath=B+"/"+A.util.escapeFragment(xt),F.errorPath=A.util.getPath(A.errorPath,xt,A.opts.jsonPointers),F.dataPathArr[Ne]=A.util.toQuotedString(xt),xn=A.validate(F),F.baseId=Ye,A.util.varOccurences(xn,ye)<2){xn=A.util.varReplace(xn,ye,Vt);var Gi=Vt}else Gi=ye,m+=" var "+ye+" = "+Vt+"; ";if(Tr)m+=" "+xn+" ";else{if(ze&&ze[xt]){m+=" if ( "+Gi+" === undefined ",Qe&&(m+=" || ! Object.prototype.hasOwnProperty.call("+I+", '"+A.util.escapeQuotes(xt)+"') "),m+=") { "+q+" = false; ",ei=A.errorPath,vt=B;var Ot,je=A.util.escapeQuotes(xt);A.opts._errorDataPathProperty&&(A.errorPath=A.util.getPath(ei,xt,A.opts.jsonPointers)),B=A.errSchemaPath+"/required",(Ot=Ot||[]).push(m),m="",!1!==A.createErrors?(m+=" { keyword: 'required' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { missingProperty: '"+je+"' } ",!1!==A.opts.messages&&(m+=" , message: '",m+=A.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+je+"\\'",m+="' "),A.opts.verbose&&(m+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ",wn=m,m=Ot.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+wn+"]); ":" validate.errors = ["+wn+"]; return false; ":" var err = "+wn+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",B=vt,A.errorPath=ei,m+=" } else { "}else O?(m+=" if ( "+Gi+" === undefined ",Qe&&(m+=" || ! Object.prototype.hasOwnProperty.call("+I+", '"+A.util.escapeQuotes(xt)+"') "),m+=") { "+q+" = true; } else { "):(m+=" if ("+Gi+" !== undefined ",Qe&&(m+=" && Object.prototype.hasOwnProperty.call("+I+", '"+A.util.escapeQuotes(xt)+"') "),m+=" ) { ");m+=" "+xn+" } "}}O&&(m+=" if ("+q+") { ",z+="}")}}if(We.length){var ui=We;if(ui)for(var On,Nr=-1,Ur=ui.length-1;Nr0||!1===zt:A.util.schemaHasRules(zt,A.RULES.all))&&(F.schema=zt,F.schemaPath=A.schemaPath+".patternProperties"+A.util.getProperty(On),F.errSchemaPath=A.errSchemaPath+"/patternProperties/"+A.util.escapeFragment(On),m+=Qe?" "+Ge+" = "+Ge+" || Object.keys("+I+"); for (var "+pe+"=0; "+pe+"<"+Ge+".length; "+pe+"++) { var "+X+" = "+Ge+"["+pe+"]; ":" for (var "+X+" in "+I+") { ",m+=" if ("+A.usePattern(On)+".test("+X+")) { ",F.errorPath=A.util.getPathExpr(A.errorPath,X,A.opts.jsonPointers),Vt=I+"["+X+"]",F.dataPathArr[Ne]=X,xn=A.validate(F),F.baseId=Ye,A.util.varOccurences(xn,ye)<2?m+=" "+A.util.varReplace(xn,ye,Vt)+" ":m+=" var "+ye+" = "+Vt+"; "+xn+" ",O&&(m+=" if (!"+q+") break; "),m+=" } ",O&&(m+=" else "+q+" = true; "),m+=" } ",O&&(m+=" if ("+q+") { ",z+="}"))}return O&&(m+=" "+z+" if ("+V+" == errors) {"),m}},6611:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="errs__"+de,F=A.util.copy(A);F.level++;var q="valid"+F.level;if(m+="var "+V+" = errors;",A.opts.strictKeywords?"object"==typeof U&&Object.keys(U).length>0||!1===U:A.util.schemaHasRules(U,A.RULES.all)){F.schema=U,F.schemaPath=G,F.errSchemaPath=B;var X="key"+de,pe="idx"+de,Ne="i"+de,ye="' + "+X+" + '",qe="data"+(F.dataLevel=A.dataLevel+1),xe="dataProperties"+de,We=A.opts.ownProperties,it=A.baseId;We&&(m+=" var "+xe+" = undefined; "),m+=We?" "+xe+" = "+xe+" || Object.keys("+I+"); for (var "+pe+"=0; "+pe+"<"+xe+".length; "+pe+"++) { var "+X+" = "+xe+"["+pe+"]; ":" for (var "+X+" in "+I+") { ",m+=" var startErrs"+de+" = errors; ";var Ue=X,lt=A.compositeRule;A.compositeRule=F.compositeRule=!0;var Je=A.validate(F);F.baseId=it,A.util.varOccurences(Je,qe)<2?m+=" "+A.util.varReplace(Je,qe,Ue)+" ":m+=" var "+qe+" = "+Ue+"; "+Je+" ",A.compositeRule=F.compositeRule=lt,m+=" if (!"+q+") { for (var "+Ne+"=startErrs"+de+"; "+Ne+"{"use strict";ct.exports=function(A,K,te){var V,F,m=" ",H=A.dataLevel,U=A.schema[K],G=A.errSchemaPath+"/"+K,B=!A.opts.allErrors,O="data"+(H||""),I="valid"+A.level;if("#"==U||"#/"==U)A.isRoot?(V=A.async,F="validate"):(V=!0===A.root.schema.$async,F="root.refVal[0]");else{var z=A.resolveRef(A.baseId,U,A.isRoot);if(void 0===z){var q=A.MissingRefError.message(A.baseId,U);if("fail"==A.opts.missingRefs){A.logger.error(q),(X=X||[]).push(m),m="",!1!==A.createErrors?(m+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(G)+" , params: { ref: '"+A.util.escapeQuotes(U)+"' } ",!1!==A.opts.messages&&(m+=" , message: 'can\\'t resolve reference "+A.util.escapeQuotes(U)+"' "),A.opts.verbose&&(m+=" , schema: "+A.util.toQuotedString(U)+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+O+" "),m+=" } "):m+=" {} ";var pe=m;m=X.pop(),m+=!A.compositeRule&&B?A.async?" throw new ValidationError(["+pe+"]); ":" validate.errors = ["+pe+"]; return false; ":" var err = "+pe+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",B&&(m+=" if (false) { ")}else{if("ignore"!=A.opts.missingRefs)throw new A.MissingRefError(A.baseId,U,q);A.logger.warn(q),B&&(m+=" if (true) { ")}}else if(z.inline){var Ne=A.util.copy(A);Ne.level++;var ye="valid"+Ne.level;Ne.schema=z.schema,Ne.schemaPath="",Ne.errSchemaPath=U,m+=" "+A.validate(Ne).replace(/validate\.schema/g,z.code)+" ",B&&(m+=" if ("+ye+") { ")}else V=!0===z.$async||A.async&&!1!==z.$async,F=z.code}if(F){var X;(X=X||[]).push(m),m="",m+=A.opts.passContext?" "+F+".call(this, ":" "+F+"( ",m+=" "+O+", (dataPath || '')",'""'!=A.errorPath&&(m+=" + "+A.errorPath);var We=m+=" , "+(H?"data"+(H-1||""):"parentData")+" , "+(H?A.dataPathArr[H]:"parentDataProperty")+", rootData) ";if(m=X.pop(),V){if(!A.async)throw new Error("async schema referenced by sync schema");B&&(m+=" var "+I+"; "),m+=" try { await "+We+"; ",B&&(m+=" "+I+" = true; "),m+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",B&&(m+=" "+I+" = false; "),m+=" } ",B&&(m+=" if ("+I+") { ")}else m+=" if (!"+We+") { if (vErrors === null) vErrors = "+F+".errors; else vErrors = vErrors.concat("+F+".errors); errors = vErrors.length; } ",B&&(m+=" else { ")}return m}},5051:ct=>{"use strict";ct.exports=function(A,K,te){var m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="valid"+de,F=A.opts.$data&&U&&U.$data;F&&(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; ");var q="schema"+de;if(!F)if(U.length0||!1===qe:A.util.schemaHasRules(qe,A.RULES.all))||(X[X.length]=Ne)}}else X=U;if(F||X.length){var xe=A.errorPath,We=F||X.length>=A.opts.loopRequired,it=A.opts.ownProperties;if(O)if(m+=" var missing"+de+"; ",We){F||(m+=" var "+q+" = validate.schema"+G+"; ");var Je="' + "+(lt="schema"+de+"["+(Ue="i"+de)+"]")+" + '";A.opts._errorDataPathProperty&&(A.errorPath=A.util.getPathExpr(xe,lt,A.opts.jsonPointers)),m+=" var "+V+" = true; ",F&&(m+=" if (schema"+de+" === undefined) "+V+" = true; else if (!Array.isArray(schema"+de+")) "+V+" = false; else {"),m+=" for (var "+Ue+" = 0; "+Ue+" < "+q+".length; "+Ue+"++) { "+V+" = "+I+"["+q+"["+Ue+"]] !== undefined ",it&&(m+=" && Object.prototype.hasOwnProperty.call("+I+", "+q+"["+Ue+"]) "),m+="; if (!"+V+") break; } ",F&&(m+=" } "),(Ce=Ce||[]).push(m+=" if (!"+V+") { "),m="",!1!==A.createErrors?(m+=" { keyword: 'required' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { missingProperty: '"+Je+"' } ",!1!==A.opts.messages&&(m+=" , message: '",m+=A.opts._errorDataPathProperty?"is a required property":"should have required property \\'"+Je+"\\'",m+="' "),A.opts.verbose&&(m+=" , schema: validate.schema"+G+" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var he=m;m=Ce.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+he+"]); ":" validate.errors = ["+he+"]; return false; ":" var err = "+he+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+=" } else { "}else{m+=" if ( ";var Ce,Qe=X;if(Qe)for(var Ue=-1,Le=Qe.length-1;Ue{"use strict";ct.exports=function(A,K,te){var z,m=" ",de=A.level,H=A.dataLevel,U=A.schema[K],G=A.schemaPath+A.util.getProperty(K),B=A.errSchemaPath+"/"+K,O=!A.opts.allErrors,I="data"+(H||""),V="valid"+de,F=A.opts.$data&&U&&U.$data;if(F?(m+=" var schema"+de+" = "+A.util.getData(U.$data,H,A.dataPathArr)+"; ",z="schema"+de):z=U,(U||F)&&!1!==A.opts.uniqueItems){F&&(m+=" var "+V+"; if ("+z+" === false || "+z+" === undefined) "+V+" = true; else if (typeof "+z+" != 'boolean') "+V+" = false; else { "),m+=" var i = "+I+".length , "+V+" = true , j; if (i > 1) { ";var q=A.schema.items&&A.schema.items.type,X=Array.isArray(q);!q||"object"==q||"array"==q||X&&(q.indexOf("object")>=0||q.indexOf("array")>=0)?m+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+I+"[i], "+I+"[j])) { "+V+" = false; break outer; } } } ":(m+=" var itemIndices = {}, item; for (;i--;) { var item = "+I+"[i]; ",m+=" if ("+A.util["checkDataType"+(X?"s":"")](q,"item",A.opts.strictNumbers,!0)+") continue; ",X&&(m+=" if (typeof item == 'string') item = '\"' + item; "),m+=" if (typeof itemIndices[item] == 'number') { "+V+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "),m+=" } ",F&&(m+=" } ");var Ne=Ne||[];Ne.push(m+=" if (!"+V+") { "),m="",!1!==A.createErrors?(m+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(B)+" , params: { i: i, j: j } ",!1!==A.opts.messages&&(m+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),A.opts.verbose&&(m+=" , schema: ",m+=F?"validate.schema"+G:""+U,m+=" , parentSchema: validate.schema"+A.schemaPath+" , data: "+I+" "),m+=" } "):m+=" {} ";var ye=m;m=Ne.pop(),m+=!A.compositeRule&&O?A.async?" throw new ValidationError(["+ye+"]); ":" validate.errors = ["+ye+"]; return false; ":" var err = "+ye+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",m+=" } ",O&&(m+=" else { ")}else O&&(m+=" if (true) { ");return m}},604:ct=>{"use strict";ct.exports=function(A,K,te){var m="",de=!0===A.schema.$async,H=A.util.schemaHasRulesExcept(A.schema,A.RULES.all,"$ref"),U=A.self._getId(A.schema);if(A.opts.strictKeywords){var G=A.util.schemaUnknownRules(A.schema,A.RULES.keywords);if(G){var B="unknown keyword: "+G;if("log"!==A.opts.strictKeywords)throw new Error(B);A.logger.warn(B)}}if(A.isTop&&(m+=" var validate = ",de&&(A.async=!0,m+="async "),m+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",U&&(A.opts.sourceCode||A.opts.processCode)&&(m+=" /*# sourceURL="+U+" */ ")),"boolean"==typeof A.schema||!H&&!A.schema.$ref){var O=A.level,I=A.dataLevel,V=A.schema[K="false schema"],F=A.schemaPath+A.util.getProperty(K),z=A.errSchemaPath+"/"+K,qe=!A.opts.allErrors,q="data"+(I||""),Ge="valid"+O;if(!1===A.schema){A.isTop?qe=!0:m+=" var "+Ge+" = false; ",(X=X||[]).push(m),m="",!1!==A.createErrors?(m+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+A.errorPath+" , schemaPath: "+A.util.toQuotedString(z)+" , params: {} ",!1!==A.opts.messages&&(m+=" , message: 'boolean schema is false' "),A.opts.verbose&&(m+=" , schema: false , parentSchema: validate.schema"+A.schemaPath+" , data: "+q+" "),m+=" } "):m+=" {} ";var pe=m;m=X.pop(),m+=!A.compositeRule&&qe?A.async?" throw new ValidationError(["+pe+"]); ":" validate.errors = ["+pe+"]; return false; ":" var err = "+pe+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else m+=A.isTop?de?" return data; ":" validate.errors = null; return true; ":" var "+Ge+" = true; ";return A.isTop&&(m+=" }; return validate; "),m}if(A.isTop){var Ne=A.isTop;if(O=A.level=0,I=A.dataLevel=0,q="data",A.rootId=A.resolve.fullPath(A.self._getId(A.root.schema)),A.baseId=A.baseId||A.rootId,delete A.isTop,A.dataPathArr=[""],void 0!==A.schema.default&&A.opts.useDefaults&&A.opts.strictDefaults){var ye="default is ignored in the schema root";if("log"!==A.opts.strictDefaults)throw new Error(ye);A.logger.warn(ye)}m+=" var vErrors = null; ",m+=" var errors = 0; ",m+=" if (rootData === undefined) rootData = data; "}else{if(O=A.level,q="data"+((I=A.dataLevel)||""),U&&(A.baseId=A.resolve.url(A.baseId,U)),de&&!A.async)throw new Error("async schema in sync schema");m+=" var errs_"+O+" = errors;"}Ge="valid"+O,qe=!A.opts.allErrors;var xe="",We="",Ue=A.schema.type,lt=Array.isArray(Ue);if(Ue&&A.opts.nullable&&!0===A.schema.nullable&&(lt?-1==Ue.indexOf("null")&&(Ue=Ue.concat("null")):"null"!=Ue&&(Ue=[Ue,"null"],lt=!0)),lt&&1==Ue.length&&(Ue=Ue[0],lt=!1),A.schema.$ref&&H){if("fail"==A.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+A.errSchemaPath+'" (see option extendRefs)');!0!==A.opts.extendRefs&&(H=!1,A.logger.warn('$ref: keywords ignored in schema at path "'+A.errSchemaPath+'"'))}if(A.schema.$comment&&A.opts.$comment&&(m+=" "+A.RULES.all.$comment.code(A,"$comment")),Ue){if(A.opts.coerceTypes)var Je=A.util.coerceToTypes(A.opts.coerceTypes,Ue);var Ce=A.RULES.types[Ue];if(Je||lt||!0===Ce||Ce&&!zt(Ce)){if(F=A.schemaPath+".type",z=A.errSchemaPath+"/type",F=A.schemaPath+".type",z=A.errSchemaPath+"/type",m+=" if ("+A.util[lt?"checkDataTypes":"checkDataType"](Ue,q,A.opts.strictNumbers,!0)+") { ",Je){var Qe="dataType"+O,Ye="coerced"+O;m+=" var "+Qe+" = typeof "+q+"; var "+Ye+" = undefined; ","array"==A.opts.coerceTypes&&(m+=" if ("+Qe+" == 'object' && Array.isArray("+q+") && "+q+".length == 1) { "+q+" = "+q+"[0]; "+Qe+" = typeof "+q+"; if ("+A.util.checkDataType(A.schema.type,q,A.opts.strictNumbers)+") "+Ye+" = "+q+"; } "),m+=" if ("+Ye+" !== undefined) ; ";var Le=Je;if(Le)for(var ze,et=-1,bt=Le.length-1;et{"use strict";var K=/^[a-z_$][a-z0-9_$-]*$/i,te=A(5237),m=A(8606);ct.exports={add:function de(B,O){var I=this.RULES;if(I.keywords[B])throw new Error("Keyword "+B+" is already defined");if(!K.test(B))throw new Error("Keyword "+B+" is not a valid identifier");if(O){this.validateKeyword(O,!0);var V=O.type;if(Array.isArray(V))for(var F=0;F{var At={utf8:{stringToBytes:function(A){return At.bin.stringToBytes(unescape(encodeURIComponent(A)))},bytesToString:function(A){return decodeURIComponent(escape(At.bin.bytesToString(A)))}},bin:{stringToBytes:function(A){for(var K=[],te=0;te{const K=A(4605),te={};for(const H of Object.keys(K))te[K[H]]=H;const m={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};ct.exports=m;for(const H of Object.keys(m)){if(!("channels"in m[H]))throw new Error("missing channels property: "+H);if(!("labels"in m[H]))throw new Error("missing channel labels property: "+H);if(m[H].labels.length!==m[H].channels)throw new Error("channel and label counts mismatch: "+H);const{channels:U,labels:G}=m[H];delete m[H].channels,delete m[H].labels,Object.defineProperty(m[H],"channels",{value:U}),Object.defineProperty(m[H],"labels",{value:G})}function de(H,U){return(H[0]-U[0])**2+(H[1]-U[1])**2+(H[2]-U[2])**2}m.rgb.hsl=function(H){const U=H[0]/255,G=H[1]/255,B=H[2]/255,O=Math.min(U,G,B),I=Math.max(U,G,B),V=I-O;let F,z;I===O?F=0:U===I?F=(G-B)/V:G===I?F=2+(B-U)/V:B===I&&(F=4+(U-G)/V),F=Math.min(60*F,360),F<0&&(F+=360);const q=(O+I)/2;return z=I===O?0:q<=.5?V/(I+O):V/(2-I-O),[F,100*z,100*q]},m.rgb.hsv=function(H){let U,G,B,O,I;const V=H[0]/255,F=H[1]/255,z=H[2]/255,q=Math.max(V,F,z),X=q-Math.min(V,F,z),pe=function(Ne){return(q-Ne)/6/X+.5};return 0===X?(O=0,I=0):(I=X/q,U=pe(V),G=pe(F),B=pe(z),V===q?O=B-G:F===q?O=1/3+U-B:z===q&&(O=2/3+G-U),O<0?O+=1:O>1&&(O-=1)),[360*O,100*I,100*q]},m.rgb.hwb=function(H){const U=H[0],G=H[1];let B=H[2];const O=m.rgb.hsl(H)[0],I=1/255*Math.min(U,Math.min(G,B));return B=1-1/255*Math.max(U,Math.max(G,B)),[O,100*I,100*B]},m.rgb.cmyk=function(H){const U=H[0]/255,G=H[1]/255,B=H[2]/255,O=Math.min(1-U,1-G,1-B);return[100*((1-U-O)/(1-O)||0),100*((1-G-O)/(1-O)||0),100*((1-B-O)/(1-O)||0),100*O]},m.rgb.keyword=function(H){const U=te[H];if(U)return U;let B,G=1/0;for(const O of Object.keys(K)){const V=de(H,K[O]);V.04045?((U+.055)/1.055)**2.4:U/12.92,G=G>.04045?((G+.055)/1.055)**2.4:G/12.92,B=B>.04045?((B+.055)/1.055)**2.4:B/12.92,[100*(.4124*U+.3576*G+.1805*B),100*(.2126*U+.7152*G+.0722*B),100*(.0193*U+.1192*G+.9505*B)]},m.rgb.lab=function(H){const U=m.rgb.xyz(H);let G=U[0],B=U[1],O=U[2];return G/=95.047,B/=100,O/=108.883,G=G>.008856?G**(1/3):7.787*G+16/116,B=B>.008856?B**(1/3):7.787*B+16/116,O=O>.008856?O**(1/3):7.787*O+16/116,[116*B-16,500*(G-B),200*(B-O)]},m.hsl.rgb=function(H){const U=H[0]/360,G=H[1]/100,B=H[2]/100;let O,I,V;if(0===G)return V=255*B,[V,V,V];O=B<.5?B*(1+G):B+G-B*G;const F=2*B-O,z=[0,0,0];for(let q=0;q<3;q++)I=U+1/3*-(q-1),I<0&&I++,I>1&&I--,V=6*I<1?F+6*(O-F)*I:2*I<1?O:3*I<2?F+(O-F)*(2/3-I)*6:F,z[q]=255*V;return z},m.hsl.hsv=function(H){const U=H[0];let G=H[1]/100,B=H[2]/100,O=G;const I=Math.max(B,.01);return B*=2,G*=B<=1?B:2-B,O*=I<=1?I:2-I,[U,100*(0===B?2*O/(I+O):2*G/(B+G)),(B+G)/2*100]},m.hsv.rgb=function(H){const U=H[0]/60,G=H[1]/100;let B=H[2]/100;const O=Math.floor(U)%6,I=U-Math.floor(U),V=255*B*(1-G),F=255*B*(1-G*I),z=255*B*(1-G*(1-I));switch(B*=255,O){case 0:return[B,z,V];case 1:return[F,B,V];case 2:return[V,B,z];case 3:return[V,F,B];case 4:return[z,V,B];case 5:return[B,V,F]}},m.hsv.hsl=function(H){const U=H[0],G=H[1]/100,B=H[2]/100,O=Math.max(B,.01);let I,V;V=(2-G)*B;const F=(2-G)*O;return I=G*O,I/=F<=1?F:2-F,I=I||0,V/=2,[U,100*I,100*V]},m.hwb.rgb=function(H){const U=H[0]/360;let G=H[1]/100,B=H[2]/100;const O=G+B;let I;O>1&&(G/=O,B/=O);const V=Math.floor(6*U),F=1-B;I=6*U-V,1&V&&(I=1-I);const z=G+I*(F-G);let q,X,pe;switch(V){default:case 6:case 0:q=F,X=z,pe=G;break;case 1:q=z,X=F,pe=G;break;case 2:q=G,X=F,pe=z;break;case 3:q=G,X=z,pe=F;break;case 4:q=z,X=G,pe=F;break;case 5:q=F,X=G,pe=z}return[255*q,255*X,255*pe]},m.cmyk.rgb=function(H){const G=H[1]/100,B=H[2]/100,O=H[3]/100;return[255*(1-Math.min(1,H[0]/100*(1-O)+O)),255*(1-Math.min(1,G*(1-O)+O)),255*(1-Math.min(1,B*(1-O)+O))]},m.xyz.rgb=function(H){const U=H[0]/100,G=H[1]/100,B=H[2]/100;let O,I,V;return O=3.2406*U+-1.5372*G+-.4986*B,I=-.9689*U+1.8758*G+.0415*B,V=.0557*U+-.204*G+1.057*B,O=O>.0031308?1.055*O**(1/2.4)-.055:12.92*O,I=I>.0031308?1.055*I**(1/2.4)-.055:12.92*I,V=V>.0031308?1.055*V**(1/2.4)-.055:12.92*V,O=Math.min(Math.max(0,O),1),I=Math.min(Math.max(0,I),1),V=Math.min(Math.max(0,V),1),[255*O,255*I,255*V]},m.xyz.lab=function(H){let U=H[0],G=H[1],B=H[2];return U/=95.047,G/=100,B/=108.883,U=U>.008856?U**(1/3):7.787*U+16/116,G=G>.008856?G**(1/3):7.787*G+16/116,B=B>.008856?B**(1/3):7.787*B+16/116,[116*G-16,500*(U-G),200*(G-B)]},m.lab.xyz=function(H){let O,I,V;I=(H[0]+16)/116,O=H[1]/500+I,V=I-H[2]/200;const F=I**3,z=O**3,q=V**3;return I=F>.008856?F:(I-16/116)/7.787,O=z>.008856?z:(O-16/116)/7.787,V=q>.008856?q:(V-16/116)/7.787,O*=95.047,I*=100,V*=108.883,[O,I,V]},m.lab.lch=function(H){const U=H[0],G=H[1],B=H[2];let O;return O=360*Math.atan2(B,G)/2/Math.PI,O<0&&(O+=360),[U,Math.sqrt(G*G+B*B),O]},m.lch.lab=function(H){const G=H[1],O=H[2]/360*2*Math.PI;return[H[0],G*Math.cos(O),G*Math.sin(O)]},m.rgb.ansi16=function(H,U=null){const[G,B,O]=H;let I=null===U?m.rgb.hsv(H)[2]:U;if(I=Math.round(I/50),0===I)return 30;let V=30+(Math.round(O/255)<<2|Math.round(B/255)<<1|Math.round(G/255));return 2===I&&(V+=60),V},m.hsv.ansi16=function(H){return m.rgb.ansi16(m.hsv.rgb(H),H[2])},m.rgb.ansi256=function(H){const U=H[0],G=H[1],B=H[2];return U===G&&G===B?U<8?16:U>248?231:Math.round((U-8)/247*24)+232:16+36*Math.round(U/255*5)+6*Math.round(G/255*5)+Math.round(B/255*5)},m.ansi16.rgb=function(H){let U=H%10;if(0===U||7===U)return H>50&&(U+=3.5),U=U/10.5*255,[U,U,U];const G=.5*(1+~~(H>50));return[(1&U)*G*255,(U>>1&1)*G*255,(U>>2&1)*G*255]},m.ansi256.rgb=function(H){if(H>=232){const I=10*(H-232)+8;return[I,I,I]}let U;return H-=16,[Math.floor(H/36)/5*255,Math.floor((U=H%36)/6)/5*255,U%6/5*255]},m.rgb.hex=function(H){const G=(((255&Math.round(H[0]))<<16)+((255&Math.round(H[1]))<<8)+(255&Math.round(H[2]))).toString(16).toUpperCase();return"000000".substring(G.length)+G},m.hex.rgb=function(H){const U=H.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!U)return[0,0,0];let G=U[0];3===U[0].length&&(G=G.split("").map(F=>F+F).join(""));const B=parseInt(G,16);return[B>>16&255,B>>8&255,255&B]},m.rgb.hcg=function(H){const U=H[0]/255,G=H[1]/255,B=H[2]/255,O=Math.max(Math.max(U,G),B),I=Math.min(Math.min(U,G),B),V=O-I;let F,z;return F=V<1?I/(1-V):0,z=V<=0?0:O===U?(G-B)/V%6:O===G?2+(B-U)/V:4+(U-G)/V,z/=6,z%=1,[360*z,100*V,100*F]},m.hsl.hcg=function(H){const U=H[1]/100,G=H[2]/100,B=G<.5?2*U*G:2*U*(1-G);let O=0;return B<1&&(O=(G-.5*B)/(1-B)),[H[0],100*B,100*O]},m.hsv.hcg=function(H){const G=H[2]/100,B=H[1]/100*G;let O=0;return B<1&&(O=(G-B)/(1-B)),[H[0],100*B,100*O]},m.hcg.rgb=function(H){const G=H[1]/100,B=H[2]/100;if(0===G)return[255*B,255*B,255*B];const O=[0,0,0],I=H[0]/360%1*6,V=I%1,F=1-V;let z=0;switch(Math.floor(I)){case 0:O[0]=1,O[1]=V,O[2]=0;break;case 1:O[0]=F,O[1]=1,O[2]=0;break;case 2:O[0]=0,O[1]=1,O[2]=V;break;case 3:O[0]=0,O[1]=F,O[2]=1;break;case 4:O[0]=V,O[1]=0,O[2]=1;break;default:O[0]=1,O[1]=0,O[2]=F}return z=(1-G)*B,[255*(G*O[0]+z),255*(G*O[1]+z),255*(G*O[2]+z)]},m.hcg.hsv=function(H){const U=H[1]/100,B=U+H[2]/100*(1-U);let O=0;return B>0&&(O=U/B),[H[0],100*O,100*B]},m.hcg.hsl=function(H){const U=H[1]/100,B=H[2]/100*(1-U)+.5*U;let O=0;return B>0&&B<.5?O=U/(2*B):B>=.5&&B<1&&(O=U/(2*(1-B))),[H[0],100*O,100*B]},m.hcg.hwb=function(H){const U=H[1]/100,B=U+H[2]/100*(1-U);return[H[0],100*(B-U),100*(1-B)]},m.hwb.hcg=function(H){const B=1-H[2]/100,O=B-H[1]/100;let I=0;return O<1&&(I=(B-O)/(1-O)),[H[0],100*O,100*I]},m.apple.rgb=function(H){return[H[0]/65535*255,H[1]/65535*255,H[2]/65535*255]},m.rgb.apple=function(H){return[H[0]/255*65535,H[1]/255*65535,H[2]/255*65535]},m.gray.rgb=function(H){return[H[0]/100*255,H[0]/100*255,H[0]/100*255]},m.gray.hsl=function(H){return[0,0,H[0]]},m.gray.hsv=m.gray.hsl,m.gray.hwb=function(H){return[0,100,H[0]]},m.gray.cmyk=function(H){return[0,0,0,H[0]]},m.gray.lab=function(H){return[H[0],0,0]},m.gray.hex=function(H){const U=255&Math.round(H[0]/100*255),B=((U<<16)+(U<<8)+U).toString(16).toUpperCase();return"000000".substring(B.length)+B},m.rgb.gray=function(H){return[(H[0]+H[1]+H[2])/3/255*100]}},3205:(ct,At,A)=>{const K=A(2348),te=A(8236),m={};Object.keys(K).forEach(G=>{m[G]={},Object.defineProperty(m[G],"channels",{value:K[G].channels}),Object.defineProperty(m[G],"labels",{value:K[G].labels});const B=te(G);Object.keys(B).forEach(I=>{const V=B[I];m[G][I]=function U(G){const B=function(...O){const I=O[0];if(null==I)return I;I.length>1&&(O=I);const V=G(O);if("object"==typeof V)for(let F=V.length,z=0;z1&&(O=I),G(O))};return"conversion"in G&&(B.conversion=G.conversion),B}(V)})}),ct.exports=m},8236:(ct,At,A)=>{const K=A(2348);function de(U,G){return function(B){return G(U(B))}}function H(U,G){const B=[G[U].parent,U];let O=K[G[U].parent][U],I=G[U].parent;for(;G[I].parent;)B.unshift(G[I].parent),O=de(K[G[I].parent][I],O),I=G[I].parent;return O.conversion=B,O}ct.exports=function(U){const G=function m(U){const G=function te(){const U={},G=Object.keys(K);for(let B=G.length,O=0;O{"use strict";ct.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},9928:ct=>{var At,A;At="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ct.exports=A={rotl:function(K,te){return K<>>32-te},rotr:function(K,te){return K<<32-te|K>>>te},endian:function(K){if(K.constructor==Number)return 16711935&A.rotl(K,8)|4278255360&A.rotl(K,24);for(var te=0;te0;K--)te.push(Math.floor(256*Math.random()));return te},bytesToWords:function(K){for(var te=[],m=0,de=0;m>>5]|=K[m]<<24-de%32;return te},wordsToBytes:function(K){for(var te=[],m=0;m<32*K.length;m+=8)te.push(K[m>>>5]>>>24-m%32&255);return te},bytesToHex:function(K){for(var te=[],m=0;m>>4).toString(16)),te.push((15&K[m]).toString(16));return te.join("")},hexToBytes:function(K){for(var te=[],m=0;m>>6*(3-H)&63):"=");return te.join("")},base64ToBytes:function(K){K=K.replace(/[^A-Z0-9+\/]/gi,"");for(var te=[],m=0,de=0;m>>6-2*de);return te}}},362:ct=>{"use strict";ct.exports=function At(A,K){if(A===K)return!0;if(A&&K&&"object"==typeof A&&"object"==typeof K){if(A.constructor!==K.constructor)return!1;var te,m,de;if(Array.isArray(A)){if((te=A.length)!=K.length)return!1;for(m=te;0!=m--;)if(!At(A[m],K[m]))return!1;return!0}if(A.constructor===RegExp)return A.source===K.source&&A.flags===K.flags;if(A.valueOf!==Object.prototype.valueOf)return A.valueOf()===K.valueOf();if(A.toString!==Object.prototype.toString)return A.toString()===K.toString();if((te=(de=Object.keys(A)).length)!==Object.keys(K).length)return!1;for(m=te;0!=m--;)if(!Object.prototype.hasOwnProperty.call(K,de[m]))return!1;for(m=te;0!=m--;){var H=de[m];if(!At(A[H],K[H]))return!1}return!0}return A!=A&&K!=K}},8861:ct=>{"use strict";ct.exports=function(At,A){A||(A={}),"function"==typeof A&&(A={cmp:A});var K="boolean"==typeof A.cycles&&A.cycles,te=A.cmp&&function(de){return function(H){return function(U,G){return de({key:U,value:H[U]},{key:G,value:H[G]})}}}(A.cmp),m=[];return function de(H){if(H&&H.toJSON&&"function"==typeof H.toJSON&&(H=H.toJSON()),void 0!==H){if("number"==typeof H)return isFinite(H)?""+H:"null";if("object"!=typeof H)return JSON.stringify(H);var U,G;if(Array.isArray(H)){for(G="[",U=0;U0&&k[k.length-1])&&(6===we[0]||2===we[0])){v=0;continue}if(3===we[0]&&(!k||we[1]>k[0]&&we[1]=55296&&E<=56319&&v<_){var k=g.charCodeAt(v++);56320==(64512&k)?p.push(((1023&E)<<10)+(1023&k)+65536):(p.push(E),v--)}else p.push(E)}return p},O=function(){for(var g=[],p=0;p>10),Q%1024+56320),(E+1===v||_.length>16384)&&(k+=String.fromCharCode.apply(String,_),_.length=0)}return k},I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",V=typeof Uint8Array>"u"?[]:new Uint8Array(256),F=0;F<64;F++)V[I.charCodeAt(F)]=F;for(var z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",q=typeof Uint8Array>"u"?[]:new Uint8Array(256),X=0;X<64;X++)q[z.charCodeAt(X)]=X;for(var bt=function(g,p,v){return g.slice?g.slice(p,v):new Uint16Array(Array.prototype.slice.call(g,p,v))},Sn=function(){function g(p,v,_,E,k,Q){this.initialValue=p,this.errorValue=v,this.highStart=_,this.highValueIndex=E,this.index=k,this.data=Q}return g.prototype.get=function(p){var v;if(p>=0){if(p<55296||p>56319&&p<=65535)return this.data[v=((v=this.index[p>>5])<<2)+(31&p)];if(p<=65535)return this.data[v=((v=this.index[2048+(p-55296>>5)])<<2)+(31&p)];if(p>11)],this.data[v=((v=this.index[v+=p>>5&63])<<2)+(31&p)];if(p<=1114111)return this.data[this.highValueIndex]}return this.errorValue},g}(),li="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",On=typeof Uint8Array>"u"?[]:new Uint8Array(256),Ei=0;Ei<64;Ei++)On[li.charCodeAt(Ei)]=Ei;var v,_,E,Q,J,yi=10,zt=13,Tr=15,je=17,ui=18,Nr=19,Ur=20,Fs=21,zo=22,Za=24,no=25,Gs=26,Ul=27,kc=28,Ma=30,Ja=32,Zc=33,Zf=34,Ud=35,Jc=37,ts=38,em=39,Hl=40,Hd=42,v_=[9001,65288],It="\xd7",_e=(v=function(g){var _,k,Q,J,Z,p=.75*g.length,v=g.length,E=0;"="===g[g.length-1]&&(p--,"="===g[g.length-2]&&p--);var we=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&typeof Uint8Array.prototype.slice<"u"?new ArrayBuffer(p):new Array(p),ke=Array.isArray(we)?we:new Uint8Array(we);for(_=0;_>4,ke[E++]=(15&Q)<<4|J>>2,ke[E++]=(3&J)<<6|63&Z;return we}("KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA=="),_=Array.isArray(v)?function(g){for(var p=g.length,v=[],_=0;_0;){var J=_[--k];if(Array.isArray(g)?-1!==g.indexOf(J):g===J)for(var Z=v;Z<=_.length;){var Q;if((Q=_[++Z])===p)return!0;if(Q!==yi)break}if(J!==yi)break}return!1},_i=function(g,p){for(var v=g;v>=0;){var _=p[v];if(_!==yi)return _;v--}return 0},Er=function(g,p,v,_,E){if(0===v[_])return It;var k=_-1;if(Array.isArray(E)&&!0===E[k])return It;var Q=k-1,J=k+1,Z=p[k],we=Q>=0?p[Q]:0,ke=p[J];if(2===Z&&3===ke)return It;if(-1!==be.indexOf(Z))return"!";if(-1!==be.indexOf(ke)||-1!==Ie.indexOf(ke))return It;if(8===_i(k,p))return"\xf7";if(11===_e.get(g[k])||(Z===Ja||Z===Zc)&&11===_e.get(g[J])||7===Z||7===ke||9===Z||-1===[yi,zt,Tr].indexOf(Z)&&9===ke||-1!==[je,ui,Nr,Za,kc].indexOf(ke)||_i(k,p)===zo||lr(23,zo,k,p)||lr([je,ui],Fs,k,p)||lr(12,12,k,p))return It;if(Z===yi)return"\xf7";if(23===Z||23===ke)return It;if(16===ke||16===Z)return"\xf7";if(-1!==[zt,Tr,Fs].indexOf(ke)||14===Z||36===we&&-1!==Ii.indexOf(Z)||Z===kc&&36===ke||ke===Ur||-1!==ie.indexOf(ke)&&Z===no||-1!==ie.indexOf(Z)&&ke===no||Z===Ul&&-1!==[Jc,Ja,Zc].indexOf(ke)||-1!==[Jc,Ja,Zc].indexOf(Z)&&ke===Gs||-1!==ie.indexOf(Z)&&-1!==Xe.indexOf(ke)||-1!==Xe.indexOf(Z)&&-1!==ie.indexOf(ke)||-1!==[Ul,Gs].indexOf(Z)&&(ke===no||-1!==[zo,Tr].indexOf(ke)&&p[J+1]===no)||-1!==[zo,Tr].indexOf(Z)&&ke===no||Z===no&&-1!==[no,kc,Za].indexOf(ke))return It;if(-1!==[no,kc,Za,je,ui].indexOf(ke))for(var Oe=k;Oe>=0;){if((ot=p[Oe])===no)return It;if(-1===[kc,Za].indexOf(ot))break;Oe--}if(-1!==[Ul,Gs].indexOf(ke))for(Oe=-1!==[je,ui].indexOf(Z)?Q:k;Oe>=0;){var ot;if((ot=p[Oe])===no)return It;if(-1===[kc,Za].indexOf(ot))break;Oe--}if(ts===Z&&-1!==[ts,em,Zf,Ud].indexOf(ke)||-1!==[em,Zf].indexOf(Z)&&-1!==[em,Hl].indexOf(ke)||-1!==[Hl,Ud].indexOf(Z)&&ke===Hl||-1!==hi.indexOf(Z)&&-1!==[Ur,Gs].indexOf(ke)||-1!==hi.indexOf(ke)&&Z===Ul||-1!==ie.indexOf(Z)&&-1!==ie.indexOf(ke)||Z===Za&&-1!==ie.indexOf(ke)||-1!==ie.concat(no).indexOf(Z)&&ke===zo&&-1===v_.indexOf(g[J])||-1!==ie.concat(no).indexOf(ke)&&Z===ui)return It;if(41===Z&&41===ke){for(var Ht=v[k],Lt=1;Ht>0&&41===p[--Ht];)Lt++;if(Lt%2!=0)return It}return Z===Ja&&ke===Zc?It:"\xf7"},uo=function(g,p){p||(p={lineBreak:"normal",wordBreak:"normal"});var v=function(g,p){void 0===p&&(p="strict");var v=[],_=[],E=[];return g.forEach(function(k,Q){var J=_e.get(k);if(J>50?(E.push(!0),J-=50):E.push(!1),-1!==["normal","auto","loose"].indexOf(p)&&-1!==[8208,8211,12316,12448].indexOf(k))return _.push(Q),v.push(16);if(4===J||11===J){if(0===Q)return _.push(Q),v.push(Ma);var Z=v[Q-1];return-1===mt.indexOf(Z)?(_.push(_[Q-1]),v.push(Z)):(_.push(Q),v.push(Ma))}return _.push(Q),31===J?v.push("strict"===p?Fs:Jc):J===Hd||29===J?v.push(Ma):43===J?v.push(k>=131072&&k<=196605||k>=196608&&k<=262141?Jc:Ma):void v.push(J)}),[_,v,E]}(g,p.lineBreak),_=v[0],E=v[1],k=v[2];return("break-all"===p.wordBreak||"break-word"===p.wordBreak)&&(E=E.map(function(J){return-1!==[no,Ma,Hd].indexOf(J)?Jc:J})),[_,E,"keep-all"===p.wordBreak?k.map(function(J,Z){return J&&g[Z]>=19968&&g[Z]<=40959}):void 0]},Fr=function(){function g(p,v,_,E){this.codePoints=p,this.required="!"===v,this.start=_,this.end=E}return g.prototype.slice=function(){return O.apply(void 0,this.codePoints.slice(this.start,this.end))},g}(),As=function(g){return g>=48&&g<=57},om=function(g){return As(g)||g>=65&&g<=70||g>=97&&g<=102},zl=function(g){return 10===g||9===g||32===g},mh=function(g){return function(g){return function(g){return g>=97&&g<=122}(g)||function(g){return g>=65&&g<=90}(g)}(g)||function(g){return g>=128}(g)||95===g},dA=function(g){return mh(g)||As(g)||45===g},l1=function(g){return g>=0&&g<=8||11===g||g>=14&&g<=31||127===g},gs=function(g,p){return 92===g&&10!==p},Gl=function(g,p,v){return 45===g?mh(p)||gs(p,v):!!mh(g)||!(92!==g||!gs(g,p))},uA=function(g,p,v){return 43===g||45===g?!!As(p)||46===p&&As(v):As(46===g?p:g)},oi=function(g){var p=0,v=1;(43===g[p]||45===g[p])&&(45===g[p]&&(v=-1),p++);for(var _=[];As(g[p]);)_.push(g[p++]);var E=_.length?parseInt(O.apply(void 0,_),10):0;46===g[p]&&p++;for(var k=[];As(g[p]);)k.push(g[p++]);var Q=k.length,J=Q?parseInt(O.apply(void 0,k),10):0;(69===g[p]||101===g[p])&&p++;var Z=1;(43===g[p]||45===g[p])&&(45===g[p]&&(Z=-1),p++);for(var we=[];As(g[p]);)we.push(g[p++]);var ke=we.length?parseInt(O.apply(void 0,we),10):0;return v*(E+J*Math.pow(10,-Q))*Math.pow(10,Z*ke)},rr={type:2},R4={type:3},LF={type:4},PF={type:13},L4={type:8},OF={type:21},k_={type:9},Hi={type:10},T_={type:11},d1={type:12},js={type:14},sm={type:23},P4={type:1},O4={type:25},am={type:24},F_={type:26},hA={type:27},NF={type:28},UF={type:29},HF={type:31},fA={type:32},zd=function(){function g(){this._value=[]}return g.prototype.write=function(p){this._value=this._value.concat(B(p))},g.prototype.read=function(){for(var p=[],v=this.consumeToken();v!==fA;)p.push(v),v=this.consumeToken();return p},g.prototype.consumeToken=function(){var p=this.consumeCodePoint();switch(p){case 34:return this.consumeStringToken(34);case 35:var v=this.peekCodePoint(0),_=this.peekCodePoint(1),E=this.peekCodePoint(2);if(dA(v)||gs(_,E)){var k=Gl(v,_,E)?2:1;return{type:5,value:this.consumeName(),flags:k}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),PF;break;case 39:return this.consumeStringToken(39);case 40:return rr;case 41:return R4;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),js;break;case 43:if(uA(p,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(p),this.consumeNumericToken();break;case 44:return LF;case 45:var J=p,Z=this.peekCodePoint(0),we=this.peekCodePoint(1);if(uA(J,Z,we))return this.reconsumeCodePoint(p),this.consumeNumericToken();if(Gl(J,Z,we))return this.reconsumeCodePoint(p),this.consumeIdentLikeToken();if(45===Z&&62===we)return this.consumeCodePoint(),this.consumeCodePoint(),am;break;case 46:if(uA(p,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(p),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var ke=this.consumeCodePoint();if(42===ke&&47===(ke=this.consumeCodePoint()))return this.consumeToken();if(-1===ke)return this.consumeToken()}break;case 58:return F_;case 59:return hA;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),O4;break;case 64:var Oe=this.peekCodePoint(0),ot=this.peekCodePoint(1),Ht=this.peekCodePoint(2);if(Gl(Oe,ot,Ht))return{type:7,value:this.consumeName()};break;case 91:return NF;case 92:if(gs(p,this.peekCodePoint(0)))return this.reconsumeCodePoint(p),this.consumeIdentLikeToken();break;case 93:return UF;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),L4;break;case 123:return T_;case 125:return d1;case 117:case 85:var Lt=this.peekCodePoint(0),Wt=this.peekCodePoint(1);return 43===Lt&&(om(Wt)||63===Wt)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(p),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),k_;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),OF;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Hi;break;case-1:return fA}return zl(p)?(this.consumeWhiteSpace(),HF):As(p)?(this.reconsumeCodePoint(p),this.consumeNumericToken()):mh(p)?(this.reconsumeCodePoint(p),this.consumeIdentLikeToken()):{type:6,value:O(p)}},g.prototype.consumeCodePoint=function(){var p=this._value.shift();return typeof p>"u"?-1:p},g.prototype.reconsumeCodePoint=function(p){this._value.unshift(p)},g.prototype.peekCodePoint=function(p){return p>=this._value.length?-1:this._value[p]},g.prototype.consumeUnicodeRangeToken=function(){for(var p=[],v=this.consumeCodePoint();om(v)&&p.length<6;)p.push(v),v=this.consumeCodePoint();for(var _=!1;63===v&&p.length<6;)p.push(v),v=this.consumeCodePoint(),_=!0;if(_)return{type:30,start:parseInt(O.apply(void 0,p.map(function(Z){return 63===Z?48:Z})),16),end:parseInt(O.apply(void 0,p.map(function(Z){return 63===Z?70:Z})),16)};var Q=parseInt(O.apply(void 0,p),16);if(45===this.peekCodePoint(0)&&om(this.peekCodePoint(1))){this.consumeCodePoint(),v=this.consumeCodePoint();for(var J=[];om(v)&&J.length<6;)J.push(v),v=this.consumeCodePoint();return{type:30,start:Q,end:parseInt(O.apply(void 0,J),16)}}return{type:30,start:Q,end:Q}},g.prototype.consumeIdentLikeToken=function(){var p=this.consumeName();return"url"===p.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:p}):{type:20,value:p}},g.prototype.consumeUrlToken=function(){var p=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var v=this.peekCodePoint(0);if(39===v||34===v){var _=this.consumeStringToken(this.consumeCodePoint());return 0===_.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:_.value}):(this.consumeBadUrlRemnants(),sm)}for(;;){var E=this.consumeCodePoint();if(-1===E||41===E)return{type:22,value:O.apply(void 0,p)};if(zl(E))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:O.apply(void 0,p)}):(this.consumeBadUrlRemnants(),sm);if(34===E||39===E||40===E||l1(E))return this.consumeBadUrlRemnants(),sm;if(92===E){if(!gs(E,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),sm;p.push(this.consumeEscapedCodePoint())}else p.push(E)}},g.prototype.consumeWhiteSpace=function(){for(;zl(this.peekCodePoint(0));)this.consumeCodePoint()},g.prototype.consumeBadUrlRemnants=function(){for(;;){var p=this.consumeCodePoint();if(41===p||-1===p)return;gs(p,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},g.prototype.consumeStringSlice=function(p){for(var _="";p>0;){var E=Math.min(5e4,p);_+=O.apply(void 0,this._value.splice(0,E)),p-=E}return this._value.shift(),_},g.prototype.consumeStringToken=function(p){for(var v="",_=0;;){var E=this._value[_];if(-1===E||void 0===E||E===p)return{type:0,value:v+=this.consumeStringSlice(_)};if(10===E)return this._value.splice(0,_),P4;if(92===E){var k=this._value[_+1];-1!==k&&void 0!==k&&(10===k?(v+=this.consumeStringSlice(_),_=-1,this._value.shift()):gs(E,k)&&(v+=this.consumeStringSlice(_),v+=O(this.consumeEscapedCodePoint()),_=-1))}_++}},g.prototype.consumeNumber=function(){var p=[],v=4,_=this.peekCodePoint(0);for((43===_||45===_)&&p.push(this.consumeCodePoint());As(this.peekCodePoint(0));)p.push(this.consumeCodePoint());_=this.peekCodePoint(0);var E=this.peekCodePoint(1);if(46===_&&As(E))for(p.push(this.consumeCodePoint(),this.consumeCodePoint()),v=8;As(this.peekCodePoint(0));)p.push(this.consumeCodePoint());_=this.peekCodePoint(0),E=this.peekCodePoint(1);var k=this.peekCodePoint(2);if((69===_||101===_)&&((43===E||45===E)&&As(k)||As(E)))for(p.push(this.consumeCodePoint(),this.consumeCodePoint()),v=8;As(this.peekCodePoint(0));)p.push(this.consumeCodePoint());return[oi(p),v]},g.prototype.consumeNumericToken=function(){var p=this.consumeNumber(),v=p[0],_=p[1],E=this.peekCodePoint(0),k=this.peekCodePoint(1),Q=this.peekCodePoint(2);return Gl(E,k,Q)?{type:15,number:v,flags:_,unit:this.consumeName()}:37===E?(this.consumeCodePoint(),{type:16,number:v,flags:_}):{type:17,number:v,flags:_}},g.prototype.consumeEscapedCodePoint=function(){var p=this.consumeCodePoint();if(om(p)){for(var v=O(p);om(this.peekCodePoint(0))&&v.length<6;)v+=O(this.consumeCodePoint());zl(this.peekCodePoint(0))&&this.consumeCodePoint();var _=parseInt(v,16);return 0===_||function(g){return g>=55296&&g<=57343}(_)||_>1114111?65533:_}return-1===p?65533:p},g.prototype.consumeName=function(){for(var p="";;){var v=this.consumeCodePoint();if(dA(v))p+=O(v);else{if(!gs(v,this.peekCodePoint(0)))return this.reconsumeCodePoint(v),p;p+=O(this.consumeEscapedCodePoint())}}},g}(),u1=function(){function g(p){this._tokens=p}return g.create=function(p){var v=new zd;return v.write(p),new g(v.read())},g.parseValue=function(p){return g.create(p).parseComponentValue()},g.parseValues=function(p){return g.create(p).parseComponentValues()},g.prototype.parseComponentValue=function(){for(var p=this.consumeToken();31===p.type;)p=this.consumeToken();if(32===p.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(p);var v=this.consumeComponentValue();do{p=this.consumeToken()}while(31===p.type);if(32===p.type)return v;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},g.prototype.parseComponentValues=function(){for(var p=[];;){var v=this.consumeComponentValue();if(32===v.type)return p;p.push(v),p.push()}},g.prototype.consumeComponentValue=function(){var p=this.consumeToken();switch(p.type){case 11:case 28:case 2:return this.consumeSimpleBlock(p.type);case 19:return this.consumeFunction(p)}return p},g.prototype.consumeSimpleBlock=function(p){for(var v={type:p,values:[]},_=this.consumeToken();;){if(32===_.type||VF(_,p))return v;this.reconsumeToken(_),v.values.push(this.consumeComponentValue()),_=this.consumeToken()}},g.prototype.consumeFunction=function(p){for(var v={name:p.value,values:[],type:18};;){var _=this.consumeToken();if(32===_.type||3===_.type)return v;this.reconsumeToken(_),v.values.push(this.consumeComponentValue())}},g.prototype.consumeToken=function(){var p=this._tokens.shift();return typeof p>"u"?fA:p},g.prototype.reconsumeToken=function(p){this._tokens.unshift(p)},g}(),Fa=function(g){return 15===g.type},ph=function(g){return 17===g.type},ee=function(g){return 20===g.type},h1=function(g){return 0===g.type},yt=function(g,p){return ee(g)&&g.value===p},cm=function(g){return 31!==g.type},Wl=function(g){return 31!==g.type&&4!==g.type},Ks=function(g){var p=[],v=[];return g.forEach(function(_){if(4===_.type){if(0===v.length)throw new Error("Error parsing function args, zero tokens for arg");return p.push(v),void(v=[])}31!==_.type&&v.push(_)}),v.length&&p.push(v),p},VF=function(g,p){return 11===p&&12===g.type||28===p&&29===g.type||2===p&&3===g.type},$l=function(g){return 17===g.type||15===g.type},yo=function(g){return 16===g.type||$l(g)},mA=function(g){return g.length>1?[g[0],g[1]]:[g[0]]},Bo={type:17,number:0,flags:4},B_={type:16,number:50,flags:4},Bc={type:16,number:100,flags:4},lm=function(g,p,v){var _=g[0],E=g[1];return[tr(_,p),tr(typeof E<"u"?E:_,v)]},tr=function(g,p){if(16===g.type)return g.number/100*p;if(Fa(g))switch(g.unit){case"rem":case"em":return 16*g.number;default:return g.number}return g.number},Wd_parse=function(g,p){if(15===p.type)switch(p.unit){case"deg":return Math.PI*p.number/180;case"grad":return Math.PI/200*p.number;case"rad":return p.number;case"turn":return 2*Math.PI*p.number}throw new Error("Unsupported angle type")},dm=function(g){return 15===g.type&&("deg"===g.unit||"grad"===g.unit||"rad"===g.unit||"turn"===g.unit)},pA=function(g){switch(g.filter(ee).map(function(v){return v.value}).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Bo,Bo];case"to top":case"bottom":return tc(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Bo,Bc];case"to right":case"left":return tc(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Bc,Bc];case"to bottom":case"top":return tc(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Bc,Bo];case"to left":case"right":return tc(270)}return 0},tc=function(g){return Math.PI*g/180},el_parse=function(g,p){if(18===p.type){var v=Yi[p.name];if(typeof v>"u")throw new Error('Attempting to parse an unsupported color function "'+p.name+'"');return v(g,p.values)}if(5===p.type){if(3===p.value.length){var _=p.value.substring(0,1),E=p.value.substring(1,2),k=p.value.substring(2,3);return Ic(parseInt(_+_,16),parseInt(E+E,16),parseInt(k+k,16),1)}if(4===p.value.length){_=p.value.substring(0,1),E=p.value.substring(1,2),k=p.value.substring(2,3);var Q=p.value.substring(3,4);return Ic(parseInt(_+_,16),parseInt(E+E,16),parseInt(k+k,16),parseInt(Q+Q,16)/255)}if(6===p.value.length)return _=p.value.substring(0,2),E=p.value.substring(2,4),k=p.value.substring(4,6),Ic(parseInt(_,16),parseInt(E,16),parseInt(k,16),1);if(8===p.value.length)return _=p.value.substring(0,2),E=p.value.substring(2,4),k=p.value.substring(4,6),Q=p.value.substring(6,8),Ic(parseInt(_,16),parseInt(E,16),parseInt(k,16),parseInt(Q,16)/255)}if(20===p.type){var J=Dc[p.value.toUpperCase()];if(typeof J<"u")return J}return Dc.TRANSPARENT},$d=function(g){return!(255&g)},or=function(g){var p=255&g,v=255&g>>8,_=255&g>>16,E=255&g>>24;return p<255?"rgba("+E+","+_+","+v+","+p/255+")":"rgb("+E+","+_+","+v+")"},Ic=function(g,p,v,_){return(g<<24|p<<16|v<<8|Math.round(255*_))>>>0},jd=function(g,p){if(17===g.type)return g.number;if(16===g.type){var v=3===p?1:255;return 3===p?g.number/100*v:Math.round(g.number/100*v)}return 0},QF=function(g,p){var v=p.filter(Wl);if(3===v.length){var _=v.map(jd);return Ic(_[0],_[1],_[2],1)}if(4===v.length){var J=v.map(jd);return Ic(J[0],J[1],J[2],J[3])}return 0};function AA(g,p,v){return v<0&&(v+=1),v>=1&&(v-=1),v<1/6?(p-g)*v*6+g:v<.5?p:v<2/3?6*(p-g)*(2/3-v)+g:g}var nc=function(g,p){var v=p.filter(Wl),_=v[0],E=v[1],k=v[2],Q=v[3],J=(17===_.type?tc(_.number):Wd_parse(g,_))/(2*Math.PI),Z=yo(E)?E.number/100:0,we=yo(k)?k.number/100:0,ke=typeof Q<"u"&&yo(Q)?tr(Q,1):1;if(0===Z)return Ic(255*we,255*we,255*we,1);var Oe=we<=.5?we*(Z+1):we+Z-we*Z,ot=2*we-Oe,Ht=AA(ot,Oe,J+1/3),Lt=AA(ot,Oe,J),Wt=AA(ot,Oe,J-1/3);return Ic(255*Ht,255*Lt,255*Wt,ke)},Yi={hsl:nc,hsla:nc,rgb:QF,rgba:QF},Ba=function(g,p){return el_parse(g,u1.create(p).parseComponentValue())},Dc={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},D_={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(g,p){return p.map(function(v){if(ee(v))switch(v.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},gA={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Kd=function(g,p){var v=el_parse(g,p[0]),_=p[1];return _&&yo(_)?{color:v,stop:_}:{color:v,stop:null}},Ia=function(g,p){var v=g[0],_=g[g.length-1];null===v.stop&&(v.stop=Bo),null===_.stop&&(_.stop=Bc);for(var E=[],k=0,Q=0;Qk?Z:k),k=Z}else E.push(null)}var we=null;for(Q=0;QQ.optimumDistance)?{optimumCorner:J,optimumDistance:ke}:Q},{optimumDistance:E?1/0:-1/0,optimumCorner:null}).optimumCorner},hm=function(g,p){var v=tc(180),_=[];return Ks(p).forEach(function(E,k){if(0===k){var Q=E[0];if(20===Q.type&&-1!==["top","left","right","bottom"].indexOf(Q.value))return void(v=pA(E));if(dm(Q))return void(v=(Wd_parse(g,Q)+tc(270))%tc(360))}var J=Kd(g,E);_.push(J)}),{angle:v,stops:_,type:1}},A1="closest-side",bA="farthest-side",g1="closest-corner",b1="farthest-corner",_1="ellipse",v1="contain",_A=function(g,p){var v=0,_=3,E=[],k=[];return Ks(p).forEach(function(Q,J){var Z=!0;if(0===J?Z=Q.reduce(function(ke,Oe){if(ee(Oe))switch(Oe.value){case"center":return k.push(B_),!1;case"top":case"left":return k.push(Bo),!1;case"right":case"bottom":return k.push(Bc),!1}else if(yo(Oe)||$l(Oe))return k.push(Oe),!1;return ke},Z):1===J&&(Z=Q.reduce(function(ke,Oe){if(ee(Oe))switch(Oe.value){case"circle":return v=0,!1;case _1:return v=1,!1;case v1:case A1:return _=0,!1;case bA:return _=1,!1;case g1:return _=2,!1;case"cover":case b1:return _=3,!1}else if($l(Oe)||yo(Oe))return Array.isArray(_)||(_=[]),_.push(Oe),!1;return ke},Z)),Z){var we=Kd(g,Q);E.push(we)}}),{size:_,shape:v,stops:E,position:k,type:2}},P__parse=function(g,p){if(22===p.type){var v={url:p.value,type:0};return g.cache.addImage(p.value),v}if(18===p.type){var _=w1[p.name];if(typeof _>"u")throw new Error('Attempting to parse an unsupported image function "'+p.name+'"');return _(g,p.values)}throw new Error("Unsupported image type "+p.type)};for(var w1={"linear-gradient":function(g,p){var v=tc(180),_=[];return Ks(p).forEach(function(E,k){if(0===k){var Q=E[0];if(20===Q.type&&"to"===Q.value)return void(v=pA(E));if(dm(Q))return void(v=Wd_parse(g,Q))}var J=Kd(g,E);_.push(J)}),{angle:v,stops:_,type:1}},"-moz-linear-gradient":hm,"-ms-linear-gradient":hm,"-o-linear-gradient":hm,"-webkit-linear-gradient":hm,"radial-gradient":function(g,p){var v=0,_=3,E=[],k=[];return Ks(p).forEach(function(Q,J){var Z=!0;if(0===J){var we=!1;Z=Q.reduce(function(Oe,ot){if(we)if(ee(ot))switch(ot.value){case"center":return k.push(B_),Oe;case"top":case"left":return k.push(Bo),Oe;case"right":case"bottom":return k.push(Bc),Oe}else(yo(ot)||$l(ot))&&k.push(ot);else if(ee(ot))switch(ot.value){case"circle":return v=0,!1;case _1:return v=1,!1;case"at":return we=!0,!1;case A1:return _=0,!1;case"cover":case bA:return _=1,!1;case v1:case g1:return _=2,!1;case b1:return _=3,!1}else if($l(ot)||yo(ot))return Array.isArray(_)||(_=[]),_.push(ot),!1;return Oe},Z)}if(Z){var ke=Kd(g,Q);E.push(ke)}}),{size:_,shape:v,stops:E,position:k,type:2}},"-moz-radial-gradient":_A,"-ms-radial-gradient":_A,"-o-radial-gradient":_A,"-webkit-radial-gradient":_A,"-webkit-gradient":function(g,p){var v=tc(180),_=[],E=1;return Ks(p).forEach(function(Z,we){var ke=Z[0];if(0===we){if(ee(ke)&&"linear"===ke.value)return void(E=1);if(ee(ke)&&"radial"===ke.value)return void(E=2)}if(18===ke.type)if("from"===ke.name){var Oe=el_parse(g,ke.values[0]);_.push({stop:Bo,color:Oe})}else if("to"===ke.name)Oe=el_parse(g,ke.values[0]),_.push({stop:Bc,color:Oe});else if("color-stop"===ke.name){var ot=ke.values.filter(Wl);if(2===ot.length){Oe=el_parse(g,ot[1]);var Ht=ot[0];ph(Ht)&&_.push({stop:{type:16,number:100*Ht.number,flags:Ht.flags},color:Oe})}}}),1===E?{angle:(v+tc(180))%tc(360),stops:_,type:E}:{size:3,shape:0,stops:_,position:[],type:E}}},Ze={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(g,p){if(0===p.length)return[];var v=p[0];return 20===v.type&&"none"===v.value?[]:p.filter(function(_){return Wl(_)&&function $F(g){return!(20===g.type&&"none"===g.value||18===g.type&&!w1[g.name])}(_)}).map(function(_){return P__parse(g,_)})}},jF={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(g,p){return p.map(function(v){if(ee(v))switch(v.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},KF={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(g,p){return Ks(p).map(function(v){return v.filter(yo)}).map(mA)}},pt={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(g,p){return Ks(p).map(function(v){return v.filter(ee).map(function(_){return _.value}).join(" ")}).map(x1)}},x1=function(g){switch(g){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}},Et=function(g){return g.AUTO="auto",g.CONTAIN="contain",g.COVER="cover",g}(Et||{}),sr={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(g,p){return Ks(p).map(function(v){return v.filter(wi)})}},wi=function(g){return ee(g)||yo(g)},io=function(g){return{name:"border-"+g+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},ns=io("top"),Xd=io("right"),bs=io("bottom"),C1=io("left"),fm=function(g){return{name:"border-radius-"+g,initialValue:"0 0",prefix:!1,type:1,parse:function(p,v){return mA(v.filter(yo))}}},vA=fm("top-left"),XF=fm("top-right"),YF=fm("bottom-right"),mm=fm("bottom-left"),yA=function(g){return{name:"border-"+g+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(p,v){switch(v){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},O_=yA("top"),E1=yA("right"),wA=yA("bottom"),N4=yA("left"),Ah=function(g){return{name:"border-"+g+"-width",initialValue:"0",type:0,prefix:!1,parse:function(p,v){return Fa(v)?v.number:0}}},qF=Ah("top"),N_=Ah("right"),M1=Ah("bottom"),S1=Ah("left"),Yd={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ZF={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(g,p){return"rtl"===p?1:0}},U_={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(g,p){return p.filter(ee).reduce(function(v,_){return v|xA(_.value)},0)}},xA=function(g){switch(g){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},JF={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(g,p){switch(p){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},H_={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(g,p){return 20===p.type&&"normal"===p.value?0:17===p.type||15===p.type?p.number:0}},gh=function(g){return g.NORMAL="normal",g.STRICT="strict",g}(gh||{}),ic={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(g,p){return"strict"===p?gh.STRICT:gh.NORMAL}},bh={name:"line-height",initialValue:"normal",prefix:!1,type:4},CA=function(g,p){return ee(g)&&"normal"===g.value?1.2*p:17===g.type?p*g.number:yo(g)?tr(g,p):p},eB={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(g,p){return 20===p.type&&"none"===p.value?null:P__parse(g,p)}},tB={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(g,p){return"inside"===p?0:1}},EA={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(g,p){switch(p){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},tl=function(g){return{name:"margin-"+g,initialValue:"0",prefix:!1,type:4}},nB=tl("top"),iB=tl("right"),rB=tl("bottom"),V_=tl("left"),Q_={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(g,p){return p.filter(ee).map(function(v){switch(v.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}})}},k1={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(g,p){return"break-word"===p?"break-word":"normal"}},jl=function(g){return{name:"padding-"+g,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},_h=jl("top"),oB=jl("right"),sB=jl("bottom"),Io=jl("left"),T1={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(g,p){switch(p){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},aB={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(g,p){switch(p){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},pm={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(g,p){return 1===p.length&&yt(p[0],"none")?[]:Ks(p).map(function(v){for(var _={color:Dc.TRANSPARENT,offsetX:Bo,offsetY:Bo,blur:Bo},E=0,k=0;k"u")throw new Error('Attempting to parse an unsupported transform function "'+p.name+'"');return v(p.values)}return null}},hB={matrix:function(g){var p=g.filter(function(v){return 17===v.type}).map(function(v){return v.number});return 6===p.length?p:null},matrix3d:function(g){var p=g.filter(function(Z){return 17===Z.type}).map(function(Z){return Z.number});return 16===p.length?[p[0],p[1],p[4],p[5],p[12],p[13]]:null}},F1={type:16,number:50,flags:4},z_=[F1,F1],MA={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(g,p){var v=p.filter(yo);return 2!==v.length?z_:[v[0],v[1]]}},Qr={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(g,p){switch(p){case"hidden":return 1;case"collapse":return 2;default:return 0}}},Dt=function(g){return g.NORMAL="normal",g.BREAK_ALL="break-all",g.KEEP_ALL="keep-all",g}(Dt||{}),Fn={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(g,p){switch(p){case"break-all":return Dt.BREAK_ALL;case"keep-all":return Dt.KEEP_ALL;default:return Dt.NORMAL}}},fo={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(g,p){if(20===p.type)return{auto:!0,order:0};if(ph(p))return{auto:!1,order:p.number};throw new Error("Invalid z-index number parsed")}},Ra={name:"time",parse:function(g,p){if(15===p.type)switch(p.unit.toLowerCase()){case"s":return 1e3*p.number;case"ms":return p.number}throw new Error("Unsupported time type")}},_s={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(g,p){return ph(p)?p.number:1}},la={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},vh={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(g,p){return p.filter(ee).map(function(v){switch(v.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(v){return 0!==v})}},Mr={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(g,p){var v=[],_=[];return p.forEach(function(E){switch(E.type){case 20:case 0:v.push(E.value);break;case 17:v.push(E.number.toString());break;case 4:_.push(v.join(" ")),v.length=0}}),v.length&&_.push(v.join(" ")),_.map(function(E){return-1===E.indexOf(" ")?E:"'"+E+"'"})}},is={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},rc={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(g,p){return ph(p)?p.number:ee(p)&&"bold"===p.value?700:400}},Kn={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(g,p){return p.filter(ee).map(function(v){return v.value})}},Am={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(g,p){switch(p){case"oblique":return"oblique";case"italic":return"italic";default:return"normal"}}},wo=function(g,p){return!!(g&p)},yh={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(g,p){if(0===p.length)return[];var v=p[0];return 20===v.type&&"none"===v.value?[]:p}},qr={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(g,p){if(0===p.length)return null;var v=p[0];if(20===v.type&&"none"===v.value)return null;for(var _=[],E=p.filter(cm),k=0;k1?1:0],this.overflowWrap=Gt(p,k1,v.overflowWrap),this.paddingTop=Gt(p,_h,v.paddingTop),this.paddingRight=Gt(p,oB,v.paddingRight),this.paddingBottom=Gt(p,sB,v.paddingBottom),this.paddingLeft=Gt(p,Io,v.paddingLeft),this.paintOrder=Gt(p,Kl,v.paintOrder),this.position=Gt(p,aB,v.position),this.textAlign=Gt(p,T1,v.textAlign),this.textDecorationColor=Gt(p,la,null!==(_=v.textDecorationColor)&&void 0!==_?_:v.color),this.textDecorationLine=Gt(p,vh,null!==(E=v.textDecorationLine)&&void 0!==E?E:v.textDecoration),this.textShadow=Gt(p,pm,v.textShadow),this.textTransform=Gt(p,cB,v.textTransform),this.transform=Gt(p,lB,v.transform),this.transformOrigin=Gt(p,MA,v.transformOrigin),this.visibility=Gt(p,Qr,v.visibility),this.webkitTextStrokeColor=Gt(p,SA,v.webkitTextStrokeColor),this.webkitTextStrokeWidth=Gt(p,qd,v.webkitTextStrokeWidth),this.wordBreak=Gt(p,Fn,v.wordBreak),this.zIndex=Gt(p,fo,v.zIndex)}return g.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},g.prototype.isTransparent=function(){return $d(this.backgroundColor)},g.prototype.isTransformed=function(){return null!==this.transform},g.prototype.isPositioned=function(){return 0!==this.position},g.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},g.prototype.isFloating=function(){return 0!==this.float},g.prototype.isInlineLevel=function(){return wo(this.display,4)||wo(this.display,33554432)||wo(this.display,268435456)||wo(this.display,536870912)||wo(this.display,67108864)||wo(this.display,134217728)},g}(),G_=function(){return function g(p,v){this.content=Gt(p,yh,v.content),this.quotes=Gt(p,nl,v.quotes)}}(),Ch=function(){return function g(p,v){this.counterIncrement=Gt(p,qr,v.counterIncrement),this.counterReset=Gt(p,gm,v.counterReset)}}(),Gt=function(g,p,v){var _=new zd,E=null!==v&&typeof v<"u"?v.toString():p.initialValue;_.write(E);var k=new u1(_.read());switch(p.type){case 2:var Q=k.parseComponentValue();return p.parse(g,ee(Q)?Q.value:p.initialValue);case 0:return p.parse(g,k.parseComponentValue());case 1:return p.parse(g,k.parseComponentValues());case 4:return k.parseComponentValue();case 3:switch(p.format){case"angle":return Wd_parse(g,k.parseComponentValue());case"color":return el_parse(g,k.parseComponentValue());case"image":return P__parse(g,k.parseComponentValue());case"length":var J=k.parseComponentValue();return $l(J)?J:Bo;case"length-percentage":var Z=k.parseComponentValue();return yo(Z)?Z:Bo;case"time":return Ra.parse(g,k.parseComponentValue())}}},Zr=function(g,p){var v=function(g){switch(g.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(g);return 1===v||p===v},La=function(){return function g(p,v){this.context=p,this.textNodes=[],this.elements=[],this.flags=0,Zr(v,3),this.styles=new si(p,window.getComputedStyle(v,null)),dv(v)&&(this.styles.animationDuration.some(function(_){return _>0})&&(v.style.animationDuration="0s"),null!==this.styles.transform&&(v.style.transform="none")),this.bounds=U(this.context,v),Zr(v,4)&&(this.flags|=16)}}(),rs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Zd=typeof Uint8Array>"u"?[]:new Uint8Array(256),Rc=0;Rc<64;Rc++)Zd[rs.charCodeAt(Rc)]=Rc;for(var fB=function(g,p,v){return g.slice?g.slice(p,v):new Uint16Array(Array.prototype.slice.call(g,p,v))},L1=function(){function g(p,v,_,E,k,Q){this.initialValue=p,this.errorValue=v,this.highStart=_,this.highValueIndex=E,this.index=k,this.data=Q}return g.prototype.get=function(p){var v;if(p>=0){if(p<55296||p>56319&&p<=65535)return this.data[v=((v=this.index[p>>5])<<2)+(31&p)];if(p<=65535)return this.data[v=((v=this.index[2048+(p-55296>>5)])<<2)+(31&p)];if(p>11)],this.data[v=((v=this.index[v+=p>>5&63])<<2)+(31&p)];if(p<=1114111)return this.data[this.highValueIndex]}return this.errorValue},g}(),K_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",X4=typeof Uint8Array>"u"?[]:new Uint8Array(256),X_=0;X_<64;X_++)X4[K_.charCodeAt(X_)]=X_;var N1=8,Z_=9,J_=11,U1=12,Q1=function(){for(var g=[],p=0;p>10),Q%1024+56320),(E+1===v||_.length>16384)&&(k+=String.fromCharCode.apply(String,_),_.length=0)}return k},z1=function(g,p){var v=function(g){var _,k,Q,J,Z,p=.75*g.length,v=g.length,E=0;"="===g[g.length-1]&&(p--,"="===g[g.length-2]&&p--);var we=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&typeof Uint8Array.prototype.slice<"u"?new ArrayBuffer(p):new Array(p),ke=Array.isArray(we)?we:new Uint8Array(we);for(_=0;_>4,ke[E++]=(15&Q)<<4|J>>2,ke[E++]=(3&J)<<6|63&Z;return we}(g),_=Array.isArray(v)?function(g){for(var p=g.length,v=[],_=0;_=55296&&E<=56319&&v<_){var k=g.charCodeAt(v++);56320==(64512&k)?p.push(((1023&E)<<10)+(1023&k)+65536):(p.push(E),v--)}else p.push(E)}return p}(g),v=p.length,_=0,E=0,k=p.map(mr);return{next:function(){if(_>=v)return{done:!0,value:null};for(var Q="\xd7";_Q.x||ke.y>Q.y;return Q=ke,0===we||Oe});return g.body.removeChild(p),J}(document);return Object.defineProperty(os,"SUPPORT_WORD_BREAKING",{value:g}),g},get SUPPORT_SVG_DRAWING(){var g=function(g){var p=new Image,v=g.createElement("canvas"),_=v.getContext("2d");if(!_)return!1;p.src="data:image/svg+xml,";try{_.drawImage(p,0,0),v.toDataURL()}catch{return!1}return!0}(document);return Object.defineProperty(os,"SUPPORT_SVG_DRAWING",{value:g}),g},get SUPPORT_FOREIGNOBJECT_DRAWING(){var g="function"==typeof Array.from&&"function"==typeof window.fetch?function(g){var p=g.createElement("canvas"),v=100;p.width=v,p.height=v;var _=p.getContext("2d");if(!_)return Promise.reject(!1);_.fillStyle="rgb(0, 255, 0)",_.fillRect(0,0,v,v);var E=new Image,k=p.toDataURL();E.src=k;var Q=Na(v,v,0,0,E);return _.fillStyle="red",_.fillRect(0,0,v,v),tv(Q).then(function(J){_.drawImage(J,0,0);var Z=_.getImageData(0,0,v,v).data;_.fillStyle="red",_.fillRect(0,0,v,v);var we=g.createElement("div");return we.style.backgroundImage="url("+k+")",we.style.height=v+"px",IA(Z)?tv(Na(v,v,0,0,we)):Promise.reject(!1)}).then(function(J){return _.drawImage(J,0,0),IA(_.getImageData(0,0,v,v).data)}).catch(function(){return!1})}(document):Promise.resolve(!1);return Object.defineProperty(os,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:g}),g},get SUPPORT_CORS_IMAGES(){var g=typeof(new Image).crossOrigin<"u";return Object.defineProperty(os,"SUPPORT_CORS_IMAGES",{value:g}),g},get SUPPORT_RESPONSE_TYPE(){var g="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(os,"SUPPORT_RESPONSE_TYPE",{value:g}),g},get SUPPORT_CORS_XHR(){var g="withCredentials"in new XMLHttpRequest;return Object.defineProperty(os,"SUPPORT_CORS_XHR",{value:g}),g},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var g=!!(typeof Intl<"u"&&Intl.Segmenter);return Object.defineProperty(os,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:g}),g}},Sh=function(){return function g(p,v){this.text=p,this.bounds=v}}(),iv=function(g,p){var v=p.ownerDocument;if(v){var _=v.createElement("html2canvaswrapper");_.appendChild(p.cloneNode(!0));var E=p.parentNode;if(E){E.replaceChild(_,p);var k=U(g,_);return _.firstChild&&E.replaceChild(_.firstChild,_),k}}return H.EMPTY},kh=function(g,p,v){var _=g.ownerDocument;if(!_)throw new Error("Node has no owner document");var E=_.createRange();return E.setStart(g,p),E.setEnd(g,p+v),E},Th=function(g){if(os.SUPPORT_NATIVE_TEXT_SEGMENTATION){var p=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(p.segment(g)).map(function(v){return v.segment})}return function(g){for(var _,p=_m(g),v=[];!(_=p.next()).done;)_.value&&v.push(_.value.slice());return v}(g)},eu=function(g,p){return 0!==p.letterSpacing?Th(g):function(g,p){if(os.SUPPORT_NATIVE_TEXT_SEGMENTATION){var v=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(v.segment(g)).map(function(_){return _.segment})}return W1(g,p)}(g,p)},Xn=[32,160,4961,65792,65793,4153,4241],W1=function(g,p){for(var E,v=function(g,p){var v=B(g),_=uo(v,p),E=_[0],k=_[1],Q=_[2],J=v.length,Z=0,we=0;return{next:function(){if(we>=J)return{done:!0,value:null};for(var ke=It;we0)if(os.SUPPORT_RANGE_BOUNDS){var Z=kh(_,Q,J.length).getClientRects();if(Z.length>1){var we=Th(J),ke=0;we.forEach(function(ot){k.push(new Sh(ot,H.fromDOMRectList(g,kh(_,ke+Q,ot.length).getClientRects()))),ke+=ot.length})}else k.push(new Sh(J,H.fromDOMRectList(g,Z)))}else{var Oe=_.splitText(J.length);k.push(new Sh(J,iv(g,_))),_=Oe}else os.SUPPORT_RANGE_BOUNDS||(_=_.splitText(J.length));Q+=J.length}),k}(p,this.text,_,v)}}(),gB=function(g,p){switch(p){case 1:return g.toLowerCase();case 3:return g.replace(bB,_B);case 2:return g.toUpperCase();default:return g}},bB=/(^|\s|:|-|\(|\))([a-z])/g,_B=function(g,p,v){return g.length>0?p+v.toUpperCase():g},ov=function(g){function p(v,_){var E=g.call(this,v,_)||this;return E.src=_.currentSrc||_.src,E.intrinsicWidth=_.naturalWidth,E.intrinsicHeight=_.naturalHeight,E.context.cache.addImage(E.src),E}return A(p,g),p}(La),tu=function(g){function p(v,_){var E=g.call(this,v,_)||this;return E.canvas=_,E.intrinsicWidth=_.width,E.intrinsicHeight=_.height,E}return A(p,g),p}(La),$1=function(g){function p(v,_){var E=g.call(this,v,_)||this,k=new XMLSerializer,Q=U(v,_);return _.setAttribute("width",Q.width+"px"),_.setAttribute("height",Q.height+"px"),E.svg="data:image/svg+xml,"+encodeURIComponent(k.serializeToString(_)),E.intrinsicWidth=_.width.baseVal.value,E.intrinsicHeight=_.height.baseVal.value,E.context.cache.addImage(E.svg),E}return A(p,g),p}(La),j1=function(g){function p(v,_){var E=g.call(this,v,_)||this;return E.value=_.value,E}return A(p,g),p}(La),sv=function(g){function p(v,_){var E=g.call(this,v,_)||this;return E.start=_.start,E.reversed="boolean"==typeof _.reversed&&!0===_.reversed,E}return A(p,g),p}(La),vB=[{type:15,flags:0,unit:"px",number:3}],yB=[{type:16,flags:0,number:50}],Mt="checkbox",St="radio",dr="password",av=707406591,nu=function(g){function p(v,_){var E=g.call(this,v,_)||this;switch(E.type=_.type.toLowerCase(),E.checked=_.checked,E.value=function(g){var p=g.type===dr?new Array(g.value.length+1).join("\u2022"):g.value;return 0===p.length?g.placeholder||"":p}(_),(E.type===Mt||E.type===St)&&(E.styles.backgroundColor=3739148031,E.styles.borderTopColor=E.styles.borderRightColor=E.styles.borderBottomColor=E.styles.borderLeftColor=2779096575,E.styles.borderTopWidth=E.styles.borderRightWidth=E.styles.borderBottomWidth=E.styles.borderLeftWidth=1,E.styles.borderTopStyle=E.styles.borderRightStyle=E.styles.borderBottomStyle=E.styles.borderLeftStyle=1,E.styles.backgroundClip=[0],E.styles.backgroundOrigin=[0],E.bounds=function(g){return g.width>g.height?new H(g.left+(g.width-g.height)/2,g.top,g.height,g.height):g.width0)v.textNodes.push(new q4(g,E,v.styles));else if(Xs(E))if(q1(E)&&E.assignedNodes)E.assignedNodes().forEach(function(J){return cv(g,J,v,_)});else{var Q=lv(g,E);Q.styles.isVisible()&&(il(E,Q,_)?Q.flags|=4:K1(Q.styles)&&(Q.flags|=2),-1!==wB.indexOf(E.tagName)&&(Q.flags|=8),v.elements.push(Q),E.shadowRoot?cv(g,E.shadowRoot,Q,_):!xm(E)&&!LA(E)&&!Bh(E)&&cv(g,E,Q,_))}},lv=function(g,p){return wm(p)?new ov(g,p):X1(p)?new tu(g,p):LA(p)?new $1(g,p):xB(p)?new j1(g,p):CB(p)?new sv(g,p):uv(p)?new nu(g,p):Bh(p)?new sc(g,p):xm(p)?new DA(g,p):mv(p)?new RA(g,p):new La(g,p)},ys=function(g,p){var v=lv(g,p);return v.flags|=4,cv(g,p,v,v),v},il=function(g,p,v){return p.styles.isPositionedWithZIndex()||p.styles.opacity<1||p.styles.isTransformed()||Fh(g)&&v.styles.isTransparent()},K1=function(g){return g.isPositioned()||g.isFloating()},Ua=function(g){return g.nodeType===Node.TEXT_NODE},Xs=function(g){return g.nodeType===Node.ELEMENT_NODE},dv=function(g){return Xs(g)&&typeof g.style<"u"&&!ym(g)},ym=function(g){return"object"==typeof g.className},xB=function(g){return"LI"===g.tagName},CB=function(g){return"OL"===g.tagName},uv=function(g){return"INPUT"===g.tagName},LA=function(g){return"svg"===g.tagName},Fh=function(g){return"BODY"===g.tagName},X1=function(g){return"CANVAS"===g.tagName},fv=function(g){return"VIDEO"===g.tagName},wm=function(g){return"IMG"===g.tagName},mv=function(g){return"IFRAME"===g.tagName},pv=function(g){return"STYLE"===g.tagName},xm=function(g){return"TEXTAREA"===g.tagName},Bh=function(g){return"SELECT"===g.tagName},q1=function(g){return"SLOT"===g.tagName},ss=function(g){return g.tagName.indexOf("-")>0},iu=function(){function g(){this.counters={}}return g.prototype.getCounterValue=function(p){var v=this.counters[p];return v&&v.length?v[v.length-1]:1},g.prototype.getCounterValues=function(p){return this.counters[p]||[]},g.prototype.pop=function(p){var v=this;p.forEach(function(_){return v.counters[_].pop()})},g.prototype.parse=function(p){var v=this,_=p.counterIncrement,E=p.counterReset,k=!0;null!==_&&_.forEach(function(J){var Z=v.counters[J.counter];Z&&0!==J.increment&&(k=!1,Z.length||Z.push(1),Z[Math.max(0,Z.length-1)]+=J.increment)});var Q=[];return k&&E.forEach(function(J){var Z=v.counters[J.counter];Q.push(J.counter),Z||(Z=v.counters[J.counter]=[]),Z.push(J.reset)}),Q},g}(),wr={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},ac={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u0554","\u0553","\u0552","\u0551","\u0550","\u054f","\u054e","\u054d","\u054c","\u054b","\u054a","\u0549","\u0548","\u0547","\u0546","\u0545","\u0544","\u0543","\u0542","\u0541","\u0540","\u053f","\u053e","\u053d","\u053c","\u053b","\u053a","\u0539","\u0538","\u0537","\u0536","\u0535","\u0534","\u0533","\u0532","\u0531"]},EB={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["\u05d9\u05f3","\u05d8\u05f3","\u05d7\u05f3","\u05d6\u05f3","\u05d5\u05f3","\u05d4\u05f3","\u05d3\u05f3","\u05d2\u05f3","\u05d1\u05f3","\u05d0\u05f3","\u05ea","\u05e9","\u05e8","\u05e7","\u05e6","\u05e4","\u05e2","\u05e1","\u05e0","\u05de","\u05dc","\u05db","\u05d9\u05d8","\u05d9\u05d7","\u05d9\u05d6","\u05d8\u05d6","\u05d8\u05d5","\u05d9","\u05d8","\u05d7","\u05d6","\u05d5","\u05d4","\u05d3","\u05d2","\u05d1","\u05d0"]},PA={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u10f5","\u10f0","\u10ef","\u10f4","\u10ee","\u10ed","\u10ec","\u10eb","\u10ea","\u10e9","\u10e8","\u10e7","\u10e6","\u10e5","\u10e4","\u10f3","\u10e2","\u10e1","\u10e0","\u10df","\u10de","\u10dd","\u10f2","\u10dc","\u10db","\u10da","\u10d9","\u10d8","\u10d7","\u10f1","\u10d6","\u10d5","\u10d4","\u10d3","\u10d2","\u10d1","\u10d0"]},Ih=function(g,p,v,_,E,k){return gv?Lc(g,E,k.length>0):_.integers.reduce(function(Q,J,Z){for(;g>=J;)g-=J,Q+=_.values[Z];return Q},"")+k},Av=function(g,p,v,_){var E="";do{v||g--,E=_(g)+E,g/=p}while(g*p>=p);return E},ro=function(g,p,v,_,E){var k=v-p+1;return(g<0?"-":"")+(Av(Math.abs(g),k,_,function(Q){return O(Math.floor(Q%k)+p)})+E)},cc=function(g,p,v){void 0===v&&(v=". ");var _=p.length;return Av(Math.abs(g),_,!1,function(E){return p[Math.floor(E%_)]})+v},Ha=function(g,p,v,_,E,k){if(g<-9999||g>9999)return Lc(g,4,E.length>0);var Q=Math.abs(g),J=E;if(0===Q)return p[0]+J;for(var Z=0;Q>0&&Z<=4;Z++){var we=Q%10;0===we&&wo(k,1)&&""!==J?J=p[we]+J:we>1||1===we&&0===Z||1===we&&1===Z&&wo(k,2)||1===we&&1===Z&&wo(k,4)&&g>100||1===we&&Z>1&&wo(k,8)?J=p[we]+(Z>0?v[Z-1]:"")+J:1===we&&Z>0&&(J=v[Z-1]+J),Q=Math.floor(Q/10)}return(g<0?_:"")+J},_v="\ub9c8\uc774\ub108\uc2a4",Lc=function(g,p,v){var _=v?". ":"",E=v?"\u3001":"",k=v?", ":"",Q=v?" ":"";switch(p){case 0:return"\u2022"+Q;case 1:return"\u25e6"+Q;case 2:return"\u25fe"+Q;case 5:var J=ro(g,48,57,!0,_);return J.length<4?"0"+J:J;case 4:return cc(g,"\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d",E);case 6:return Ih(g,1,3999,wr,3,_).toLowerCase();case 7:return Ih(g,1,3999,wr,3,_);case 8:return ro(g,945,969,!1,_);case 9:return ro(g,97,122,!1,_);case 10:return ro(g,65,90,!1,_);case 11:return ro(g,1632,1641,!0,_);case 12:case 49:return Ih(g,1,9999,ac,3,_);case 35:return Ih(g,1,9999,ac,3,_).toLowerCase();case 13:return ro(g,2534,2543,!0,_);case 14:case 30:return ro(g,6112,6121,!0,_);case 15:return cc(g,"\u5b50\u4e11\u5bc5\u536f\u8fb0\u5df3\u5348\u672a\u7533\u9149\u620c\u4ea5",E);case 16:return cc(g,"\u7532\u4e59\u4e19\u4e01\u620a\u5df1\u5e9a\u8f9b\u58ec\u7678",E);case 17:case 48:return Ha(g,"\u96f6\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u842c","\u8ca0",E,14);case 47:return Ha(g,"\u96f6\u58f9\u8cb3\u53c3\u8086\u4f0d\u9678\u67d2\u634c\u7396","\u62fe\u4f70\u4edf\u842c","\u8ca0",E,15);case 42:return Ha(g,"\u96f6\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u842c","\u8d1f",E,14);case 41:return Ha(g,"\u96f6\u58f9\u8d30\u53c1\u8086\u4f0d\u9646\u67d2\u634c\u7396","\u62fe\u4f70\u4edf\u842c","\u8d1f",E,15);case 26:return Ha(g,"\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u4e07","\u30de\u30a4\u30ca\u30b9",E,0);case 25:return Ha(g,"\u96f6\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d","\u62fe\u767e\u5343\u4e07","\u30de\u30a4\u30ca\u30b9",E,7);case 31:return Ha(g,"\uc601\uc77c\uc774\uc0bc\uc0ac\uc624\uc721\uce60\ud314\uad6c","\uc2ed\ubc31\ucc9c\ub9cc",_v,k,7);case 33:return Ha(g,"\u96f6\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u842c",_v,k,0);case 32:return Ha(g,"\u96f6\u58f9\u8cb3\u53c3\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u62fe\u767e\u5343",_v,k,7);case 18:return ro(g,2406,2415,!0,_);case 20:return Ih(g,1,19999,PA,3,_);case 21:return ro(g,2790,2799,!0,_);case 22:return ro(g,2662,2671,!0,_);case 22:return Ih(g,1,10999,EB,3,_);case 23:return cc(g,"\u3042\u3044\u3046\u3048\u304a\u304b\u304d\u304f\u3051\u3053\u3055\u3057\u3059\u305b\u305d\u305f\u3061\u3064\u3066\u3068\u306a\u306b\u306c\u306d\u306e\u306f\u3072\u3075\u3078\u307b\u307e\u307f\u3080\u3081\u3082\u3084\u3086\u3088\u3089\u308a\u308b\u308c\u308d\u308f\u3090\u3091\u3092\u3093");case 24:return cc(g,"\u3044\u308d\u306f\u306b\u307b\u3078\u3068\u3061\u308a\u306c\u308b\u3092\u308f\u304b\u3088\u305f\u308c\u305d\u3064\u306d\u306a\u3089\u3080\u3046\u3090\u306e\u304a\u304f\u3084\u307e\u3051\u3075\u3053\u3048\u3066\u3042\u3055\u304d\u3086\u3081\u307f\u3057\u3091\u3072\u3082\u305b\u3059");case 27:return ro(g,3302,3311,!0,_);case 28:return cc(g,"\u30a2\u30a4\u30a6\u30a8\u30aa\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30ca\u30cb\u30cc\u30cd\u30ce\u30cf\u30d2\u30d5\u30d8\u30db\u30de\u30df\u30e0\u30e1\u30e2\u30e4\u30e6\u30e8\u30e9\u30ea\u30eb\u30ec\u30ed\u30ef\u30f0\u30f1\u30f2\u30f3",E);case 29:return cc(g,"\u30a4\u30ed\u30cf\u30cb\u30db\u30d8\u30c8\u30c1\u30ea\u30cc\u30eb\u30f2\u30ef\u30ab\u30e8\u30bf\u30ec\u30bd\u30c4\u30cd\u30ca\u30e9\u30e0\u30a6\u30f0\u30ce\u30aa\u30af\u30e4\u30de\u30b1\u30d5\u30b3\u30a8\u30c6\u30a2\u30b5\u30ad\u30e6\u30e1\u30df\u30b7\u30f1\u30d2\u30e2\u30bb\u30b9",E);case 34:return ro(g,3792,3801,!0,_);case 37:return ro(g,6160,6169,!0,_);case 38:return ro(g,4160,4169,!0,_);case 39:return ro(g,2918,2927,!0,_);case 40:return ro(g,1776,1785,!0,_);case 43:return ro(g,3046,3055,!0,_);case 44:return ro(g,3174,3183,!0,_);case 45:return ro(g,3664,3673,!0,_);case 46:return ro(g,3872,3881,!0,_);default:return ro(g,48,57,!0,_)}},Dh="data-html2canvas-ignore",Z1=function(){function g(p,v,_){if(this.context=p,this.options=_,this.scrolledElements=[],this.referenceElement=v,this.counters=new iu,this.quoteDepth=0,!v.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(v.ownerDocument.documentElement,!1)}return g.prototype.toIFrame=function(p,v){var _=this,E=MB(p,v);if(!E.contentWindow)return Promise.reject("Unable to find iframe window");var k=p.defaultView.pageXOffset,Q=p.defaultView.pageYOffset,J=E.contentWindow,Z=J.document,we=Z4(E).then(function(){return te(_,void 0,void 0,function(){var ke,Oe;return m(this,function(ot){switch(ot.label){case 0:return this.scrolledElements.forEach(Mm),J&&(J.scrollTo(v.left,v.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(J.scrollY!==v.top||J.scrollX!==v.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(J.scrollX-v.left,J.scrollY-v.top,0,0))),ke=this.options.onclone,typeof(Oe=this.clonedReferenceElement)>"u"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:Z.fonts&&Z.fonts.ready?[4,Z.fonts.ready]:[3,2];case 1:ot.sent(),ot.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,kB(Z)]:[3,4];case 3:ot.sent(),ot.label=4;case 4:return"function"==typeof ke?[2,Promise.resolve().then(function(){return ke(Z,Oe)}).then(function(){return E})]:[2,E]}})})});return Z.open(),Z.write(Em(document.doctype)+""),TB(this.referenceElement.ownerDocument,k,Q),Z.replaceChild(Z.adoptNode(this.documentElement),Z.documentElement),Z.close(),we},g.prototype.createElementClone=function(p){if(Zr(p,2),X1(p))return this.createCanvasClone(p);if(fv(p))return this.createVideoClone(p);if(pv(p))return this.createStyleClone(p);var v=p.cloneNode(!1);return wm(v)&&(wm(p)&&p.currentSrc&&p.currentSrc!==p.src&&(v.src=p.currentSrc,v.srcset=""),"lazy"===v.loading&&(v.loading="eager")),ss(v)?this.createCustomElementClone(v):v},g.prototype.createCustomElementClone=function(p){var v=document.createElement("html2canvascustomelement");return Cm(p.style,v),v},g.prototype.createStyleClone=function(p){try{var v=p.sheet;if(v&&v.cssRules){var _=[].slice.call(v.cssRules,0).reduce(function(k,Q){return Q&&"string"==typeof Q.cssText?k+Q.cssText:k},""),E=p.cloneNode(!1);return E.textContent=_,E}}catch(k){if(this.context.logger.error("Unable to access cssRules property",k),"SecurityError"!==k.name)throw k}return p.cloneNode(!1)},g.prototype.createCanvasClone=function(p){var v;if(this.options.inlineImages&&p.ownerDocument){var _=p.ownerDocument.createElement("img");try{return _.src=p.toDataURL(),_}catch{this.context.logger.info("Unable to inline canvas contents, canvas is tainted",p)}}var E=p.cloneNode(!1);try{E.width=p.width,E.height=p.height;var k=p.getContext("2d"),Q=E.getContext("2d");if(Q)if(!this.options.allowTaint&&k)Q.putImageData(k.getImageData(0,0,p.width,p.height),0,0);else{var J=null!==(v=p.getContext("webgl2"))&&void 0!==v?v:p.getContext("webgl");if(J){var Z=J.getContextAttributes();!1===Z?.preserveDrawingBuffer&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",p)}Q.drawImage(p,0,0)}return E}catch{this.context.logger.info("Unable to clone canvas as it is tainted",p)}return E},g.prototype.createVideoClone=function(p){var v=p.ownerDocument.createElement("canvas");v.width=p.offsetWidth,v.height=p.offsetHeight;var _=v.getContext("2d");try{return _&&(_.drawImage(p,0,0,v.width,v.height),this.options.allowTaint||_.getImageData(0,0,v.width,v.height)),v}catch{this.context.logger.info("Unable to clone video as it is tainted",p)}var E=p.ownerDocument.createElement("canvas");return E.width=p.offsetWidth,E.height=p.offsetHeight,E},g.prototype.appendChildNode=function(p,v,_){(!Xs(v)||!function(g){return"SCRIPT"===g.tagName}(v)&&!v.hasAttribute(Dh)&&("function"!=typeof this.options.ignoreElements||!this.options.ignoreElements(v)))&&(!this.options.copyStyles||!Xs(v)||!pv(v))&&p.appendChild(this.cloneNode(v,_))},g.prototype.cloneChildNodes=function(p,v,_){for(var E=this,k=p.shadowRoot?p.shadowRoot.firstChild:p.firstChild;k;k=k.nextSibling)if(Xs(k)&&q1(k)&&"function"==typeof k.assignedNodes){var Q=k.assignedNodes();Q.length&&Q.forEach(function(J){return E.appendChildNode(v,J,_)})}else this.appendChildNode(v,k,_)},g.prototype.cloneNode=function(p,v){if(Ua(p))return document.createTextNode(p.data);if(!p.ownerDocument)return p.cloneNode(!1);var _=p.ownerDocument.defaultView;if(_&&Xs(p)&&(dv(p)||ym(p))){var E=this.createElementClone(p);E.style.transitionProperty="none";var k=_.getComputedStyle(p),Q=_.getComputedStyle(p,":before"),J=_.getComputedStyle(p,":after");this.referenceElement===p&&dv(E)&&(this.clonedReferenceElement=E),Fh(E)&&FB(E);var Z=this.counters.parse(new Ch(this.context,k)),we=this.resolvePseudoContent(p,E,Q,Rh.BEFORE);ss(p)&&(v=!0),fv(p)||this.cloneChildNodes(p,E,v),we&&E.insertBefore(we,E.firstChild);var ke=this.resolvePseudoContent(p,E,J,Rh.AFTER);return ke&&E.appendChild(ke),this.counters.pop(Z),(k&&(this.options.copyStyles||ym(p))&&!mv(p)||v)&&Cm(k,E),(0!==p.scrollTop||0!==p.scrollLeft)&&this.scrolledElements.push([E,p.scrollLeft,p.scrollTop]),(xm(p)||Bh(p))&&(xm(E)||Bh(E))&&(E.value=p.value),E}return p.cloneNode(!1)},g.prototype.resolvePseudoContent=function(p,v,_,E){var k=this;if(_){var Q=_.content,J=v.ownerDocument;if(J&&Q&&"none"!==Q&&"-moz-alt-content"!==Q&&"none"!==_.display){this.counters.parse(new Ch(this.context,_));var Z=new G_(this.context,_),we=J.createElement("html2canvaspseudoelement");Cm(_,we),Z.content.forEach(function(Oe){if(0===Oe.type)we.appendChild(J.createTextNode(Oe.value));else if(22===Oe.type){var ot=J.createElement("img");ot.src=Oe.value,ot.style.opacity="1",we.appendChild(ot)}else if(18===Oe.type){if("attr"===Oe.name){var Ht=Oe.values.filter(ee);Ht.length&&we.appendChild(J.createTextNode(p.getAttribute(Ht[0].value)||""))}else if("counter"===Oe.name){var Lt=Oe.values.filter(Wl),fi=Lt[1];if((Wt=Lt[0])&&ee(Wt)){var $t=k.counters.getCounterValue(Wt.value),cn=fi&&ee(fi)?EA.parse(k.context,fi.value):3;we.appendChild(J.createTextNode(Lc($t,cn,!1)))}}else if("counters"===Oe.name){var Wt,qi=Oe.values.filter(Wl),Ai=qi[1];if(fi=qi[2],(Wt=qi[0])&&ee(Wt)){var qn=k.counters.getCounterValues(Wt.value),tn=fi&&ee(fi)?EA.parse(k.context,fi.value):3,$i=Ai&&0===Ai.type?Ai.value:"",Vi=qn.map(function(Ys){return Lc(Ys,tn,!1)}).join($i);we.appendChild(J.createTextNode(Vi))}}}else if(20===Oe.type)switch(Oe.value){case"open-quote":we.appendChild(J.createTextNode(xh(Z.quotes,k.quoteDepth++,!0)));break;case"close-quote":we.appendChild(J.createTextNode(xh(Z.quotes,--k.quoteDepth,!1)));break;default:we.appendChild(J.createTextNode(Oe.value))}}),we.className=J1+" "+UA;var ke=E===Rh.BEFORE?" "+J1:" "+UA;return ym(v)?v.className.baseValue+=ke:v.className+=ke,we}}},g.destroy=function(p){return!!p.parentNode&&(p.parentNode.removeChild(p),!0)},g}(),Rh=function(g){return g[g.BEFORE=0]="BEFORE",g[g.AFTER=1]="AFTER",g}(Rh||{}),MB=function(g,p){var v=g.createElement("iframe");return v.className="html2canvas-container",v.style.visibility="hidden",v.style.position="fixed",v.style.left="-10000px",v.style.top="0px",v.style.border="0",v.width=p.width.toString(),v.height=p.height.toString(),v.scrolling="no",v.setAttribute(Dh,"true"),g.body.appendChild(v),v},SB=function(g){return new Promise(function(p){g.complete?p():g.src?(g.onload=p,g.onerror=p):p()})},kB=function(g){return Promise.all([].slice.call(g.images,0).map(SB))},Z4=function(g){return new Promise(function(p,v){var _=g.contentWindow;if(!_)return v("No window assigned for iframe");var E=_.document;_.onload=g.onload=function(){_.onload=g.onload=null;var k=setInterval(function(){E.body.childNodes.length>0&&"complete"===E.readyState&&(clearInterval(k),p(g))},50)}})},J4=["all","d","content"],Cm=function(g,p){for(var v=g.length-1;v>=0;v--){var _=g.item(v);-1===J4.indexOf(_)&&p.style.setProperty(_,g.getPropertyValue(_))}return p},Em=function(g){var p="";return g&&(p+=""),p},TB=function(g,p,v){g&&g.defaultView&&(p!==g.defaultView.pageXOffset||v!==g.defaultView.pageYOffset)&&g.defaultView.scrollTo(p,v)},Mm=function(g){var p=g[0],_=g[2];p.scrollLeft=g[1],p.scrollTop=_},J1="___html2canvas___pseudoelement_before",UA="___html2canvas___pseudoelement_after",yv='{\n content: "" !important;\n display: none !important;\n}',FB=function(g){Pc(g,"."+J1+":before"+yv+"\n ."+UA+":after"+yv)},Pc=function(g,p){var v=g.ownerDocument;if(v){var _=v.createElement("style");_.textContent=p,g.appendChild(_)}},eC=function(){function g(){}return g.getOrigin=function(p){var v=g._link;return v?(v.href=p,v.href=v.href,v.protocol+v.hostname+v.port):"about:blank"},g.isSameOrigin=function(p){return g.getOrigin(p)===g._origin},g.setContext=function(p){g._link=p.document.createElement("a"),g._origin=g.getOrigin(p.location.href)},g._origin="about:blank",g}(),HA=function(){function g(p,v){this.context=p,this._options=v,this._cache={}}return g.prototype.addImage=function(p){var v=Promise.resolve();return this.has(p)||(QA(p)||xv(p))&&(this._cache[p]=this.loadImage(p)).catch(function(){}),v},g.prototype.match=function(p){return this._cache[p]},g.prototype.loadImage=function(p){return te(this,void 0,void 0,function(){var v,_,E,k,Q=this;return m(this,function(J){switch(J.label){case 0:return v=eC.isSameOrigin(p),_=!Cv(p)&&!0===this._options.useCORS&&os.SUPPORT_CORS_IMAGES&&!v,E=!Cv(p)&&!v&&!QA(p)&&"string"==typeof this._options.proxy&&os.SUPPORT_CORS_XHR&&!_,v||!1!==this._options.allowTaint||Cv(p)||QA(p)||E||_?(k=p,E?[4,this.proxy(k)]:[3,2]):[2];case 1:k=J.sent(),J.label=2;case 2:return this.context.logger.debug("Added image "+p.substring(0,256)),[4,new Promise(function(Z,we){var ke=new Image;ke.onload=function(){return Z(ke)},ke.onerror=we,(nC(k)||_)&&(ke.crossOrigin="anonymous"),ke.src=k,!0===ke.complete&&setTimeout(function(){return Z(ke)},500),Q._options.imageTimeout>0&&setTimeout(function(){return we("Timed out ("+Q._options.imageTimeout+"ms) loading image")},Q._options.imageTimeout)})];case 3:return[2,J.sent()]}})})},g.prototype.has=function(p){return typeof this._cache[p]<"u"},g.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},g.prototype.proxy=function(p){var v=this,_=this._options.proxy;if(!_)throw new Error("No proxy defined");var E=p.substring(0,256);return new Promise(function(k,Q){var J=os.SUPPORT_RESPONSE_TYPE?"blob":"text",Z=new XMLHttpRequest;Z.onload=function(){if(200===Z.status)if("text"===J)k(Z.response);else{var Oe=new FileReader;Oe.addEventListener("load",function(){return k(Oe.result)},!1),Oe.addEventListener("error",function(ot){return Q(ot)},!1),Oe.readAsDataURL(Z.response)}else Q("Failed to proxy resource "+E+" with status code "+Z.status)},Z.onerror=Q;var we=_.indexOf("?")>-1?"&":"?";if(Z.open("GET",""+_+we+"url="+encodeURIComponent(p)+"&responseType="+J),"text"!==J&&Z instanceof XMLHttpRequest&&(Z.responseType=J),v._options.imageTimeout){var ke=v._options.imageTimeout;Z.timeout=ke,Z.ontimeout=function(){return Q("Timed out ("+ke+"ms) proxying "+E)}}Z.send()})},g}(),wv=/^data:image\/svg\+xml/i,tC=/^data:image\/.*;base64,/i,VA=/^data:image\/.*/i,xv=function(g){return os.SUPPORT_SVG_DRAWING||!iC(g)},Cv=function(g){return VA.test(g)},nC=function(g){return tC.test(g)},QA=function(g){return"blob"===g.substr(0,4)},iC=function(g){return"svg"===g.substr(-3).toLowerCase()||wv.test(g)},Zt=function(){function g(p,v){this.type=0,this.x=p,this.y=v}return g.prototype.add=function(p,v){return new g(this.x+p,this.y+v)},g}(),Lh=function(g,p,v){return new Zt(g.x+(p.x-g.x)*v,g.y+(p.y-g.y)*v)},ru=function(){function g(p,v,_,E){this.type=1,this.start=p,this.startControl=v,this.endControl=_,this.end=E}return g.prototype.subdivide=function(p,v){var _=Lh(this.start,this.startControl,p),E=Lh(this.startControl,this.endControl,p),k=Lh(this.endControl,this.end,p),Q=Lh(_,E,p),J=Lh(E,k,p),Z=Lh(Q,J,p);return v?new g(this.start,_,Q,Z):new g(Z,J,k,this.end)},g.prototype.add=function(p,v){return new g(this.start.add(p,v),this.startControl.add(p,v),this.endControl.add(p,v),this.end.add(p,v))},g.prototype.reverse=function(){return new g(this.end,this.endControl,this.startControl,this.start)},g}(),$o=function(g){return 1===g.type},BB=function(){return function g(p){var v=p.styles,_=p.bounds,E=lm(v.borderTopLeftRadius,_.width,_.height),k=E[0],Q=E[1],J=lm(v.borderTopRightRadius,_.width,_.height),Z=J[0],we=J[1],ke=lm(v.borderBottomRightRadius,_.width,_.height),Oe=ke[0],ot=ke[1],Ht=lm(v.borderBottomLeftRadius,_.width,_.height),Lt=Ht[0],Wt=Ht[1],fi=[];fi.push((k+Z)/_.width),fi.push((Lt+Oe)/_.width),fi.push((Q+Wt)/_.height),fi.push((we+ot)/_.height);var $t=Math.max.apply(Math,fi);$t>1&&(k/=$t,Q/=$t,Z/=$t,we/=$t,Oe/=$t,ot/=$t,Lt/=$t,Wt/=$t);var cn=_.width-Z,qi=_.height-ot,Ai=_.width-Oe,qn=_.height-Wt,tn=v.borderTopWidth,$i=v.borderRightWidth,Vi=v.borderBottomWidth,ti=v.borderLeftWidth,mo=tr(v.paddingTop,p.bounds.width),Ys=tr(v.paddingRight,p.bounds.width),ua=tr(v.paddingBottom,p.bounds.width),Ar=tr(v.paddingLeft,p.bounds.width);this.topLeftBorderDoubleOuterBox=k>0||Q>0?Br(_.left+ti/3,_.top+tn/3,k-ti/3,Q-tn/3,cr.TOP_LEFT):new Zt(_.left+ti/3,_.top+tn/3),this.topRightBorderDoubleOuterBox=k>0||Q>0?Br(_.left+cn,_.top+tn/3,Z-$i/3,we-tn/3,cr.TOP_RIGHT):new Zt(_.left+_.width-$i/3,_.top+tn/3),this.bottomRightBorderDoubleOuterBox=Oe>0||ot>0?Br(_.left+Ai,_.top+qi,Oe-$i/3,ot-Vi/3,cr.BOTTOM_RIGHT):new Zt(_.left+_.width-$i/3,_.top+_.height-Vi/3),this.bottomLeftBorderDoubleOuterBox=Lt>0||Wt>0?Br(_.left+ti/3,_.top+qn,Lt-ti/3,Wt-Vi/3,cr.BOTTOM_LEFT):new Zt(_.left+ti/3,_.top+_.height-Vi/3),this.topLeftBorderDoubleInnerBox=k>0||Q>0?Br(_.left+2*ti/3,_.top+2*tn/3,k-2*ti/3,Q-2*tn/3,cr.TOP_LEFT):new Zt(_.left+2*ti/3,_.top+2*tn/3),this.topRightBorderDoubleInnerBox=k>0||Q>0?Br(_.left+cn,_.top+2*tn/3,Z-2*$i/3,we-2*tn/3,cr.TOP_RIGHT):new Zt(_.left+_.width-2*$i/3,_.top+2*tn/3),this.bottomRightBorderDoubleInnerBox=Oe>0||ot>0?Br(_.left+Ai,_.top+qi,Oe-2*$i/3,ot-2*Vi/3,cr.BOTTOM_RIGHT):new Zt(_.left+_.width-2*$i/3,_.top+_.height-2*Vi/3),this.bottomLeftBorderDoubleInnerBox=Lt>0||Wt>0?Br(_.left+2*ti/3,_.top+qn,Lt-2*ti/3,Wt-2*Vi/3,cr.BOTTOM_LEFT):new Zt(_.left+2*ti/3,_.top+_.height-2*Vi/3),this.topLeftBorderStroke=k>0||Q>0?Br(_.left+ti/2,_.top+tn/2,k-ti/2,Q-tn/2,cr.TOP_LEFT):new Zt(_.left+ti/2,_.top+tn/2),this.topRightBorderStroke=k>0||Q>0?Br(_.left+cn,_.top+tn/2,Z-$i/2,we-tn/2,cr.TOP_RIGHT):new Zt(_.left+_.width-$i/2,_.top+tn/2),this.bottomRightBorderStroke=Oe>0||ot>0?Br(_.left+Ai,_.top+qi,Oe-$i/2,ot-Vi/2,cr.BOTTOM_RIGHT):new Zt(_.left+_.width-$i/2,_.top+_.height-Vi/2),this.bottomLeftBorderStroke=Lt>0||Wt>0?Br(_.left+ti/2,_.top+qn,Lt-ti/2,Wt-Vi/2,cr.BOTTOM_LEFT):new Zt(_.left+ti/2,_.top+_.height-Vi/2),this.topLeftBorderBox=k>0||Q>0?Br(_.left,_.top,k,Q,cr.TOP_LEFT):new Zt(_.left,_.top),this.topRightBorderBox=Z>0||we>0?Br(_.left+cn,_.top,Z,we,cr.TOP_RIGHT):new Zt(_.left+_.width,_.top),this.bottomRightBorderBox=Oe>0||ot>0?Br(_.left+Ai,_.top+qi,Oe,ot,cr.BOTTOM_RIGHT):new Zt(_.left+_.width,_.top+_.height),this.bottomLeftBorderBox=Lt>0||Wt>0?Br(_.left,_.top+qn,Lt,Wt,cr.BOTTOM_LEFT):new Zt(_.left,_.top+_.height),this.topLeftPaddingBox=k>0||Q>0?Br(_.left+ti,_.top+tn,Math.max(0,k-ti),Math.max(0,Q-tn),cr.TOP_LEFT):new Zt(_.left+ti,_.top+tn),this.topRightPaddingBox=Z>0||we>0?Br(_.left+Math.min(cn,_.width-$i),_.top+tn,cn>_.width+$i?0:Math.max(0,Z-$i),Math.max(0,we-tn),cr.TOP_RIGHT):new Zt(_.left+_.width-$i,_.top+tn),this.bottomRightPaddingBox=Oe>0||ot>0?Br(_.left+Math.min(Ai,_.width-ti),_.top+Math.min(qi,_.height-Vi),Math.max(0,Oe-$i),Math.max(0,ot-Vi),cr.BOTTOM_RIGHT):new Zt(_.left+_.width-$i,_.top+_.height-Vi),this.bottomLeftPaddingBox=Lt>0||Wt>0?Br(_.left+ti,_.top+Math.min(qn,_.height-Vi),Math.max(0,Lt-ti),Math.max(0,Wt-Vi),cr.BOTTOM_LEFT):new Zt(_.left+ti,_.top+_.height-Vi),this.topLeftContentBox=k>0||Q>0?Br(_.left+ti+Ar,_.top+tn+mo,Math.max(0,k-(ti+Ar)),Math.max(0,Q-(tn+mo)),cr.TOP_LEFT):new Zt(_.left+ti+Ar,_.top+tn+mo),this.topRightContentBox=Z>0||we>0?Br(_.left+Math.min(cn,_.width+ti+Ar),_.top+tn+mo,cn>_.width+ti+Ar?0:Z-ti+Ar,we-(tn+mo),cr.TOP_RIGHT):new Zt(_.left+_.width-($i+Ys),_.top+tn+mo),this.bottomRightContentBox=Oe>0||ot>0?Br(_.left+Math.min(Ai,_.width-(ti+Ar)),_.top+Math.min(qi,_.height+tn+mo),Math.max(0,Oe-($i+Ys)),ot-(Vi+ua),cr.BOTTOM_RIGHT):new Zt(_.left+_.width-($i+Ys),_.top+_.height-(Vi+ua)),this.bottomLeftContentBox=Lt>0||Wt>0?Br(_.left+ti+Ar,_.top+qn,Math.max(0,Lt-(ti+Ar)),Wt-(Vi+ua),cr.BOTTOM_LEFT):new Zt(_.left+ti+Ar,_.top+_.height-(Vi+ua))}}(),cr=function(g){return g[g.TOP_LEFT=0]="TOP_LEFT",g[g.TOP_RIGHT=1]="TOP_RIGHT",g[g.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",g[g.BOTTOM_LEFT=3]="BOTTOM_LEFT",g}(cr||{}),Br=function(g,p,v,_,E){var k=(Math.sqrt(2)-1)/3*4,Q=v*k,J=_*k,Z=g+v,we=p+_;switch(E){case cr.TOP_LEFT:return new ru(new Zt(g,we),new Zt(g,we-J),new Zt(Z-Q,p),new Zt(Z,p));case cr.TOP_RIGHT:return new ru(new Zt(g,p),new Zt(g+Q,p),new Zt(Z,we-J),new Zt(Z,we));case cr.BOTTOM_RIGHT:return new ru(new Zt(Z,p),new Zt(Z,p+J),new Zt(g+Q,we),new Zt(g,we));default:return new ru(new Zt(Z,we),new Zt(Z-Q,we),new Zt(g,p+J),new Zt(g,p))}},rl=function(g){return[g.topLeftBorderBox,g.topRightBorderBox,g.bottomRightBorderBox,g.bottomLeftBorderBox]},oo=function(g){return[g.topLeftPaddingBox,g.topRightPaddingBox,g.bottomRightPaddingBox,g.bottomLeftPaddingBox]},IB=function(){return function g(p,v,_){this.offsetX=p,this.offsetY=v,this.matrix=_,this.type=0,this.target=6}}(),pr=function(){return function g(p,v){this.path=p,this.target=v,this.type=1}}(),Ev=function(){return function g(p){this.opacity=p,this.type=2,this.target=6}}(),Mv=function(g){return 1===g.type},rC=function(g,p){return g.length===p.length&&g.some(function(v,_){return v===p[_]})},zA=function(){return function g(p){this.element=p,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}}(),Sm=function(){function g(p,v){if(this.container=p,this.parent=v,this.effects=[],this.curves=new BB(this.container),this.container.styles.opacity<1&&this.effects.push(new Ev(this.container.styles.opacity)),null!==this.container.styles.transform&&this.effects.push(new IB(this.container.bounds.left+this.container.styles.transformOrigin[0].number,this.container.bounds.top+this.container.styles.transformOrigin[1].number,this.container.styles.transform)),0!==this.container.styles.overflowX){var Q=rl(this.curves),J=oo(this.curves);rC(Q,J)?this.effects.push(new pr(Q,6)):(this.effects.push(new pr(Q,2)),this.effects.push(new pr(J,4)))}}return g.prototype.getEffects=function(p){for(var v=-1===[2,3].indexOf(this.container.styles.position),_=this.parent,E=this.effects.slice(0);_;){var k=_.effects.filter(function(Z){return!Mv(Z)});if(v||0!==_.container.styles.position||!_.parent){if(E.unshift.apply(E,k),v=-1===[2,3].indexOf(_.container.styles.position),0!==_.container.styles.overflowX){var Q=rl(_.curves),J=oo(_.curves);rC(Q,J)||E.unshift(new pr(J,6))}}else E.unshift.apply(E,k);_=_.parent}return E.filter(function(Z){return wo(Z.target,p)})},g}(),GA=function(g,p,v,_){g.container.elements.forEach(function(E){var k=wo(E.flags,4),Q=wo(E.flags,2),J=new Sm(E,g);wo(E.styles.display,2048)&&_.push(J);var Z=wo(E.flags,8)?[]:_;if(k||Q){var we=k||E.styles.isPositioned()?v:p,ke=new zA(J);if(E.styles.isPositioned()||E.styles.opacity<1||E.styles.isTransformed()){var Oe=E.styles.zIndex.order;if(Oe<0){var ot=0;we.negativeZIndex.some(function(Lt,Wt){return Oe>Lt.element.container.styles.zIndex.order?(ot=Wt,!1):ot>0}),we.negativeZIndex.splice(ot,0,ke)}else if(Oe>0){var Ht=0;we.positiveZIndex.some(function(Lt,Wt){return Oe>=Lt.element.container.styles.zIndex.order?(Ht=Wt+1,!1):Ht>0}),we.positiveZIndex.splice(Ht,0,ke)}else we.zeroOrAutoZIndexOrTransformedOrOpacity.push(ke)}else E.styles.isFloating()?we.nonPositionedFloats.push(ke):we.nonPositionedInlineLevel.push(ke);GA(J,ke,k?ke:v,Z)}else E.styles.isInlineLevel()?p.inlineLevel.push(J):p.nonInlineLevel.push(J),GA(J,p,v,Z);wo(E.flags,8)&&sC(E,Z)})},sC=function(g,p){for(var v=g instanceof sv?g.start:1,_=g instanceof sv&&g.reversed,E=0;E"u"?g[0]:v},hC=function(g,p,v,_,E){var k=p[0],Q=p[1],J=v[0],Z=v[1];switch(g){case 2:return[new Zt(Math.round(_.left),Math.round(_.top+Q)),new Zt(Math.round(_.left+_.width),Math.round(_.top+Q)),new Zt(Math.round(_.left+_.width),Math.round(Z+_.top+Q)),new Zt(Math.round(_.left),Math.round(Z+_.top+Q))];case 3:return[new Zt(Math.round(_.left+k),Math.round(_.top)),new Zt(Math.round(_.left+k+J),Math.round(_.top)),new Zt(Math.round(_.left+k+J),Math.round(_.height+_.top)),new Zt(Math.round(_.left+k),Math.round(_.height+_.top))];case 1:return[new Zt(Math.round(_.left+k),Math.round(_.top+Q)),new Zt(Math.round(_.left+k+J),Math.round(_.top+Q)),new Zt(Math.round(_.left+k+J),Math.round(_.top+Q+Z)),new Zt(Math.round(_.left+k),Math.round(_.top+Q+Z))];default:return[new Zt(Math.round(E.left),Math.round(E.top)),new Zt(Math.round(E.left+E.width),Math.round(E.top)),new Zt(Math.round(E.left+E.width),Math.round(E.height+E.top)),new Zt(Math.round(E.left),Math.round(E.height+E.top))]}},fC="Hidden Text",OB=function(){function g(p){this._data={},this._document=p}return g.prototype.parseMetrics=function(p,v){var _=this._document.createElement("div"),E=this._document.createElement("img"),k=this._document.createElement("span"),Q=this._document.body;_.style.visibility="hidden",_.style.fontFamily=p,_.style.fontSize=v,_.style.margin="0",_.style.padding="0",_.style.whiteSpace="nowrap",Q.appendChild(_),E.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",E.width=1,E.height=1,E.style.margin="0",E.style.padding="0",E.style.verticalAlign="baseline",k.style.fontFamily=p,k.style.fontSize=v,k.style.margin="0",k.style.padding="0",k.appendChild(this._document.createTextNode(fC)),_.appendChild(k),_.appendChild(E);var J=E.offsetTop-k.offsetTop+2;_.removeChild(k),_.appendChild(this._document.createTextNode(fC)),_.style.lineHeight="normal",E.style.verticalAlign="super";var Z=E.offsetTop-_.offsetTop+2;return Q.removeChild(_),{baseline:J,middle:Z}},g.prototype.getMetrics=function(p,v){var _=p+" "+v;return typeof this._data[_]>"u"&&(this._data[_]=this.parseMetrics(p,v)),this._data[_]},g}(),Tv=function(){return function g(p,v){this.context=p,this.options=v}}(),tH=function(g){function p(v,_){var E=g.call(this,v,_)||this;return E._activeEffects=[],E.canvas=_.canvas?_.canvas:document.createElement("canvas"),E.ctx=E.canvas.getContext("2d"),_.canvas||(E.canvas.width=Math.floor(_.width*_.scale),E.canvas.height=Math.floor(_.height*_.scale),E.canvas.style.width=_.width+"px",E.canvas.style.height=_.height+"px"),E.fontMetrics=new OB(document),E.ctx.scale(E.options.scale,E.options.scale),E.ctx.translate(-_.x,-_.y),E.ctx.textBaseline="bottom",E._activeEffects=[],E.context.logger.debug("Canvas renderer initialized ("+_.width+"x"+_.height+") with scale "+_.scale),E}return A(p,g),p.prototype.applyEffects=function(v){for(var _=this;this._activeEffects.length;)this.popEffect();v.forEach(function(E){return _.applyEffect(E)})},p.prototype.applyEffect=function(v){this.ctx.save(),function(g){return 2===g.type}(v)&&(this.ctx.globalAlpha=v.opacity),function(g){return 0===g.type}(v)&&(this.ctx.translate(v.offsetX,v.offsetY),this.ctx.transform(v.matrix[0],v.matrix[1],v.matrix[2],v.matrix[3],v.matrix[4],v.matrix[5]),this.ctx.translate(-v.offsetX,-v.offsetY)),Mv(v)&&(this.path(v.path),this.ctx.clip()),this._activeEffects.push(v)},p.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},p.prototype.renderStack=function(v){return te(this,void 0,void 0,function(){return m(this,function(E){switch(E.label){case 0:return v.element.container.styles.isVisible()?[4,this.renderStackContent(v)]:[3,2];case 1:E.sent(),E.label=2;case 2:return[2]}})})},p.prototype.renderNode=function(v){return te(this,void 0,void 0,function(){return m(this,function(_){switch(_.label){case 0:return wo(v.container.flags,16),v.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(v)]:[3,3];case 1:return _.sent(),[4,this.renderNodeContent(v)];case 2:_.sent(),_.label=3;case 3:return[2]}})})},p.prototype.renderTextWithLetterSpacing=function(v,_,E){var k=this;0===_?this.ctx.fillText(v.text,v.bounds.left,v.bounds.top+E):Th(v.text).reduce(function(J,Z){return k.ctx.fillText(Z,J,v.bounds.top+E),J+k.ctx.measureText(Z).width},v.bounds.left)},p.prototype.createFontStyle=function(v){var _=v.fontVariant.filter(function(Q){return"normal"===Q||"small-caps"===Q}).join(""),E=Oh(v.fontFamily).join(", "),k=Fa(v.fontSize)?""+v.fontSize.number+v.fontSize.unit:v.fontSize.number+"px";return[[v.fontStyle,_,v.fontWeight,k,E].join(" "),E,k]},p.prototype.renderTextNode=function(v,_){return te(this,void 0,void 0,function(){var E,Q,J,Z,we,ke,Oe,ot=this;return m(this,function(Ht){return E=this.createFontStyle(_),Q=E[1],J=E[2],this.ctx.font=E[0],this.ctx.direction=1===_.direction?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",Z=this.fontMetrics.getMetrics(Q,J),we=Z.baseline,ke=Z.middle,Oe=_.paintOrder,v.textBounds.forEach(function(Lt){Oe.forEach(function(Wt){switch(Wt){case 0:ot.ctx.fillStyle=or(_.color),ot.renderTextWithLetterSpacing(Lt,_.letterSpacing,we);var fi=_.textShadow;fi.length&&Lt.text.trim().length&&(fi.slice(0).reverse().forEach(function($t){ot.ctx.shadowColor=or($t.color),ot.ctx.shadowOffsetX=$t.offsetX.number*ot.options.scale,ot.ctx.shadowOffsetY=$t.offsetY.number*ot.options.scale,ot.ctx.shadowBlur=$t.blur.number,ot.renderTextWithLetterSpacing(Lt,_.letterSpacing,we)}),ot.ctx.shadowColor="",ot.ctx.shadowOffsetX=0,ot.ctx.shadowOffsetY=0,ot.ctx.shadowBlur=0),_.textDecorationLine.length&&(ot.ctx.fillStyle=or(_.textDecorationColor||_.color),_.textDecorationLine.forEach(function($t){switch($t){case 1:ot.ctx.fillRect(Lt.bounds.left,Math.round(Lt.bounds.top+we),Lt.bounds.width,1);break;case 2:ot.ctx.fillRect(Lt.bounds.left,Math.round(Lt.bounds.top),Lt.bounds.width,1);break;case 3:ot.ctx.fillRect(Lt.bounds.left,Math.ceil(Lt.bounds.top+ke),Lt.bounds.width,1)}}));break;case 1:_.webkitTextStrokeWidth&&Lt.text.trim().length&&(ot.ctx.strokeStyle=or(_.webkitTextStrokeColor),ot.ctx.lineWidth=_.webkitTextStrokeWidth,ot.ctx.lineJoin=window.chrome?"miter":"round",ot.ctx.strokeText(Lt.text,Lt.bounds.left,Lt.bounds.top+we)),ot.ctx.strokeStyle="",ot.ctx.lineWidth=0,ot.ctx.lineJoin="miter"}})}),[2]})})},p.prototype.renderReplacedElement=function(v,_,E){if(E&&v.intrinsicWidth>0&&v.intrinsicHeight>0){var k=km(v),Q=oo(_);this.path(Q),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(E,0,0,v.intrinsicWidth,v.intrinsicHeight,k.left,k.top,k.width,k.height),this.ctx.restore()}},p.prototype.renderNodeContent=function(v){return te(this,void 0,void 0,function(){var _,E,k,Q,J,ke,Oe,ot,Lt,Wt,fi,$t,cn,qi,Ai,qn;return m(this,function(tn){switch(tn.label){case 0:this.applyEffects(v.getEffects(4)),E=v.curves,k=(_=v.container).styles,Q=0,J=_.textNodes,tn.label=1;case 1:return Q0&&sl>0&&(Zl=k.ctx.createRadialGradient(Ys+Ps,ua+Os,0,Ys+Ps,ua+Os,dc),Ia(ke.stops,2*dc).forEach(function(Uh){return Zl.addColorStop(Uh.stop,or(Uh.color))}),k.path(mo),k.ctx.fillStyle=Zl,dc!==sl?(Jl=v.bounds.left+.5*v.bounds.width,al=v.bounds.top+.5*v.bounds.height,cl=1/(au=sl/dc),k.ctx.save(),k.ctx.translate(Jl,al),k.ctx.transform(1,0,0,au,0,0),k.ctx.translate(-Jl,-al),k.ctx.fillRect(Ys,cl*(ua-al)+al,Ar,as*cl),k.ctx.restore()):k.ctx.fill())):(Lt=uC(v,_,[null,null,null]),mo=Lt[0],Ps=Lt[1],Os=Lt[2],Wt=zF(ke.angle,Ar=Lt[3],as=Lt[4]),fi=Wt[0],$t=Wt[1],cn=Wt[2],qi=Wt[3],Ai=Wt[4],(qn=document.createElement("canvas")).width=Ar,qn.height=as,tn=qn.getContext("2d"),$i=tn.createLinearGradient($t,qi,cn,Ai),Ia(ke.stops,fi).forEach(function(Uh){return $i.addColorStop(Uh.stop,or(Uh.color))}),tn.fillStyle=$i,tn.fillRect(0,0,Ar,as),Ar>0&&as>0&&(Vi=k.ctx.createPattern(qn,"repeat"),k.renderRepeat(mo,Vi,Ps,Os))),Nh.label=6;case 6:return _--,[2]}})},k=this,Q=0,J=v.styles.backgroundImage.slice(0).reverse(),we.label=1;case 1:return Q0?2!==ke.style?[3,5]:[4,this.renderDashedDottedBorder(ke.color,ke.width,J,v.curves,2)]:[3,11]:[3,13];case 4:return ot.sent(),[3,11];case 5:return 3!==ke.style?[3,7]:[4,this.renderDashedDottedBorder(ke.color,ke.width,J,v.curves,3)];case 6:return ot.sent(),[3,11];case 7:return 4!==ke.style?[3,9]:[4,this.renderDoubleBorder(ke.color,ke.width,J,v.curves)];case 8:return ot.sent(),[3,11];case 9:return[4,this.renderSolidBorder(ke.color,J,v.curves)];case 10:ot.sent(),ot.label=11;case 11:J++,ot.label=12;case 12:return Z++,[3,3];case 13:return[2]}})})},p.prototype.renderDashedDottedBorder=function(v,_,E,k,Q){return te(this,void 0,void 0,function(){var J,Z,we,ke,Oe,ot,Ht,Lt,Wt,fi,$t,cn,qi,Ai,qn,tn;return m(this,function($i){return this.ctx.save(),J=function(g,p){switch(p){case 0:return WA(g.topLeftBorderStroke,g.topRightBorderStroke);case 1:return WA(g.topRightBorderStroke,g.bottomRightBorderStroke);case 2:return WA(g.bottomRightBorderStroke,g.bottomLeftBorderStroke);default:return WA(g.bottomLeftBorderStroke,g.topLeftBorderStroke)}}(k,E),Z=aC(k,E),2===Q&&(this.path(Z),this.ctx.clip()),$o(Z[0])?(we=Z[0].start.x,ke=Z[0].start.y):(we=Z[0].x,ke=Z[0].y),$o(Z[1])?(Oe=Z[1].end.x,ot=Z[1].end.y):(Oe=Z[1].x,ot=Z[1].y),Ht=0===E||2===E?Math.abs(we-Oe):Math.abs(ke-ot),this.ctx.beginPath(),this.formatPath(3===Q?J:Z.slice(0,2)),Lt=_<3?3*_:2*_,Wt=_<3?2*_:_,3===Q&&(Lt=_,Wt=_),fi=!0,Ht<=2*Lt?fi=!1:Ht<=2*Lt+Wt?(Lt*=$t=Ht/(2*Lt+Wt),Wt*=$t):(cn=Math.floor((Ht+Wt)/(Lt+Wt)),qi=(Ht-cn*Lt)/(cn-1),Wt=(Ai=(Ht-(cn+1)*Lt)/cn)<=0||Math.abs(Wt-qi){function At(Le){return Array.isArray(Le)?Le:[Le]}const m=/^\s+$/,de=/(?:[^\\]|^)\\$/,H=/^\\!/,U=/^\\#/,G=/\r?\n/g,B=/^\.*\/|^\.+$/;let I="node-ignore";typeof Symbol<"u"&&(I=Symbol.for("node-ignore"));const V=I,z=/([0-z])-([0-z])/g,q=()=>!1,Ne=[[/^\uFEFF/,()=>""],[/\\?\s+$/,Le=>0===Le.indexOf("\\")?" ":""],[/\\\s/g,()=>" "],[/[\\$.|*+(){^]/g,Le=>`\\${Le}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(Le,ze,et)=>ze+6ze+et.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(Le,ze,et,bt,xt)=>"\\"===ze?`\\[${et}${(Le=>{const{length:ze}=Le;return Le.slice(0,ze-ze%2)})(bt)}${xt}`:"]"===xt&&bt.length%2==0?`[${(Le=>Le.replace(z,(ze,et,bt)=>et.charCodeAt(0)<=bt.charCodeAt(0)?ze:""))(et)}${bt}]`:"[]"],[/(?:[^*])$/,Le=>/\/$/.test(Le)?`${Le}$`:`${Le}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(Le,ze)=>(ze?`${ze}[^/]+`:"[^/]*")+"(?=$|\\/$)"]],ye=Object.create(null),qe=Le=>"string"==typeof Le;class it{constructor(ze,et,bt,xt){this.origin=ze,this.pattern=et,this.negative=bt,this.regex=xt}}const lt=(Le,ze)=>{throw new ze(Le)},Je=(Le,ze,et)=>qe(Le)?Le?!Je.isNotRelative(Le)||et(`path should be a \`path.relative()\`d string, but got "${ze}"`,RangeError):et("path must not be empty",TypeError):et(`path must be a string, but got \`${ze}\``,TypeError),Ce=Le=>B.test(Le);Je.isNotRelative=Ce,Je.convert=Le=>Le;class he{constructor({ignorecase:ze=!0,ignoreCase:et=ze,allowRelativePaths:bt=!1}={}){((Le,ze,et)=>{Object.defineProperty(this,ze,{value:!0})})(0,V),this._rules=[],this._ignoreCase=et,this._allowRelativePaths=bt,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(ze){if(ze&&ze[V])return this._rules=this._rules.concat(ze._rules),void(this._added=!0);if((Le=ze)&&qe(Le)&&!m.test(Le)&&!de.test(Le)&&0!==Le.indexOf("#")){const et=((Le,ze)=>{const et=Le;let bt=!1;0===Le.indexOf("!")&&(bt=!0,Le=Le.substr(1));const xt=((Le,ze)=>{let et=ye[Le];return et||(et=Ne.reduce((bt,xt)=>bt.replace(xt[0],xt[1].bind(Le)),Le),ye[Le]=et),ze?new RegExp(et,"i"):new RegExp(et)})(Le=Le.replace(H,"!").replace(U,"#"),ze);return new it(et,Le,bt,xt)})(ze,this._ignoreCase);this._added=!0,this._rules.push(et)}var Le}add(ze){return this._added=!1,At(qe(ze)?(Le=ze,Le.split(G)):ze).forEach(this._addPattern,this),this._added&&this._initCache(),this;var Le}addPattern(ze){return this.add(ze)}_testOne(ze,et){let bt=!1,xt=!1;return this._rules.forEach(on=>{const{negative:Sn}=on;xt===Sn&&bt!==xt||Sn&&!bt&&!xt&&!et||on.regex.test(ze)&&(bt=!Sn,xt=Sn)}),{ignored:bt,unignored:xt}}_test(ze,et,bt,xt){const on=ze&&Je.convert(ze);return Je(on,ze,this._allowRelativePaths?q:lt),this._t(on,et,bt,xt)}_t(ze,et,bt,xt){if(ze in et)return et[ze];if(xt||(xt=ze.split("/")),xt.pop(),!xt.length)return et[ze]=this._testOne(ze,bt);const on=this._t(xt.join("/")+"/",et,bt,xt);return et[ze]=on.ignored?on:this._testOne(ze,bt)}ignores(ze){return this._test(ze,this._ignoreCache,!1).ignored}createFilter(){return ze=>!this.ignores(ze)}filter(ze){return At(ze).filter(this.createFilter())}test(ze){return this._test(ze,this._testCache,!0)}}const Qe=Le=>new he(Le);if(Qe.isPathValid=Le=>Je(Le&&Je.convert(Le),Le,q),Qe.default=Qe,ct.exports=Qe,typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||"win32"===process.platform)){Je.convert=et=>/^\\\\\?\\/.test(et)||/["<>|\u0000-\u001F]+/u.test(et)?et:et.replace(/\\/g,"/");const ze=/^[a-z]:\//i;Je.isNotRelative=et=>ze.test(et)||Ce(et)}},8749:ct=>{function At(K){return!!K.constructor&&"function"==typeof K.constructor.isBuffer&&K.constructor.isBuffer(K)}ct.exports=function(K){return null!=K&&(At(K)||function A(K){return"function"==typeof K.readFloatLE&&"function"==typeof K.slice&&At(K.slice(0,0))}(K)||!!K._isBuffer)}},4331:ct=>{"use strict";var At=ct.exports=function(te,m,de){"function"==typeof m&&(de=m,m={}),A(m,"function"==typeof(de=m.cb||de)?de:de.pre||function(){},de.post||function(){},te,"",te)};function A(te,m,de,H,U,G,B,O,I,V){if(H&&"object"==typeof H&&!Array.isArray(H)){for(var F in m(H,U,G,B,O,I,V),H){var z=H[F];if(Array.isArray(z)){if(F in At.arrayKeywords)for(var q=0;q{var K,te,m,de,H;K=A(9928),te=A(7468).utf8,m=A(8749),de=A(7468).bin,(H=function(U,G){U.constructor==String?U=G&&"binary"===G.encoding?de.stringToBytes(U):te.stringToBytes(U):m(U)?U=Array.prototype.slice.call(U,0):!Array.isArray(U)&&U.constructor!==Uint8Array&&(U=U.toString());for(var B=K.bytesToWords(U),O=8*U.length,I=1732584193,V=-271733879,F=-1732584194,z=271733878,q=0;q>>24)|4278255360&(B[q]<<24|B[q]>>>8);B[O>>>5]|=128<>>9<<4)]=O;var X=H._ff,pe=H._gg,Ne=H._hh,ye=H._ii;for(q=0;q>>0,V=V+qe>>>0,F=F+xe>>>0,z=z+We>>>0}return K.endian([I,V,F,z])})._ff=function(U,G,B,O,I,V,F){var z=U+(G&B|~G&O)+(I>>>0)+F;return(z<>>32-V)+G},H._gg=function(U,G,B,O,I,V,F){var z=U+(G&O|B&~O)+(I>>>0)+F;return(z<>>32-V)+G},H._hh=function(U,G,B,O,I,V,F){var z=U+(G^B^O)+(I>>>0)+F;return(z<>>32-V)+G},H._ii=function(U,G,B,O,I,V,F){var z=U+(B^(G|~O))+(I>>>0)+F;return(z<>>32-V)+G},H._blocksize=16,H._digestsize=16,ct.exports=function(U,G){if(null==U)throw new Error("Illegal argument "+U);var B=K.wordsToBytes(H(U,G));return G&&G.asBytes?B:G&&G.asString?de.bytesToString(B):K.bytesToHex(B)}},4999:(ct,At)=>{"use strict";const{hasOwnProperty:A}=Object.prototype,K=q();K.configure=q,K.stringify=K,K.default=K,At.stringify=K,At.configure=q,ct.exports=K;const te=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function m(X){return X.length<5e3&&!te.test(X)?`"${X}"`:JSON.stringify(X)}function de(X){if(X.length>200)return X.sort();for(let pe=1;peNe;)X[ye]=X[ye-1],ye--;X[ye]=Ne}return X}const H=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function U(X){return void 0!==H.call(X)&&0!==X.length}function G(X,pe,Ne){X.length= 1`)}return void 0===Ne?1/0:Ne}function V(X){return 1===X?"1 item":`${X} items`}function q(X){const pe=function z(X){if(A.call(X,"strict")){const pe=X.strict;if("boolean"!=typeof pe)throw new TypeError('The "strict" argument must be of type boolean');if(pe)return Ne=>{let ye="Object can not safely be stringified. Received type "+typeof Ne;throw"function"!=typeof Ne&&(ye+=` (${Ne.toString()})`),new Error(ye)}}}(X={...X});pe&&(void 0===X.bigint&&(X.bigint=!1),"circularValue"in X||(X.circularValue=Error));const Ne=function B(X){if(A.call(X,"circularValue")){const pe=X.circularValue;if("string"==typeof pe)return`"${pe}"`;if(null==pe)return pe;if(pe===Error||pe===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}(X),ye=O(X,"bigint"),Ge=O(X,"deterministic"),qe=I(X,"maximumDepth"),xe=I(X,"maximumBreadth");function We(Ce,he,Qe,Ye,Le,ze){let et=he[Ce];switch("object"==typeof et&&null!==et&&"function"==typeof et.toJSON&&(et=et.toJSON(Ce)),et=Ye.call(he,Ce,et),typeof et){case"string":return m(et);case"object":{if(null===et)return"null";if(-1!==Qe.indexOf(et))return Ne;let bt="",xt=",";const on=ze;if(Array.isArray(et)){if(0===et.length)return"[]";if(qexe&&(bt+=`${xt}"... ${V(et.length-xe-1)} not stringified"`),""!==Le&&(bt+=`\n${on}`),Qe.pop(),`[${bt}]`}let Sn=Object.keys(et);const li=Sn.length;if(0===li)return"{}";if(qexe&&(bt+=`${Ei}"...":${On}"${V(li-xe)} not stringified"`,Ei=xt),""!==Le&&Ei.length>1&&(bt=`\n${ze}${bt}\n${on}`),Qe.pop(),`{${bt}}`}case"number":return isFinite(et)?String(et):pe?pe(et):"null";case"boolean":return!0===et?"true":"false";case"undefined":return;case"bigint":if(ye)return String(et);default:return pe?pe(et):void 0}}function it(Ce,he,Qe,Ye,Le,ze){switch("object"==typeof he&&null!==he&&"function"==typeof he.toJSON&&(he=he.toJSON(Ce)),typeof he){case"string":return m(he);case"object":{if(null===he)return"null";if(-1!==Qe.indexOf(he))return Ne;const et=ze;let bt="",xt=",";if(Array.isArray(he)){if(0===he.length)return"[]";if(qexe&&(bt+=`${xt}"... ${V(he.length-xe-1)} not stringified"`),""!==Le&&(bt+=`\n${et}`),Qe.pop(),`[${bt}]`}Qe.push(he);let on="";""!==Le&&(xt=`,\n${ze+=Le}`,on=" ");let Sn="";for(const li of Ye){const On=it(li,he[li],Qe,Ye,Le,ze);void 0!==On&&(bt+=`${Sn}${m(li)}:${on}${On}`,Sn=xt)}return""!==Le&&Sn.length>1&&(bt=`\n${ze}${bt}\n${et}`),Qe.pop(),`{${bt}}`}case"number":return isFinite(he)?String(he):pe?pe(he):"null";case"boolean":return!0===he?"true":"false";case"undefined":return;case"bigint":if(ye)return String(he);default:return pe?pe(he):void 0}}function Ue(Ce,he,Qe,Ye,Le){switch(typeof he){case"string":return m(he);case"object":{if(null===he)return"null";if("function"==typeof he.toJSON){if("object"!=typeof(he=he.toJSON(Ce)))return Ue(Ce,he,Qe,Ye,Le);if(null===he)return"null"}if(-1!==Qe.indexOf(he))return Ne;const ze=Le;if(Array.isArray(he)){if(0===he.length)return"[]";if(qexe&&(On+=`${Ei}"... ${V(he.length-xe-1)} not stringified"`),On+=`\n${ze}`,Qe.pop(),`[${On}]`}let et=Object.keys(he);const bt=et.length;if(0===bt)return"{}";if(qexe&&(on+=`${Sn}"...": "${V(bt-xe)} not stringified"`,Sn=xt),""!==Sn&&(on=`\n${Le}${on}\n${ze}`),Qe.pop(),`{${on}}`}case"number":return isFinite(he)?String(he):pe?pe(he):"null";case"boolean":return!0===he?"true":"false";case"undefined":return;case"bigint":if(ye)return String(he);default:return pe?pe(he):void 0}}function lt(Ce,he,Qe){switch(typeof he){case"string":return m(he);case"object":{if(null===he)return"null";if("function"==typeof he.toJSON){if("object"!=typeof(he=he.toJSON(Ce)))return lt(Ce,he,Qe);if(null===he)return"null"}if(-1!==Qe.indexOf(he))return Ne;let Ye="";if(Array.isArray(he)){if(0===he.length)return"[]";if(qexe&&(Ye+=`,"... ${V(he.length-xe-1)} not stringified"`),Qe.pop(),`[${Ye}]`}let Le=Object.keys(he);const ze=Le.length;if(0===ze)return"{}";if(qexe&&(Ye+=`${et}"...":"${V(ze-xe)} not stringified"`),Qe.pop(),`{${Ye}}`}case"number":return isFinite(he)?String(he):pe?pe(he):"null";case"boolean":return!0===he?"true":"false";case"undefined":return;case"bigint":if(ye)return String(he);default:return pe?pe(he):void 0}}return function Je(Ce,he,Qe){if(arguments.length>1){let Ye="";if("number"==typeof Qe?Ye=" ".repeat(Math.min(Qe,10)):"string"==typeof Qe&&(Ye=Qe.slice(0,10)),null!=he){if("function"==typeof he)return We("",{"":Ce},[],he,Ye,"");if(Array.isArray(he))return it("",Ce,[],function F(X){const pe=new Set;for(const Ne of X)("string"==typeof Ne||"number"==typeof Ne)&&pe.add(String(Ne));return pe}(he),Ye,"")}if(0!==Ye.length)return Ue("",Ce,[],Ye,"")}return lt("",Ce,[])}}},9146:ct=>{ct.exports=function(At){function A(K,te){var je,ui,Nr,Ur,Fs;this.object=K,this.domElement=void 0!==te?te:document,this.enabled=!0,this.target=new At.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:At.MOUSE.LEFT,ZOOM:At.MOUSE.MIDDLE,PAN:At.MOUSE.RIGHT},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=function(){return I.phi},this.getAzimuthalAngle=function(){return I.theta},this.reset=function(){m.target.copy(m.target0),m.object.position.copy(m.position0),m.object.zoom=m.zoom0,m.object.updateProjectionMatrix(),m.dispatchEvent(de),m.update(),B=G.NONE},this.update=(je=new At.Vector3,ui=(new At.Quaternion).setFromUnitVectors(K.up,new At.Vector3(0,1,0)),Nr=ui.clone().inverse(),Ur=new At.Vector3,Fs=new At.Quaternion,function(){var ps=m.object.position;return je.copy(ps).sub(m.target),je.applyQuaternion(ui),I.setFromVector3(je),m.autoRotate&&B===G.NONE&&Je(function Ue(){return 2*Math.PI/60/60*m.autoRotateSpeed}()),I.theta+=V.theta,I.phi+=V.phi,I.theta=Math.max(m.minAzimuthAngle,Math.min(m.maxAzimuthAngle,I.theta)),I.phi=Math.max(m.minPolarAngle,Math.min(m.maxPolarAngle,I.phi)),I.makeSafe(),I.radius*=F,I.radius=Math.max(m.minDistance,Math.min(m.maxDistance,I.radius)),m.target.add(z),je.setFromSpherical(I),je.applyQuaternion(Nr),ps.copy(m.target).add(je),m.object.lookAt(m.target),!0===m.enableDamping?(V.theta*=1-m.dampingFactor,V.phi*=1-m.dampingFactor):V.set(0,0,0),F=1,z.set(0,0,0),!!(q||Ur.distanceToSquared(m.object.position)>O||8*(1-Fs.dot(m.object.quaternion))>O)&&(m.dispatchEvent(de),Ur.copy(m.object.position),Fs.copy(m.object.quaternion),q=!1,!0)}),this.dispose=function(){m.domElement.removeEventListener("contextmenu",Gi,!1),m.domElement.removeEventListener("mousedown",xn,!1),m.domElement.removeEventListener("wheel",Ji,!1),m.domElement.removeEventListener("touchstart",zt,!1),m.domElement.removeEventListener("touchend",Tr,!1),m.domElement.removeEventListener("touchmove",Yr,!1),document.removeEventListener("mousemove",Yt,!1),document.removeEventListener("mouseup",yi,!1),window.removeEventListener("keydown",ir,!1)};var m=this,de={type:"change"},H={type:"start"},U={type:"end"},G={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},B=G.NONE,O=1e-6,I=new At.Spherical,V=new At.Spherical,F=1,z=new At.Vector3,q=!1,X=new At.Vector2,pe=new At.Vector2,Ne=new At.Vector2,ye=new At.Vector2,Ge=new At.Vector2,qe=new At.Vector2,xe=new At.Vector2,We=new At.Vector2,it=new At.Vector2;function lt(){return Math.pow(.95,m.zoomSpeed)}function Je(je){V.theta-=je}function Ce(je){V.phi-=je}var he=function(){var je=new At.Vector3;return function(Nr,Ur){je.setFromMatrixColumn(Ur,0),je.multiplyScalar(-Nr),z.add(je)}}(),Qe=function(){var je=new At.Vector3;return function(Nr,Ur){je.setFromMatrixColumn(Ur,1),je.multiplyScalar(Nr),z.add(je)}}(),Ye=function(){var je=new At.Vector3;return function(Nr,Ur){var Fs=m.domElement===document?m.domElement.body:m.domElement;if(m.object instanceof At.PerspectiveCamera){je.copy(m.object.position).sub(m.target);var ps=je.length();ps*=Math.tan(m.object.fov/2*Math.PI/180),he(2*Nr*ps/Fs.clientHeight,m.object.matrix),Qe(2*Ur*ps/Fs.clientHeight,m.object.matrix)}else m.object instanceof At.OrthographicCamera?(he(Nr*(m.object.right-m.object.left)/m.object.zoom/Fs.clientWidth,m.object.matrix),Qe(Ur*(m.object.top-m.object.bottom)/m.object.zoom/Fs.clientHeight,m.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),m.enablePan=!1)}}();function Le(je){m.object instanceof At.PerspectiveCamera?F/=je:m.object instanceof At.OrthographicCamera?(m.object.zoom=Math.max(m.minZoom,Math.min(m.maxZoom,m.object.zoom*je)),m.object.updateProjectionMatrix(),q=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),m.enableZoom=!1)}function ze(je){m.object instanceof At.PerspectiveCamera?F*=je:m.object instanceof At.OrthographicCamera?(m.object.zoom=Math.max(m.minZoom,Math.min(m.maxZoom,m.object.zoom/je)),m.object.updateProjectionMatrix(),q=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),m.enableZoom=!1)}function xn(je){if(!1!==m.enabled){if(je.preventDefault(),je.button===m.mouseButtons.ORBIT){if(!1===m.enableRotate)return;(function et(je){X.set(je.clientX,je.clientY)})(je),B=G.ROTATE}else if(je.button===m.mouseButtons.ZOOM){if(!1===m.enableZoom)return;(function bt(je){xe.set(je.clientX,je.clientY)})(je),B=G.DOLLY}else if(je.button===m.mouseButtons.PAN){if(!1===m.enablePan)return;(function xt(je){ye.set(je.clientX,je.clientY)})(je),B=G.PAN}B!==G.NONE&&(document.addEventListener("mousemove",Yt,!1),document.addEventListener("mouseup",yi,!1),m.dispatchEvent(H))}}function Yt(je){if(!1!==m.enabled)if(je.preventDefault(),B===G.ROTATE){if(!1===m.enableRotate)return;!function on(je){pe.set(je.clientX,je.clientY),Ne.subVectors(pe,X);var ui=m.domElement===document?m.domElement.body:m.domElement;Je(2*Math.PI*Ne.x/ui.clientWidth*m.rotateSpeed),Ce(2*Math.PI*Ne.y/ui.clientHeight*m.rotateSpeed),X.copy(pe),m.update()}(je)}else if(B===G.DOLLY){if(!1===m.enableZoom)return;!function Sn(je){We.set(je.clientX,je.clientY),it.subVectors(We,xe),it.y>0?Le(lt()):it.y<0&&ze(lt()),xe.copy(We),m.update()}(je)}else if(B===G.PAN){if(!1===m.enablePan)return;!function li(je){Ge.set(je.clientX,je.clientY),qe.subVectors(Ge,ye),Ye(qe.x,qe.y),ye.copy(Ge),m.update()}(je)}}function yi(je){!1!==m.enabled&&(document.removeEventListener("mousemove",Yt,!1),document.removeEventListener("mouseup",yi,!1),m.dispatchEvent(U),B=G.NONE)}function Ji(je){!1===m.enabled||!1===m.enableZoom||B!==G.NONE&&B!==G.ROTATE||(je.preventDefault(),je.stopPropagation(),function Ei(je){je.deltaY<0?ze(lt()):je.deltaY>0&&Le(lt()),m.update()}(je),m.dispatchEvent(H),m.dispatchEvent(U))}function ir(je){!1===m.enabled||!1===m.enableKeys||!1===m.enablePan||function Si(je){switch(je.keyCode){case m.keys.UP:Ye(0,m.keyPanSpeed),m.update();break;case m.keys.BOTTOM:Ye(0,-m.keyPanSpeed),m.update();break;case m.keys.LEFT:Ye(m.keyPanSpeed,0),m.update();break;case m.keys.RIGHT:Ye(-m.keyPanSpeed,0),m.update()}}(je)}function zt(je){if(!1!==m.enabled){switch(je.touches.length){case 1:if(!1===m.enableRotate)return;(function ei(je){X.set(je.touches[0].pageX,je.touches[0].pageY)})(je),B=G.TOUCH_ROTATE;break;case 2:if(!1===m.enableZoom)return;(function Be(je){var ui=je.touches[0].pageX-je.touches[1].pageX,Nr=je.touches[0].pageY-je.touches[1].pageY,Ur=Math.sqrt(ui*ui+Nr*Nr);xe.set(0,Ur)})(je),B=G.TOUCH_DOLLY;break;case 3:if(!1===m.enablePan)return;(function vt(je){ye.set(je.touches[0].pageX,je.touches[0].pageY)})(je),B=G.TOUCH_PAN;break;default:B=G.NONE}B!==G.NONE&&m.dispatchEvent(H)}}function Yr(je){if(!1!==m.enabled)switch(je.preventDefault(),je.stopPropagation(),je.touches.length){case 1:if(!1===m.enableRotate||B!==G.TOUCH_ROTATE)return;!function Ot(je){pe.set(je.touches[0].pageX,je.touches[0].pageY),Ne.subVectors(pe,X);var ui=m.domElement===document?m.domElement.body:m.domElement;Je(2*Math.PI*Ne.x/ui.clientWidth*m.rotateSpeed),Ce(2*Math.PI*Ne.y/ui.clientHeight*m.rotateSpeed),X.copy(pe),m.update()}(je);break;case 2:if(!1===m.enableZoom||B!==G.TOUCH_DOLLY)return;!function wn(je){var ui=je.touches[0].pageX-je.touches[1].pageX,Nr=je.touches[0].pageY-je.touches[1].pageY,Ur=Math.sqrt(ui*ui+Nr*Nr);We.set(0,Ur),it.subVectors(We,xe),it.y>0?ze(lt()):it.y<0&&Le(lt()),xe.copy(We),m.update()}(je);break;case 3:if(!1===m.enablePan||B!==G.TOUCH_PAN)return;!function kt(je){Ge.set(je.touches[0].pageX,je.touches[0].pageY),qe.subVectors(Ge,ye),Ye(qe.x,qe.y),ye.copy(Ge),m.update()}(je);break;default:B=G.NONE}}function Tr(je){!1!==m.enabled&&(m.dispatchEvent(U),B=G.NONE)}function Gi(je){je.preventDefault()}m.domElement.addEventListener("contextmenu",Gi,!1),m.domElement.addEventListener("mousedown",xn,!1),m.domElement.addEventListener("wheel",Ji,!1),m.domElement.addEventListener("touchstart",zt,!1),m.domElement.addEventListener("touchend",Tr,!1),m.domElement.addEventListener("touchmove",Yr,!1),window.addEventListener("keydown",ir,!1),this.update()}return(A.prototype=Object.create(At.EventDispatcher.prototype)).constructor=A,Object.defineProperties(A.prototype,{center:{get:function(){return console.warn("THREE.OrbitControls: .center has been renamed to .target"),this.target}},noZoom:{get:function(){return console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),!this.enableZoom},set:function(K){console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),this.enableZoom=!K}},noRotate:{get:function(){return console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),!this.enableRotate},set:function(K){console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),this.enableRotate=!K}},noPan:{get:function(){return console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),!this.enablePan},set:function(K){console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),this.enablePan=!K}},noKeys:{get:function(){return console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),!this.enableKeys},set:function(K){console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),this.enableKeys=!K}},staticMoving:{get:function(){return console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),!this.enableDamping},set:function(K){console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),this.enableDamping=!K}},dynamicDampingFactor:{get:function(){return console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.dampingFactor},set:function(K){console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.dampingFactor=K}}}),A}},5568:function(ct,At){!function(A){"use strict";function K(){for(var _e=arguments.length,ie=Array(_e),be=0;be<_e;be++)ie[be]=arguments[be];if(ie.length>1){ie[0]=ie[0].slice(0,-1);for(var Ie=ie.length-1,Xe=1;Xe= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Je=Math.floor,Ce=String.fromCharCode;function he(_e){throw new RangeError(Ue[_e])}function Ye(_e,ie){var be=_e.split("@"),Ie="";return be.length>1&&(Ie=be[0]+"@",_e=be[1]),Ie+function Qe(_e,ie){for(var be=[],Ie=_e.length;Ie--;)be[Ie]=ie(_e[Ie]);return be}((_e=_e.replace(it,".")).split("."),ie).join(".")}function Le(_e){for(var ie=[],be=0,Ie=_e.length;be=55296&&Xe<=56319&&be>1,ie+=Je(ie/be);ie>455;Xe+=z)ie=Je(ie/35);return Je(Xe+36*ie/(ie+38))},on=function(ie){var be=[],Ie=ie.length,Xe=0,mt=128,hi=72,Ii=ie.lastIndexOf("-");Ii<0&&(Ii=0);for(var Ve=0;Ve=128&&he("not-basic"),be.push(ie.charCodeAt(Ve));for(var lr=Ii>0?Ii+1:0;lr=Ie&&he("invalid-input");var Fr=et(ie.charCodeAt(lr++));(Fr>=z||Fr>Je((F-Xe)/Er))&&he("overflow"),Xe+=Fr*Er;var Oi=uo<=hi?1:uo>=hi+26?26:uo-hi;if(FrJe(F/Xi)&&he("overflow"),Er*=Xi}var Ni=be.length+1;hi=xt(Xe-_i,Ni,0==_i),Je(Xe/Ni)>F-mt&&he("overflow"),mt+=Je(Xe/Ni),Xe%=Ni,be.splice(Xe++,0,mt)}return String.fromCodePoint.apply(String,be)},Sn=function(ie){var be=[],Ie=(ie=Le(ie)).length,Xe=128,mt=0,hi=72,Ii=!0,Ve=!1,lr=void 0;try{for(var Er,_i=ie[Symbol.iterator]();!(Ii=(Er=_i.next()).done);Ii=!0){var uo=Er.value;uo<128&&be.push(Ce(uo))}}catch(ka){Ve=!0,lr=ka}finally{try{!Ii&&_i.return&&_i.return()}finally{if(Ve)throw lr}}var Fr=be.length,Oi=Fr;for(Fr&&be.push("-");Oi=Xe&&HrJe((F-mt)/sa)&&he("overflow"),mt+=(Xi-Xe)*sa,Xe=Xi;var pi=!0,ec=!1,Ws=void 0;try{for(var ch,Ui=ie[Symbol.iterator]();!(pi=(ch=Ui.next()).done);pi=!0){var Vr=ch.value;if(VrF&&he("overflow"),Vr==Xe){for(var aa=mt,Tc=z;;Tc+=z){var Bs=Tc<=hi?1:Tc>=hi+26?26:Tc-hi;if(aa>6|192).toString(16).toUpperCase()+"%"+(63&ie|128).toString(16).toUpperCase():"%"+(ie>>12|224).toString(16).toUpperCase()+"%"+(ie>>6&63|128).toString(16).toUpperCase()+"%"+(63&ie|128).toString(16).toUpperCase()}function Be(_e){for(var ie="",be=0,Ie=_e.length;be=194&&Xe<224){if(Ie-be>=6){var mt=parseInt(_e.substr(be+4,2),16);ie+=String.fromCharCode((31&Xe)<<6|63&mt)}else ie+=_e.substr(be,6);be+=6}else if(Xe>=224){if(Ie-be>=9){var hi=parseInt(_e.substr(be+4,2),16),Ii=parseInt(_e.substr(be+7,2),16);ie+=String.fromCharCode((15&Xe)<<12|(63&hi)<<6|63&Ii)}else ie+=_e.substr(be,9);be+=9}else ie+=_e.substr(be,3),be+=3}return ie}function vt(_e,ie){function be(Ie){var Xe=Be(Ie);return Xe.match(ie.UNRESERVED)?Xe:Ie}return _e.scheme&&(_e.scheme=String(_e.scheme).replace(ie.PCT_ENCODED,be).toLowerCase().replace(ie.NOT_SCHEME,"")),void 0!==_e.userinfo&&(_e.userinfo=String(_e.userinfo).replace(ie.PCT_ENCODED,be).replace(ie.NOT_USERINFO,ei).replace(ie.PCT_ENCODED,de)),void 0!==_e.host&&(_e.host=String(_e.host).replace(ie.PCT_ENCODED,be).toLowerCase().replace(ie.NOT_HOST,ei).replace(ie.PCT_ENCODED,de)),void 0!==_e.path&&(_e.path=String(_e.path).replace(ie.PCT_ENCODED,be).replace(_e.scheme?ie.NOT_PATH:ie.NOT_PATH_NOSCHEME,ei).replace(ie.PCT_ENCODED,de)),void 0!==_e.query&&(_e.query=String(_e.query).replace(ie.PCT_ENCODED,be).replace(ie.NOT_QUERY,ei).replace(ie.PCT_ENCODED,de)),void 0!==_e.fragment&&(_e.fragment=String(_e.fragment).replace(ie.PCT_ENCODED,be).replace(ie.NOT_FRAGMENT,ei).replace(ie.PCT_ENCODED,de)),_e}function Ot(_e){return _e.replace(/^0*(.*)/,"$1")||"0"}function wn(_e,ie){var be=_e.match(ie.IPV4ADDRESS)||[],Xe=I(be,2)[1];return Xe?Xe.split(".").map(Ot).join("."):_e}function kt(_e,ie){var be=_e.match(ie.IPV6ADDRESS)||[],Ie=I(be,3),Xe=Ie[1],mt=Ie[2];if(Xe){for(var hi=Xe.toLowerCase().split("::").reverse(),Ii=I(hi,2),Ve=Ii[0],lr=Ii[1],_i=lr?lr.split(":").map(Ot):[],Er=Ve.split(":").map(Ot),uo=ie.IPV4ADDRESS.test(Er[Er.length-1]),Fr=uo?7:8,Oi=Er.length-Fr,Xi=Array(Fr),Ni=0;Ni1){var er=Xi.slice(0,ho.index),Hr=Xi.slice(ho.index+ho.length);Wo=er.join(":")+"::"+Hr.join(":")}else Wo=Xi.join(":");return mt&&(Wo+="%"+mt),Wo}return _e}var Vt=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,xn=void 0==="".match(/(){0}/)[1];function Yt(_e){var ie=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},be={},Ie=!1!==ie.iri?O:B;"suffix"===ie.reference&&(_e=(ie.scheme?ie.scheme+":":"")+"//"+_e);var Xe=_e.match(Vt);if(Xe){xn?(be.scheme=Xe[1],be.userinfo=Xe[3],be.host=Xe[4],be.port=parseInt(Xe[5],10),be.path=Xe[6]||"",be.query=Xe[7],be.fragment=Xe[8],isNaN(be.port)&&(be.port=Xe[5])):(be.scheme=Xe[1]||void 0,be.userinfo=-1!==_e.indexOf("@")?Xe[3]:void 0,be.host=-1!==_e.indexOf("//")?Xe[4]:void 0,be.port=parseInt(Xe[5],10),be.path=Xe[6]||"",be.query=-1!==_e.indexOf("?")?Xe[7]:void 0,be.fragment=-1!==_e.indexOf("#")?Xe[8]:void 0,isNaN(be.port)&&(be.port=_e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?Xe[4]:void 0)),be.host&&(be.host=kt(wn(be.host,Ie),Ie)),be.reference=void 0!==be.scheme||void 0!==be.userinfo||void 0!==be.host||void 0!==be.port||be.path||void 0!==be.query?void 0===be.scheme?"relative":void 0===be.fragment?"absolute":"uri":"same-document",ie.reference&&"suffix"!==ie.reference&&ie.reference!==be.reference&&(be.error=be.error||"URI is not a "+ie.reference+" reference.");var mt=Si[(ie.scheme||be.scheme||"").toLowerCase()];if(ie.unicodeSupport||mt&&mt.unicodeSupport)vt(be,Ie);else{if(be.host&&(ie.domainHost||mt&&mt.domainHost))try{be.host=Ei.toASCII(be.host.replace(Ie.PCT_ENCODED,Be).toLowerCase())}catch(hi){be.error=be.error||"Host's domain name can not be converted to ASCII via punycode: "+hi}vt(be,B)}mt&&mt.parse&&mt.parse(be,ie)}else be.error=be.error||"URI can not be parsed.";return be}var Ji=/^\.\.?\//,ir=/^\/\.(\/|$)/,zt=/^\/\.\.(\/|$)/,Yr=/^\/?(?:.|\n)*?(?=\/|$)/;function Tr(_e){for(var ie=[];_e.length;)if(_e.match(Ji))_e=_e.replace(Ji,"");else if(_e.match(ir))_e=_e.replace(ir,"/");else if(_e.match(zt))_e=_e.replace(zt,"/"),ie.pop();else if("."===_e||".."===_e)_e="";else{var be=_e.match(Yr);if(!be)throw new Error("Unexpected dot segment condition");var Ie=be[0];_e=_e.slice(Ie.length),ie.push(Ie)}return ie.join("")}function Gi(_e){var ie=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},be=ie.iri?O:B,Ie=[],Xe=Si[(ie.scheme||_e.scheme||"").toLowerCase()];if(Xe&&Xe.serialize&&Xe.serialize(_e,ie),_e.host&&!be.IPV6ADDRESS.test(_e.host)&&(ie.domainHost||Xe&&Xe.domainHost))try{_e.host=ie.iri?Ei.toUnicode(_e.host):Ei.toASCII(_e.host.replace(be.PCT_ENCODED,Be).toLowerCase())}catch(Ii){_e.error=_e.error||"Host's domain name can not be converted to "+(ie.iri?"Unicode":"ASCII")+" via punycode: "+Ii}vt(_e,be),"suffix"!==ie.reference&&_e.scheme&&(Ie.push(_e.scheme),Ie.push(":"));var mt=function yi(_e,ie){var be=!1!==ie.iri?O:B,Ie=[];return void 0!==_e.userinfo&&(Ie.push(_e.userinfo),Ie.push("@")),void 0!==_e.host&&Ie.push(kt(wn(String(_e.host),be),be).replace(be.IPV6ADDRESS,function(Xe,mt,hi){return"["+mt+(hi?"%25"+hi:"")+"]"})),("number"==typeof _e.port||"string"==typeof _e.port)&&(Ie.push(":"),Ie.push(String(_e.port))),Ie.length?Ie.join(""):void 0}(_e,ie);if(void 0!==mt&&("suffix"!==ie.reference&&Ie.push("//"),Ie.push(mt),_e.path&&"/"!==_e.path.charAt(0)&&Ie.push("/")),void 0!==_e.path){var hi=_e.path;!ie.absolutePath&&(!Xe||!Xe.absolutePath)&&(hi=Tr(hi)),void 0===mt&&(hi=hi.replace(/^\/\//,"/%2F")),Ie.push(hi)}return void 0!==_e.query&&(Ie.push("?"),Ie.push(_e.query)),void 0!==_e.fragment&&(Ie.push("#"),Ie.push(_e.fragment)),Ie.join("")}function je(_e,ie){var be=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},Xe={};return arguments[3]||(_e=Yt(Gi(_e,be),be),ie=Yt(Gi(ie,be),be)),!(be=be||{}).tolerant&&ie.scheme?(Xe.scheme=ie.scheme,Xe.userinfo=ie.userinfo,Xe.host=ie.host,Xe.port=ie.port,Xe.path=Tr(ie.path||""),Xe.query=ie.query):(void 0!==ie.userinfo||void 0!==ie.host||void 0!==ie.port?(Xe.userinfo=ie.userinfo,Xe.host=ie.host,Xe.port=ie.port,Xe.path=Tr(ie.path||""),Xe.query=ie.query):(ie.path?("/"===ie.path.charAt(0)?Xe.path=Tr(ie.path):(Xe.path=void 0===_e.userinfo&&void 0===_e.host&&void 0===_e.port||_e.path?_e.path?_e.path.slice(0,_e.path.lastIndexOf("/")+1)+ie.path:ie.path:"/"+ie.path,Xe.path=Tr(Xe.path)),Xe.query=ie.query):(Xe.path=_e.path,Xe.query=void 0!==ie.query?ie.query:_e.query),Xe.userinfo=_e.userinfo,Xe.host=_e.host,Xe.port=_e.port),Xe.scheme=_e.scheme),Xe.fragment=ie.fragment,Xe}function zo(_e,ie){return _e&&_e.toString().replace(ie&&ie.iri?O.PCT_ENCODED:B.PCT_ENCODED,Be)}var ps={scheme:"http",domainHost:!0,parse:function(ie,be){return ie.host||(ie.error=ie.error||"HTTP URIs must have a host."),ie},serialize:function(ie,be){var Ie="https"===String(ie.scheme).toLowerCase();return(ie.port===(Ie?443:80)||""===ie.port)&&(ie.port=void 0),ie.path||(ie.path="/"),ie}},Za={scheme:"https",domainHost:ps.domainHost,parse:ps.parse,serialize:ps.serialize};function no(_e){return"boolean"==typeof _e.secure?_e.secure:"wss"===String(_e.scheme).toLowerCase()}var Gs={scheme:"ws",domainHost:!0,parse:function(ie,be){var Ie=ie;return Ie.secure=no(Ie),Ie.resourceName=(Ie.path||"/")+(Ie.query?"?"+Ie.query:""),Ie.path=void 0,Ie.query=void 0,Ie},serialize:function(ie,be){if((ie.port===(no(ie)?443:80)||""===ie.port)&&(ie.port=void 0),"boolean"==typeof ie.secure&&(ie.scheme=ie.secure?"wss":"ws",ie.secure=void 0),ie.resourceName){var Ie=ie.resourceName.split("?"),Xe=I(Ie,2),mt=Xe[0],hi=Xe[1];ie.path=mt&&"/"!==mt?mt:void 0,ie.query=hi,ie.resourceName=void 0}return ie.fragment=void 0,ie}},Ul={scheme:"wss",domainHost:Gs.domainHost,parse:Gs.parse,serialize:Gs.serialize},kc={},Ma="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Sa="[0-9A-Fa-f]",Ja=te(te("%[EFef]"+Sa+"%"+Sa+Sa+"%"+Sa+Sa)+"|"+te("%[89A-Fa-f]"+Sa+"%"+Sa+Sa)+"|"+te("%"+Sa+Sa)),Ud=K("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),Jc=new RegExp(Ma,"g"),ts=new RegExp(Ja,"g"),em=new RegExp(K("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',Ud),"g"),Hl=new RegExp(K("[^]",Ma,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),Wi=Hl;function Hd(_e){var ie=Be(_e);return ie.match(Jc)?ie:_e}var oA={scheme:"mailto",parse:function(ie,be){var Ie=ie,Xe=Ie.to=Ie.path?Ie.path.split(","):[];if(Ie.path=void 0,Ie.query){for(var mt=!1,hi={},Ii=Ie.query.split("&"),Ve=0,lr=Ii.length;Ve{ct.exports="varying highp float vDelta;\nvarying vec2 vUV;\nvarying vec4 vOutgoingDiffuseColor;\nvarying vec4 vOutgoingDiffuseDeltaColor;\nvarying vec3 vWorldNormal;\n\nbool normalPointingUp(const in vec3 normal)\n{\n return normal.y > 0.9;\n}\n\nvoid main() {\n const float minDelta = 0.001;\n bool isTop = normalPointingUp(vWorldNormal);\n \n if (abs(vDelta) > minDelta && (vUV.y > 1.0 - abs(vDelta) || isTop))\n {\n gl_FragColor = vOutgoingDiffuseDeltaColor;\n } else {\n gl_FragColor = vOutgoingDiffuseColor;\n }\n}\n"},1812:ct=>{ct.exports="#define saturate(a) clamp( a, 0.0, 1.0)\n#define RECIPROCAL_PI 0.31830988618\n#define PI 3.14159265359\n\nattribute vec3 color;\nattribute vec3 deltaColor;\nattribute highp float delta;\nattribute lowp float isHeight;\n\nvarying vec3 vWorldNormal;\nvarying highp float vDelta;\nvarying vec2 vUV;\nvarying vec4 vOutgoingDiffuseColor;\nvarying vec4 vOutgoingDiffuseDeltaColor;\n\nuniform vec3 ambientLightColor;\n\nstruct DirectionalLight {\n vec3 direction;\n vec3 color;\n};\nuniform DirectionalLight directionalLights[NUM_DIR_LIGHTS];\n\nstruct IncidentLight {\n vec3 color;\n vec3 direction;\n};\n\nstruct ReflectedLight {\n vec3 directDiffuse;\n vec3 directSpecular;\n vec3 indirectDiffuse;\n vec3 indirectSpecular;\n};\n\nvoid getDirectionalDirectLightIrradiance(const in DirectionalLight directionalLight,out IncidentLight directLight) {\n directLight.color = directionalLight.color;\n directLight.direction = directionalLight.direction;\n}\n\nvec3 BRDF_Diffuse_Lambert (const in vec3 diffuseColor) {\n return RECIPROCAL_PI * diffuseColor;\n}\n\nvec3 getAmbientLightIrradiance() {\n return ambientLightColor*PI;\n}\n\nvec3 getBaseOutgoingLight(const vec3 lightFront) {\n ReflectedLight reflectedLight = ReflectedLight(vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0));\n reflectedLight.indirectDiffuse = getAmbientLightIrradiance();\n reflectedLight.directDiffuse = lightFront;\n return (reflectedLight.directDiffuse + reflectedLight.indirectDiffuse);\n}\n\n// better to calc the colors in vertex as no color interpolation is used, performance improvements will be noticeable \n// once frustum or occlusion culling is properly used\n\nvoid main() \n{\n vec3 adjustedHeightPos = position;\n \n // height position will be adjusted based on camera position in order to prevent \n // z-fighting in different zoom levels when position is positive.\n // preferred multiplication over if branching of the isHeight variable \n // the same line could be written this way : \n //\n // adjustedHeightPos = position\n // if (isHeight>0.5 && cameraPosition.y>0) {\n // adjustedHeightPos.y = position.y + cameraPosition.y/1000.\n // } \n // \n \n adjustedHeightPos.y = position.y + (isHeight*max(0.,cameraPosition.y/1000.));\n\n\tvec4 modelViewPosition = modelViewMatrix * vec4(adjustedHeightPos, 1.0);\n\tgl_Position = projectionMatrix * modelViewPosition;\n\n vec3 worldNormal = vWorldNormal = normalize((modelMatrix * vec4(normal, 0.0)).xyz);\n vec3 normal= normalize(normalMatrix * normal);\n vec3 lightFront = vec3(0.0);\n\n vUV = uv;\n vDelta = abs(delta);\n\n for (int i=0; i < 2; ++i)\n {\n IncidentLight directLight;\n\n getDirectionalDirectLightIrradiance(directionalLights[i],directLight);\n float dotNL = dot(normal, directLight.direction);\n vec3 directLightColor_Diffuse = PI * directLight.color; \n lightFront += saturate(dotNL) * directLightColor_Diffuse;\n }\n\n vec3 baseOutgoingLight = getBaseOutgoingLight(lightFront);\n \n vOutgoingDiffuseColor = vec4(BRDF_Diffuse_Lambert(color.rgb)*baseOutgoingLight,1.0);\n vOutgoingDiffuseDeltaColor = vec4(BRDF_Diffuse_Lambert(deltaColor)*baseOutgoingLight,1.0);\n}\n"},6655:ct=>{ct.exports='precision highp float;\n\t\t\nuniform sampler2D tDiffuse;\nuniform vec2 resolution;\n\t\t\nvarying vec2 vUv;\n\t\t\n// FXAA 3.11 implementation by NVIDIA, ported to WebGL by Agost Biro (biro@archilogic.com)\n\n//----------------------------------------------------------------------------------\n// File: es3-kepler\\FXAA\\assets\\shaders/FXAA_DefaultES.frag\n// SDK Version: v3.00\n// Email: gameworks@nvidia.com\n// Site: http://developer.nvidia.com/\n//\n// Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// * Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// * Neither the name of NVIDIA CORPORATION nor the names of its\n// contributors may be used to endorse or promote products derived\n// from this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS\\\\ AND ANY\n// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\n// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n//\n//----------------------------------------------------------------------------------\n\t\t\n#define FXAA_PC 1\n#define FXAA_GLSL_100 1\n#define FXAA_QUALITY_PRESET 15\n#define FXAA_GATHER4_ALPHA 0\n#define FXAA_GREEN_AS_LUMA 1\n#define FXAA_EARLY_EXIT 1\n\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_GLSL_120\n #define FXAA_GLSL_120 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_GLSL_130\n #define FXAA_GLSL_130 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_HLSL_3\n #define FXAA_HLSL_3 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_HLSL_4\n #define FXAA_HLSL_4 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_HLSL_5\n #define FXAA_HLSL_5 0\n#endif\n/*==========================================================================*/\n#ifndef FXAA_GREEN_AS_LUMA\n //\n // For those using non-linear color,\n // and either not able to get luma in alpha, or not wanting to,\n // this enables FXAA to run using green as a proxy for luma.\n // So with this enabled, no need to pack luma in alpha.\n //\n // This will turn off AA on anything which lacks some amount of green.\n // Pure red and blue or combination of only R and B, will get no AA.\n //\n // Might want to lower the settings for both,\n // fxaaConsoleEdgeThresholdMin\n // fxaaQualityEdgeThresholdMin\n // In order to insure AA does not get turned off on colors\n // which contain a minor amount of green.\n //\n // 1 = On.\n // 0 = Off.\n //\n #define FXAA_GREEN_AS_LUMA 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_EARLY_EXIT\n //\n // Controls algorithm\\s early exit path.\n // On PS3 turning this ON adds 2 cycles to the shader.\n // On 360 turning this OFF adds 10ths of a millisecond to the shader.\n // Turning this off on console will result in a more blurry image.\n // So this defaults to on.\n //\n // 1 = On.\n // 0 = Off.\n //\n #define FXAA_EARLY_EXIT 1\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_DISCARD\n //\n // Only valid for PC OpenGL currently.\n // Probably will not work when FXAA_GREEN_AS_LUMA = 1.\n //\n // 1 = Use discard on pixels which don\\t need AA.\n // For APIs which enable concurrent TEX+ROP from same surface.\n // 0 = Return unchanged color on pixels which don\\t need AA.\n //\n #define FXAA_DISCARD 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_FAST_PIXEL_OFFSET\n //\n // Used for GLSL 120 only.\n //\n // 1 = GL API supports fast pixel offsets\n // 0 = do not use fast pixel offsets\n //\n #ifdef GL_EXT_gpu_shader4\n #define FXAA_FAST_PIXEL_OFFSET 1\n #endif\n #ifdef GL_NV_gpu_shader5\n #define FXAA_FAST_PIXEL_OFFSET 1\n #endif\n #ifdef GL_ARB_gpu_shader5\n #define FXAA_FAST_PIXEL_OFFSET 1\n #endif\n #ifndef FXAA_FAST_PIXEL_OFFSET\n #define FXAA_FAST_PIXEL_OFFSET 0\n #endif\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_GATHER4_ALPHA\n //\n // 1 = API supports gather4 on alpha channel.\n // 0 = API does not support gather4 on alpha channel.\n //\n #if (FXAA_HLSL_5 == 1)\n #define FXAA_GATHER4_ALPHA 1\n #endif\n #ifdef GL_ARB_gpu_shader5\n #define FXAA_GATHER4_ALPHA 1\n #endif\n #ifdef GL_NV_gpu_shader5\n #define FXAA_GATHER4_ALPHA 1\n #endif\n #ifndef FXAA_GATHER4_ALPHA\n #define FXAA_GATHER4_ALPHA 0\n #endif\n#endif\n\n\n/*============================================================================\n FXAA QUALITY - TUNING KNOBS\n------------------------------------------------------------------------------\nNOTE the other tuning knobs are now in the shader function inputs!\n============================================================================*/\n#ifndef FXAA_QUALITY_PRESET\n //\n // Choose the quality preset.\n // This needs to be compiled into the shader as it effects code.\n // Best option to include multiple presets is to\n // in each shader define the preset, then include this file.\n //\n // OPTIONS\n // -----------------------------------------------------------------------\n // 10 to 15 - default medium dither (10=fastest, 15=highest quality)\n // 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality)\n // 39 - no dither, very expensive\n //\n // NOTES\n // -----------------------------------------------------------------------\n // 12 = slightly faster then FXAA 3.9 and higher edge quality (default)\n // 13 = about same speed as FXAA 3.9 and better than 12\n // 23 = closest to FXAA 3.9 visually and performance wise\n // _ = the lowest digit is directly related to performance\n // _ = the highest digit is directly related to style\n //\n #define FXAA_QUALITY_PRESET 12\n#endif\n\n\n/*============================================================================\n\n FXAA QUALITY - PRESETS\n\n============================================================================*/\n\n/*============================================================================\n FXAA QUALITY - MEDIUM DITHER PRESETS\n============================================================================*/\n#if (FXAA_QUALITY_PRESET == 10)\n #define FXAA_QUALITY_PS 3\n #define FXAA_QUALITY_P0 1.5\n #define FXAA_QUALITY_P1 3.0\n #define FXAA_QUALITY_P2 12.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 11)\n #define FXAA_QUALITY_PS 4\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 3.0\n #define FXAA_QUALITY_P3 12.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 12)\n #define FXAA_QUALITY_PS 5\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 4.0\n #define FXAA_QUALITY_P4 12.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 13)\n #define FXAA_QUALITY_PS 6\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 4.0\n #define FXAA_QUALITY_P5 12.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 14)\n #define FXAA_QUALITY_PS 7\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 4.0\n #define FXAA_QUALITY_P6 12.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 15)\n #define FXAA_QUALITY_PS 8\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 4.0\n #define FXAA_QUALITY_P7 12.0\n#endif\n\n/*============================================================================\n FXAA QUALITY - LOW DITHER PRESETS\n============================================================================*/\n#if (FXAA_QUALITY_PRESET == 20)\n #define FXAA_QUALITY_PS 3\n #define FXAA_QUALITY_P0 1.5\n #define FXAA_QUALITY_P1 2.0\n #define FXAA_QUALITY_P2 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 21)\n #define FXAA_QUALITY_PS 4\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 22)\n #define FXAA_QUALITY_PS 5\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 23)\n #define FXAA_QUALITY_PS 6\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 24)\n #define FXAA_QUALITY_PS 7\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 3.0\n #define FXAA_QUALITY_P6 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 25)\n #define FXAA_QUALITY_PS 8\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 4.0\n #define FXAA_QUALITY_P7 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 26)\n #define FXAA_QUALITY_PS 9\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 4.0\n #define FXAA_QUALITY_P8 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 27)\n #define FXAA_QUALITY_PS 10\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 4.0\n #define FXAA_QUALITY_P9 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 28)\n #define FXAA_QUALITY_PS 11\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 2.0\n #define FXAA_QUALITY_P9 4.0\n #define FXAA_QUALITY_P10 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 29)\n #define FXAA_QUALITY_PS 12\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 2.0\n #define FXAA_QUALITY_P9 2.0\n #define FXAA_QUALITY_P10 4.0\n #define FXAA_QUALITY_P11 8.0\n#endif\n\n/*============================================================================\n FXAA QUALITY - EXTREME QUALITY\n============================================================================*/\n#if (FXAA_QUALITY_PRESET == 39)\n #define FXAA_QUALITY_PS 12\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.0\n #define FXAA_QUALITY_P2 1.0\n #define FXAA_QUALITY_P3 1.0\n #define FXAA_QUALITY_P4 1.0\n #define FXAA_QUALITY_P5 1.5\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 2.0\n #define FXAA_QUALITY_P9 2.0\n #define FXAA_QUALITY_P10 4.0\n #define FXAA_QUALITY_P11 8.0\n#endif\n\n\n\n/*============================================================================\n\n API PORTING\n\n============================================================================*/\n#if (FXAA_GLSL_100 == 1) || (FXAA_GLSL_120 == 1) || (FXAA_GLSL_130 == 1)\n #define FxaaBool bool\n #define FxaaDiscard discard\n #define FxaaFloat float\n #define FxaaFloat2 vec2\n #define FxaaFloat3 vec3\n #define FxaaFloat4 vec4\n #define FxaaHalf float\n #define FxaaHalf2 vec2\n #define FxaaHalf3 vec3\n #define FxaaHalf4 vec4\n #define FxaaInt2 ivec2\n #define FxaaSat(x) clamp(x, 0.0, 1.0)\n #define FxaaTex sampler2D\n#else\n #define FxaaBool bool\n #define FxaaDiscard clip(-1)\n #define FxaaFloat float\n #define FxaaFloat2 float2\n #define FxaaFloat3 float3\n #define FxaaFloat4 float4\n #define FxaaHalf half\n #define FxaaHalf2 half2\n #define FxaaHalf3 half3\n #define FxaaHalf4 half4\n #define FxaaSat(x) saturate(x)\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_GLSL_100 == 1)\n #define FxaaTexTop(t, p) texture2D(t, p, 0.0)\n #define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r), 0.0)\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_GLSL_120 == 1)\n // Requires,\n // #version 120\n // And at least,\n // #extension GL_EXT_gpu_shader4 : enable\n // (or set FXAA_FAST_PIXEL_OFFSET 1 to work like DX9)\n #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0)\n #if (FXAA_FAST_PIXEL_OFFSET == 1)\n #define FxaaTexOff(t, p, o, r) texture2DLodOffset(t, p, 0.0, o)\n #else\n #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0)\n #endif\n #if (FXAA_GATHER4_ALPHA == 1)\n // use #extension GL_ARB_gpu_shader5 : enable\n #define FxaaTexAlpha4(t, p) textureGather(t, p, 3)\n #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3)\n #define FxaaTexGreen4(t, p) textureGather(t, p, 1)\n #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1)\n #endif\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_GLSL_130 == 1)\n // Requires "#version 130" or better\n #define FxaaTexTop(t, p) textureLod(t, p, 0.0)\n #define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o)\n #if (FXAA_GATHER4_ALPHA == 1)\n // use #extension GL_ARB_gpu_shader5 : enable\n #define FxaaTexAlpha4(t, p) textureGather(t, p, 3)\n #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3)\n #define FxaaTexGreen4(t, p) textureGather(t, p, 1)\n #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1)\n #endif\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_HLSL_3 == 1)\n #define FxaaInt2 float2\n #define FxaaTex sampler2D\n #define FxaaTexTop(t, p) tex2Dlod(t, float4(p, 0.0, 0.0))\n #define FxaaTexOff(t, p, o, r) tex2Dlod(t, float4(p + (o * r), 0, 0))\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_HLSL_4 == 1)\n #define FxaaInt2 int2\n struct FxaaTex { SamplerState smpl; Texture2D tex; };\n #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0)\n #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o)\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_HLSL_5 == 1)\n #define FxaaInt2 int2\n struct FxaaTex { SamplerState smpl; Texture2D tex; };\n #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0)\n #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o)\n #define FxaaTexAlpha4(t, p) t.tex.GatherAlpha(t.smpl, p)\n #define FxaaTexOffAlpha4(t, p, o) t.tex.GatherAlpha(t.smpl, p, o)\n #define FxaaTexGreen4(t, p) t.tex.GatherGreen(t.smpl, p)\n #define FxaaTexOffGreen4(t, p, o) t.tex.GatherGreen(t.smpl, p, o)\n#endif\n\n\n/*============================================================================\n GREEN AS LUMA OPTION SUPPORT FUNCTION\n============================================================================*/\n#if (FXAA_GREEN_AS_LUMA == 0)\n FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.w; }\n#else\n FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; }\n#endif\n\n/*============================================================================\n\n FXAA3 QUALITY - PC\n\n============================================================================*/\n#if (FXAA_PC == 1)\n/*--------------------------------------------------------------------------*/\nFxaaFloat4 FxaaPixelShader(\n //\n // Use noperspective interpolation here (turn off perspective interpolation).\n // {xy} = center of pixel\n FxaaFloat2 pos,\n //\n // Used only for FXAA Console, and not used on the 360 version.\n // Use noperspective interpolation here (turn off perspective interpolation).\n // {xy_} = upper left of pixel\n // {_zw} = lower right of pixel\n FxaaFloat4 fxaaConsolePosPos,\n //\n // Input color texture.\n // {rgb_} = color in linear or perceptual color space\n // if (FXAA_GREEN_AS_LUMA == 0)\n // {__a} = luma in perceptual color space (not linear)\n FxaaTex tex,\n //\n // Only used on the optimized 360 version of FXAA Console.\n // For everything but 360, just use the same input here as for "tex".\n // For 360, same texture, just alias with a 2nd sampler.\n // This sampler needs to have an exponent bias of -1.\n FxaaTex fxaaConsole360TexExpBiasNegOne,\n //\n // Only used on the optimized 360 version of FXAA Console.\n // For everything but 360, just use the same input here as for "tex".\n // For 360, same texture, just alias with a 3nd sampler.\n // This sampler needs to have an exponent bias of -2.\n FxaaTex fxaaConsole360TexExpBiasNegTwo,\n //\n // Only used on FXAA Quality.\n // This must be from a constant/uniform.\n // {x_} = 1.0/screenWidthInPixels\n // {_y} = 1.0/screenHeightInPixels\n FxaaFloat2 fxaaQualityRcpFrame,\n //\n // Only used on FXAA Console.\n // This must be from a constant/uniform.\n // This effects sub-pixel AA quality and inversely sharpness.\n // Where N ranges between,\n // N = 0.50 (default)\n // N = 0.33 (sharper)\n // {x__} = -N/screenWidthInPixels\n // {_y_} = -N/screenHeightInPixels\n // {_z_} = N/screenWidthInPixels\n // {__w} = N/screenHeightInPixels\n FxaaFloat4 fxaaConsoleRcpFrameOpt,\n //\n // Only used on FXAA Console.\n // Not used on 360, but used on PS3 and PC.\n // This must be from a constant/uniform.\n // {x__} = -2.0/screenWidthInPixels\n // {_y_} = -2.0/screenHeightInPixels\n // {_z_} = 2.0/screenWidthInPixels\n // {__w} = 2.0/screenHeightInPixels\n FxaaFloat4 fxaaConsoleRcpFrameOpt2,\n //\n // Only used on FXAA Console.\n // Only used on 360 in place of fxaaConsoleRcpFrameOpt2.\n // This must be from a constant/uniform.\n // {x__} = 8.0/screenWidthInPixels\n // {_y_} = 8.0/screenHeightInPixels\n // {_z_} = -4.0/screenWidthInPixels\n // {__w} = -4.0/screenHeightInPixels\n FxaaFloat4 fxaaConsole360RcpFrameOpt2,\n //\n // Only used on FXAA Quality.\n // This used to be the FXAA_QUALITY_SUBPIX define.\n // It is here now to allow easier tuning.\n // Choose the amount of sub-pixel aliasing removal.\n // This can effect sharpness.\n // 1.00 - upper limit (softer)\n // 0.75 - default amount of filtering\n // 0.50 - lower limit (sharper, less sub-pixel aliasing removal)\n // 0.25 - almost off\n // 0.00 - completely off\n FxaaFloat fxaaQualitySubpix,\n //\n // Only used on FXAA Quality.\n // This used to be the FXAA_QUALITY_EDGE_THRESHOLD define.\n // It is here now to allow easier tuning.\n // The minimum amount of local contrast required to apply algorithm.\n // 0.333 - too little (faster)\n // 0.250 - low quality\n // 0.166 - default\n // 0.125 - high quality\n // 0.063 - overkill (slower)\n FxaaFloat fxaaQualityEdgeThreshold,\n //\n // Only used on FXAA Quality.\n // This used to be the FXAA_QUALITY_EDGE_THRESHOLD_MIN define.\n // It is here now to allow easier tuning.\n // Trims the algorithm from processing darks.\n // 0.0833 - upper limit (default, the start of visible unfiltered edges)\n // 0.0625 - high quality (faster)\n // 0.0312 - visible limit (slower)\n // Special notes when using FXAA_GREEN_AS_LUMA,\n // Likely want to set this to zero.\n // As colors that are mostly not-green\n // will appear very dark in the green channel!\n // Tune by looking at mostly non-green content,\n // then start at zero and increase until aliasing is a problem.\n FxaaFloat fxaaQualityEdgeThresholdMin,\n //\n // Only used on FXAA Console.\n // This used to be the FXAA_CONSOLE_EDGE_SHARPNESS define.\n // It is here now to allow easier tuning.\n // This does not effect PS3, as this needs to be compiled in.\n // Use FXAA_CONSOLE_PS3_EDGE_SHARPNESS for PS3.\n // Due to the PS3 being ALU bound,\n // there are only three safe values here: 2 and 4 and 8.\n // These options use the shaders ability to a free *|/ by 2|4|8.\n // For all other platforms can be a non-power of two.\n // 8.0 is sharper (default!!!)\n // 4.0 is softer\n // 2.0 is really soft (good only for vector graphics inputs)\n FxaaFloat fxaaConsoleEdgeSharpness,\n //\n // Only used on FXAA Console.\n // This used to be the FXAA_CONSOLE_EDGE_THRESHOLD define.\n // It is here now to allow easier tuning.\n // This does not effect PS3, as this needs to be compiled in.\n // Use FXAA_CONSOLE_PS3_EDGE_THRESHOLD for PS3.\n // Due to the PS3 being ALU bound,\n // there are only two safe values here: 1/4 and 1/8.\n // These options use the shaders ability to a free *|/ by 2|4|8.\n // The console setting has a different mapping than the quality setting.\n // Other platforms can use other values.\n // 0.125 leaves less aliasing, but is softer (default!!!)\n // 0.25 leaves more aliasing, and is sharper\n FxaaFloat fxaaConsoleEdgeThreshold,\n //\n // Only used on FXAA Console.\n // This used to be the FXAA_CONSOLE_EDGE_THRESHOLD_MIN define.\n // It is here now to allow easier tuning.\n // Trims the algorithm from processing darks.\n // The console setting has a different mapping than the quality setting.\n // This only applies when FXAA_EARLY_EXIT is 1.\n // This does not apply to PS3,\n // PS3 was simplified to avoid more shader instructions.\n // 0.06 - faster but more aliasing in darks\n // 0.05 - default\n // 0.04 - slower and less aliasing in darks\n // Special notes when using FXAA_GREEN_AS_LUMA,\n // Likely want to set this to zero.\n // As colors that are mostly not-green\n // will appear very dark in the green channel!\n // Tune by looking at mostly non-green content,\n // then start at zero and increase until aliasing is a problem.\n FxaaFloat fxaaConsoleEdgeThresholdMin,\n //\n // Extra constants for 360 FXAA Console only.\n // Use zeros or anything else for other platforms.\n // These must be in physical constant registers and NOT immediates.\n // Immediates will result in compiler un-optimizing.\n // {xyzw} = float4(1.0, -1.0, 0.25, -0.25)\n FxaaFloat4 fxaaConsole360ConstDir\n) {\n/*--------------------------------------------------------------------------*/\n FxaaFloat2 posM;\n posM.x = pos.x;\n posM.y = pos.y;\n #if (FXAA_GATHER4_ALPHA == 1)\n #if (FXAA_DISCARD == 0)\n FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);\n #if (FXAA_GREEN_AS_LUMA == 0)\n #define lumaM rgbyM.w\n #else\n #define lumaM rgbyM.y\n #endif\n #endif\n #if (FXAA_GREEN_AS_LUMA == 0)\n FxaaFloat4 luma4A = FxaaTexAlpha4(tex, posM);\n FxaaFloat4 luma4B = FxaaTexOffAlpha4(tex, posM, FxaaInt2(-1, -1));\n #else\n FxaaFloat4 luma4A = FxaaTexGreen4(tex, posM);\n FxaaFloat4 luma4B = FxaaTexOffGreen4(tex, posM, FxaaInt2(-1, -1));\n #endif\n #if (FXAA_DISCARD == 1)\n #define lumaM luma4A.w\n #endif\n #define lumaE luma4A.z\n #define lumaS luma4A.x\n #define lumaSE luma4A.y\n #define lumaNW luma4B.w\n #define lumaN luma4B.z\n #define lumaW luma4B.x\n #else\n FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);\n #if (FXAA_GREEN_AS_LUMA == 0)\n #define lumaM rgbyM.w\n #else\n #define lumaM rgbyM.y\n #endif\n #if (FXAA_GLSL_100 == 1)\n FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 0.0, 1.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0, 0.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 0.0,-1.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0, 0.0), fxaaQualityRcpFrame.xy));\n #else\n FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy));\n #endif\n #endif\n/*--------------------------------------------------------------------------*/\n FxaaFloat maxSM = max(lumaS, lumaM);\n FxaaFloat minSM = min(lumaS, lumaM);\n FxaaFloat maxESM = max(lumaE, maxSM);\n FxaaFloat minESM = min(lumaE, minSM);\n FxaaFloat maxWN = max(lumaN, lumaW);\n FxaaFloat minWN = min(lumaN, lumaW);\n FxaaFloat rangeMax = max(maxWN, maxESM);\n FxaaFloat rangeMin = min(minWN, minESM);\n FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold;\n FxaaFloat range = rangeMax - rangeMin;\n FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled);\n FxaaBool earlyExit = range < rangeMaxClamped;\n/*--------------------------------------------------------------------------*/\n if(earlyExit)\n #if (FXAA_DISCARD == 1)\n FxaaDiscard;\n #else\n return rgbyM;\n #endif\n/*--------------------------------------------------------------------------*/\n #if (FXAA_GATHER4_ALPHA == 0)\n #if (FXAA_GLSL_100 == 1)\n FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0,-1.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0, 1.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0,-1.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0, 1.0), fxaaQualityRcpFrame.xy));\n #else\n FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));\n #endif\n #else\n FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(1, -1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));\n #endif\n/*--------------------------------------------------------------------------*/\n FxaaFloat lumaNS = lumaN + lumaS;\n FxaaFloat lumaWE = lumaW + lumaE;\n FxaaFloat subpixRcpRange = 1.0/range;\n FxaaFloat subpixNSWE = lumaNS + lumaWE;\n FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS;\n FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE;\n/*--------------------------------------------------------------------------*/\n FxaaFloat lumaNESE = lumaNE + lumaSE;\n FxaaFloat lumaNWNE = lumaNW + lumaNE;\n FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE;\n FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE;\n/*--------------------------------------------------------------------------*/\n FxaaFloat lumaNWSW = lumaNW + lumaSW;\n FxaaFloat lumaSWSE = lumaSW + lumaSE;\n FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2);\n FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2);\n FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW;\n FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE;\n FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4;\n FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4;\n/*--------------------------------------------------------------------------*/\n FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE;\n FxaaFloat lengthSign = fxaaQualityRcpFrame.x;\n FxaaBool horzSpan = edgeHorz >= edgeVert;\n FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE;\n/*--------------------------------------------------------------------------*/\n if(!horzSpan) lumaN = lumaW;\n if(!horzSpan) lumaS = lumaE;\n if(horzSpan) lengthSign = fxaaQualityRcpFrame.y;\n FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM;\n/*--------------------------------------------------------------------------*/\n FxaaFloat gradientN = lumaN - lumaM;\n FxaaFloat gradientS = lumaS - lumaM;\n FxaaFloat lumaNN = lumaN + lumaM;\n FxaaFloat lumaSS = lumaS + lumaM;\n FxaaBool pairN = abs(gradientN) >= abs(gradientS);\n FxaaFloat gradient = max(abs(gradientN), abs(gradientS));\n if(pairN) lengthSign = -lengthSign;\n FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange);\n/*--------------------------------------------------------------------------*/\n FxaaFloat2 posB;\n posB.x = posM.x;\n posB.y = posM.y;\n FxaaFloat2 offNP;\n offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x;\n offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y;\n if(!horzSpan) posB.x += lengthSign * 0.5;\n if( horzSpan) posB.y += lengthSign * 0.5;\n/*--------------------------------------------------------------------------*/\n FxaaFloat2 posN;\n posN.x = posB.x - offNP.x * FXAA_QUALITY_P0;\n posN.y = posB.y - offNP.y * FXAA_QUALITY_P0;\n FxaaFloat2 posP;\n posP.x = posB.x + offNP.x * FXAA_QUALITY_P0;\n posP.y = posB.y + offNP.y * FXAA_QUALITY_P0;\n FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0;\n FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN));\n FxaaFloat subpixE = subpixC * subpixC;\n FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP));\n/*--------------------------------------------------------------------------*/\n if(!pairN) lumaNN = lumaSS;\n FxaaFloat gradientScaled = gradient * 1.0/4.0;\n FxaaFloat lumaMM = lumaM - lumaNN * 0.5;\n FxaaFloat subpixF = subpixD * subpixE;\n FxaaBool lumaMLTZero = lumaMM < 0.0;\n/*--------------------------------------------------------------------------*/\n lumaEndN -= lumaNN * 0.5;\n lumaEndP -= lumaNN * 0.5;\n FxaaBool doneN = abs(lumaEndN) >= gradientScaled;\n FxaaBool doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P1;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P1;\n FxaaBool doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P1;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P1;\n/*--------------------------------------------------------------------------*/\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P2;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P2;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P2;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P2;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 3)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P3;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P3;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P3;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P3;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 4)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P4;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P4;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P4;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P4;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 5)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P5;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P5;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P5;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P5;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 6)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P6;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P6;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P6;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P6;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 7)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P7;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P7;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P7;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P7;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 8)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P8;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P8;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P8;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P8;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 9)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P9;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P9;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P9;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P9;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 10)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P10;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P10;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P10;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P10;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 11)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P11;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P11;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P11;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P11;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 12)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P12;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P12;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P12;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P12;\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n/*--------------------------------------------------------------------------*/\n FxaaFloat dstN = posM.x - posN.x;\n FxaaFloat dstP = posP.x - posM.x;\n if(!horzSpan) dstN = posM.y - posN.y;\n if(!horzSpan) dstP = posP.y - posM.y;\n/*--------------------------------------------------------------------------*/\n FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero;\n FxaaFloat spanLength = (dstP + dstN);\n FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero;\n FxaaFloat spanLengthRcp = 1.0/spanLength;\n/*--------------------------------------------------------------------------*/\n FxaaBool directionN = dstN < dstP;\n FxaaFloat dst = min(dstN, dstP);\n FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP;\n FxaaFloat subpixG = subpixF * subpixF;\n FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5;\n FxaaFloat subpixH = subpixG * fxaaQualitySubpix;\n/*--------------------------------------------------------------------------*/\n FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0;\n FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH);\n if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign;\n if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign;\n #if (FXAA_DISCARD == 1)\n return FxaaTexTop(tex, posM);\n #else\n return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM);\n #endif\n}\n/*==========================================================================*/\n#endif\n\nvoid main() {\n gl_FragColor = FxaaPixelShader(\n vUv,\n vec4(0.0),\n tDiffuse,\n tDiffuse,\n tDiffuse,\n resolution,\n vec4(0.0),\n vec4(0.0),\n vec4(0.0),\n 0.75,\n 0.166,\n 0.0833,\n 0.0,\n 0.0,\n 0.0,\n vec4(0.0)\n );\n\n // TODO avoid querying texture twice for same texel\n gl_FragColor.a = texture2D(tDiffuse, vUv).a;\n}\n'},889:ct=>{ct.exports="varying vec2 vUv;\n\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}\n"},3420:ct=>{"use strict";ct.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},8198:ct=>{"use strict";ct.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')}},ct=>{ct(ct.s=1359)}]); \ No newline at end of file diff --git a/gh-pages/visualization/app/package.json b/gh-pages/visualization/app/package.json index 5c1339cbf0..fb52ecef9c 100644 --- a/gh-pages/visualization/app/package.json +++ b/gh-pages/visualization/app/package.json @@ -10,7 +10,7 @@ "url": "https://github.com/MaibornWolff/codecharta.git" }, "name": "codecharta-visualization", - "version": "1.124.1", + "version": "1.125.0", "engines": { "node": ">=18" }, @@ -63,16 +63,16 @@ }, "license": "BSD-3-Clause", "dependencies": { - "@angular/animations": "^16.2.12", - "@angular/cdk": "^16.2.12", - "@angular/common": "^16.2.12", - "@angular/core": "^16.2.12", - "@angular/forms": "^16.2.12", - "@angular/material": "^16.2.12", - "@angular/platform-browser": "^16.2.12", - "@angular/platform-browser-dynamic": "^16.2.12", - "@ngrx/effects": "^16.3.0", - "@ngrx/store": "^16.3.0", + "@angular/animations": "^17.3.3", + "@angular/cdk": "^17.3.3", + "@angular/common": "^17.3.3", + "@angular/core": "^17.3.3", + "@angular/forms": "^17.3.3", + "@angular/material": "^17.3.3", + "@angular/platform-browser": "^17.3.3", + "@angular/platform-browser-dynamic": "^17.3.3", + "@ngrx/effects": "^17.1.1", + "@ngrx/store": "^17.1.1", "@types/d3": "^7.4.3", "ajv": "^6.12.6", "color-convert": "^2.0.1", @@ -98,14 +98,14 @@ "three": "^0.126.1", "three-orbit-controls": "^82.1.0", "typescript-json-schema": "0.56.0", - "zone.js": "^0.13.3" + "zone.js": "^0.14.4" }, "devDependencies": { - "@angular-builders/custom-webpack": "^16.0.1", - "@angular-devkit/build-angular": "^16.2.10", - "@angular/cli": "^16.2.10", - "@angular/compiler": "^16.2.12", - "@angular/compiler-cli": "^16.2.12", + "@angular-builders/custom-webpack": "^17.0.2", + "@angular-devkit/build-angular": "^17.3.3", + "@angular/cli": "^17.3.3", + "@angular/compiler": "^17.3.3", + "@angular/compiler-cli": "^17.3.3", "@babel/plugin-transform-class-static-block": "^7.23.3", "@electron/get": "^2.0.3", "@testing-library/angular": "^14.3.0", @@ -127,13 +127,13 @@ "html-loader": "^4.0.0", "jest": "^29.7.0", "jest-canvas-mock": "^2.4.0", - "jest-preset-angular": "^13.1.3", + "jest-preset-angular": "^14.0.3", "jest-puppeteer": "^10.0.1", "lint-staged": "^13.0.0", "marked": "^4.3.0", "puppeteer": "^19.11.1", "ts-jest": "^29.0.5", - "typescript": "~4.9.4", + "typescript": "^5.2.2", "webpack-glsl-loader": "^1.0.1" } } diff --git a/gh-pages/visualization/app/polyfills.68ea60099120c372.js b/gh-pages/visualization/app/polyfills.68ea60099120c372.js new file mode 100644 index 0000000000..ca51dbe5df --- /dev/null +++ b/gh-pages/visualization/app/polyfills.68ea60099120c372.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkvisualization=self.webpackChunkvisualization||[]).push([[461],{2471:(ce,Ee,de)=>{de(6935)},6935:()=>{!function(t){const n=t.performance;function i(L){n&&n.mark&&n.mark(L)}function o(L,T){n&&n.measure&&n.measure(L,T)}i("Zone");const c=t.__Zone_symbol_prefix||"__zone_symbol__";function a(L){return c+L}const y=!0===t[a("forceDuplicateZoneCheck")];if(t.Zone){if(y||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}let d=(()=>{class L{static{this.__symbol__=a}static assertZonePatched(){if(t.Promise!==se.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=L.current;for(;e.parent;)e=e.parent;return e}static get current(){return U.zone}static get currentTask(){return oe}static __load_patch(e,r,k=!1){if(se.hasOwnProperty(e)){if(!k&&y)throw Error("Already loaded patch: "+e)}else if(!t["__Zone_disable_"+e]){const C="Zone:"+e;i(C),se[e]=r(t,L,X),o(C,C)}}get parent(){return this._parent}get name(){return this._name}constructor(e,r){this._parent=e,this._name=r?r.name||"unnamed":"",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}get(e){const r=this.getZoneWith(e);if(r)return r._properties[e]}getZoneWith(e){let r=this;for(;r;){if(r._properties.hasOwnProperty(e))return r;r=r._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,r){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const k=this._zoneDelegate.intercept(this,e,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(e,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,e,r,k,C)}finally{U=U.parent}}runGuarded(e,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,e,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(e,r,k){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||K).name+"; Execution: "+this.name+")");if(e.state===x&&(e.type===Q||e.type===P))return;const C=e.state!=E;C&&e._transitionTo(E,j),e.runCount++;const $=oe;oe=e,U={parent:U,zone:this};try{e.type==P&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,r,k)}catch(u){if(this._zoneDelegate.handleError(this,u))throw u}}finally{e.state!==x&&e.state!==h&&(e.type==Q||e.data&&e.data.isPeriodic?C&&e._transitionTo(j,E):(e.runCount=0,this._updateTaskCount(e,-1),C&&e._transitionTo(x,E,x))),U=U.parent,oe=$}}scheduleTask(e){if(e.zone&&e.zone!==this){let k=this;for(;k;){if(k===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);k=k.parent}}e._transitionTo(q,x);const r=[];e._zoneDelegates=r,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(k){throw e._transitionTo(h,q,x),this._zoneDelegate.handleError(this,k),k}return e._zoneDelegates===r&&this._updateTaskCount(e,1),e.state==q&&e._transitionTo(j,q),e}scheduleMicroTask(e,r,k,C){return this.scheduleTask(new p(I,e,r,k,C,void 0))}scheduleMacroTask(e,r,k,C,$){return this.scheduleTask(new p(P,e,r,k,C,$))}scheduleEventTask(e,r,k,C,$){return this.scheduleTask(new p(Q,e,r,k,C,$))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||K).name+"; Execution: "+this.name+")");if(e.state===j||e.state===E){e._transitionTo(G,j,E);try{this._zoneDelegate.cancelTask(this,e)}catch(r){throw e._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(e,-1),e._transitionTo(x,G),e.runCount=0,e}}_updateTaskCount(e,r){const k=e._zoneDelegates;-1==r&&(e._zoneDelegates=null);for(let C=0;CL.hasTask(e,r),onScheduleTask:(L,T,e,r)=>L.scheduleTask(e,r),onInvokeTask:(L,T,e,r,k,C)=>L.invokeTask(e,r,k,C),onCancelTask:(L,T,e,r)=>L.cancelTask(e,r)};class v{constructor(T,e,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=T,this._parentDelegate=e,this._forkZS=r&&(r&&r.onFork?r:e._forkZS),this._forkDlgt=r&&(r.onFork?e:e._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:e._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:e._interceptZS),this._interceptDlgt=r&&(r.onIntercept?e:e._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:e._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:e._invokeZS),this._invokeDlgt=r&&(r.onInvoke?e:e._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:e._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:e._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?e:e._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:e._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:e._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?e:e._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:e._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:e._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?e:e._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:e._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:e._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?e:e._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:e._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||e&&e._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=e,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=T,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=e,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=e,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=e,this._cancelTaskCurrZone=this.zone))}fork(T,e){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,T,e):new d(T,e)}intercept(T,e,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,T,e,r):e}invoke(T,e,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,T,e,r,k,C):e.apply(r,k)}handleError(T,e){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,T,e)}scheduleTask(T,e){let r=e;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,T,e),r||(r=e);else if(e.scheduleFn)e.scheduleFn(e);else{if(e.type!=I)throw new Error("Task is missing scheduleFn.");R(e)}return r}invokeTask(T,e,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,T,e,r,k):e.callback.apply(r,k)}cancelTask(T,e){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,T,e);else{if(!e.cancelFn)throw Error("Task is not cancelable");r=e.cancelFn(e)}return r}hasTask(T,e){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,T,e)}catch(r){this.handleError(T,r)}}_updateTaskCount(T,e){const r=this._taskCounts,k=r[T],C=r[T]=k+e;if(C<0)throw new Error("More tasks executed then were scheduled.");0!=k&&0!=C||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:T})}}class p{constructor(T,e,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=T,this.source=e,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const u=this;this.invoke=T===Q&&k&&k.useG?p.invokeTask:function(){return p.invokeTask.call(t,u,this,arguments)}}static invokeTask(T,e,r){T||(T=this),te++;try{return T.runCount++,T.zone.runTask(T,e,r)}finally{1==te&&_(),te--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,q)}_transitionTo(T,e,r){if(this._state!==e&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${T}', expecting state '${e}'${r?" or '"+r+"'":""}, was '${this._state}'.`);this._state=T,T==x&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const M=a("setTimeout"),Z=a("Promise"),N=a("then");let J,B=[],H=!1;function z(L){if(J||t[Z]&&(J=t[Z].resolve(0)),J){let T=J[N];T||(T=J.then),T.call(J,L)}else t[M](L,0)}function R(L){0===te&&0===B.length&&z(_),L&&B.push(L)}function _(){if(!H){for(H=!0;B.length;){const L=B;B=[];for(let T=0;TU,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:R,showUncaughtError:()=>!d[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:z};let U={parent:null,zone:new d(null,null)},oe=null,te=0;function W(){}o("Zone","Zone"),t.Zone=d}(globalThis);const ce=Object.getOwnPropertyDescriptor,Ee=Object.defineProperty,de=Object.getPrototypeOf,ge=Object.create,Fe=Array.prototype.slice,Oe="addEventListener",Ze="removeEventListener",Ne=Zone.__symbol__(Oe),Ie=Zone.__symbol__(Ze),ae="true",le="false",ke=Zone.__symbol__("");function Me(t,n){return Zone.current.wrap(t,n)}function Le(t,n,i,o,c){return Zone.current.scheduleMacroTask(t,n,i,o,c)}const A=Zone.__symbol__,we=typeof window<"u",Te=we?window:void 0,Y=we&&Te||globalThis,at="removeAttribute";function je(t,n){for(let i=t.length-1;i>=0;i--)"function"==typeof t[i]&&(t[i]=Me(t[i],n+"_"+i));return t}function Be(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&typeof t.set>"u")}const Ue=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Re=!("nw"in Y)&&typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process),Ae=!Re&&!Ue&&!(!we||!Te.HTMLElement),We=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Ue&&!(!we||!Te.HTMLElement),Ce={},ze=function(t){if(!(t=t||Y.event))return;let n=Ce[t.type];n||(n=Ce[t.type]=A("ON_PROPERTY"+t.type));const i=this||t.target||Y,o=i[n];let c;return Ae&&i===Te&&"error"===t.type?(c=o&&o.call(this,t.message,t.filename,t.lineno,t.colno,t.error),!0===c&&t.preventDefault()):(c=o&&o.apply(this,arguments),null!=c&&!c&&t.preventDefault()),c};function qe(t,n,i){let o=ce(t,n);if(!o&&i&&ce(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=A("on"+n+"patched");if(t.hasOwnProperty(c)&&t[c])return;delete o.writable,delete o.value;const a=o.get,y=o.set,d=n.slice(2);let b=Ce[d];b||(b=Ce[d]=A("ON_PROPERTY"+d)),o.set=function(v){let p=this;!p&&t===Y&&(p=Y),p&&("function"==typeof p[b]&&p.removeEventListener(d,ze),y&&y.call(p,null),p[b]=v,"function"==typeof v&&p.addEventListener(d,ze,!1))},o.get=function(){let v=this;if(!v&&t===Y&&(v=Y),!v)return null;const p=v[b];if(p)return p;if(a){let M=a.call(this);if(M)return o.set.call(this,M),"function"==typeof v[at]&&v.removeAttribute(n),M}return null},Ee(t,n,o),t[c]=!0}function Xe(t,n,i){if(n)for(let o=0;ofunction(y,d){const b=i(y,d);return b.cbIdx>=0&&"function"==typeof d[b.cbIdx]?Le(b.name,d[b.cbIdx],b,c):a.apply(y,d)})}function fe(t,n){t[A("OriginalDelegate")]=n}let Ye=!1,He=!1;function ht(){if(Ye)return He;Ye=!0;try{const t=Te.navigator.userAgent;(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/")||-1!==t.indexOf("Edge/"))&&(He=!0)}catch{}return He}Zone.__load_patch("ZoneAwarePromise",(t,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,y=i.symbol,d=[],b=!1!==t[y("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=y("Promise"),p=y("then"),M="__creationTrace__";i.onUnhandledError=u=>{if(i.showUncaughtError()){const l=u&&u.rejection;l?console.error("Unhandled Promise rejection:",l instanceof Error?l.message:l,"; Zone:",u.zone.name,"; Task:",u.task&&u.task.source,"; Value:",l,l instanceof Error?l.stack:void 0):console.error(u)}},i.microtaskDrainDone=()=>{for(;d.length;){const u=d.shift();try{u.zone.runGuarded(()=>{throw u.throwOriginal?u.rejection:u})}catch(l){N(l)}}};const Z=y("unhandledPromiseRejectionHandler");function N(u){i.onUnhandledError(u);try{const l=n[Z];"function"==typeof l&&l.call(this,u)}catch{}}function B(u){return u&&u.then}function H(u){return u}function J(u){return e.reject(u)}const z=y("state"),R=y("value"),_=y("finally"),K=y("parentPromiseValue"),x=y("parentPromiseState"),q="Promise.then",j=null,E=!0,G=!1,h=0;function I(u,l){return s=>{try{X(u,l,s)}catch(f){X(u,!1,f)}}}const P=function(){let u=!1;return function(s){return function(){u||(u=!0,s.apply(null,arguments))}}},Q="Promise resolved with itself",se=y("currentTaskTrace");function X(u,l,s){const f=P();if(u===s)throw new TypeError(Q);if(u[z]===j){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{X(u,!1,w)})(),u}if(l!==G&&s instanceof e&&s.hasOwnProperty(z)&&s.hasOwnProperty(R)&&s[z]!==j)oe(s),X(u,s[z],s[R]);else if(l!==G&&"function"==typeof g)try{g.call(s,f(I(u,l)),f(I(u,!1)))}catch(w){f(()=>{X(u,!1,w)})()}else{u[z]=l;const w=u[R];if(u[R]=s,u[_]===_&&l===E&&(u[z]=u[x],u[R]=u[K]),l===G&&s instanceof Error){const m=n.currentTask&&n.currentTask.data&&n.currentTask.data[M];m&&c(s,se,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{try{const D=u[R],S=!!s&&_===s[_];S&&(s[K]=D,s[x]=w);const O=l.run(m,void 0,S&&m!==J&&m!==H?[]:[D]);X(s,!0,O)}catch(D){X(s,!1,D)}},s)}const L=function(){},T=t.AggregateError;class e{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(l){return l instanceof e?l:X(new this(null),E,l)}static reject(l){return X(new this(null),G,l)}static withResolvers(){const l={};return l.promise=new e((s,f)=>{l.resolve=s,l.reject=f}),l}static any(l){if(!l||"function"!=typeof l[Symbol.iterator])return Promise.reject(new T([],"All promises were rejected"));const s=[];let f=0;try{for(let m of l)f++,s.push(e.resolve(m))}catch{return Promise.reject(new T([],"All promises were rejected"))}if(0===f)return Promise.reject(new T([],"All promises were rejected"));let g=!1;const w=[];return new e((m,D)=>{for(let S=0;S{g||(g=!0,m(O))},O=>{w.push(O),f--,0===f&&(g=!0,D(new T(w,"All promises were rejected")))})})}static race(l){let s,f,g=new this((D,S)=>{s=D,f=S});function w(D){s(D)}function m(D){f(D)}for(let D of l)B(D)||(D=this.resolve(D)),D.then(w,m);return g}static all(l){return e.allWithCallback(l)}static allSettled(l){return(this&&this.prototype instanceof e?this:e).allWithCallback(l,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(l,s){let f,g,w=new this((O,V)=>{f=O,g=V}),m=2,D=0;const S=[];for(let O of l){B(O)||(O=this.resolve(O));const V=D;try{O.then(F=>{S[V]=s?s.thenCallback(F):F,m--,0===m&&f(S)},F=>{s?(S[V]=s.errorCallback(F),m--,0===m&&f(S)):g(F)})}catch(F){g(F)}m++,D++}return m-=2,0===m&&f(S),w}constructor(l){const s=this;if(!(s instanceof e))throw new Error("Must be an instanceof Promise.");s[z]=j,s[R]=[];try{const f=P();l&&l(f(I(s,E)),f(I(s,G)))}catch(f){X(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return e}then(l,s){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||e);const g=new f(L),w=n.current;return this[z]==j?this[R].push(w,g,l,s):te(this,w,g,l,s),g}catch(l){return this.then(null,l)}finally(l){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=e);const f=new s(L);f[_]=_;const g=n.current;return this[z]==j?this[R].push(g,f,l,l):te(this,g,f,l,l),f}}e.resolve=e.resolve,e.reject=e.reject,e.race=e.race,e.all=e.all;const r=t[v]=t.Promise;t.Promise=e;const k=y("thenPatched");function C(u){const l=u.prototype,s=o(l,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=l.then;l[p]=f,u.prototype.then=function(g,w){return new e((D,S)=>{f.call(this,D,S)}).then(g,w)},u[k]=!0}return i.patchThen=C,r&&(C(r),ue(t,"fetch",u=>function $(u){return function(l,s){let f=u.apply(l,s);if(f instanceof e)return f;let g=f.constructor;return g[k]||C(g),f}}(u))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,e}),Zone.__load_patch("toString",t=>{const n=Function.prototype.toString,i=A("OriginalDelegate"),o=A("Promise"),c=A("Error"),a=function(){if("function"==typeof this){const v=this[i];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const p=t[o];if(p)return n.call(p)}if(this===Error){const p=t[c];if(p)return n.call(p)}}return n.call(this)};a[i]=n,Function.prototype.toString=a;const y=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":y.call(this)}});let ye=!1;if(typeof window<"u")try{const t=Object.defineProperty({},"passive",{get:function(){ye=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch{ye=!1}const dt={useG:!0},ne={},$e={},Ke=new RegExp("^"+ke+"(\\w+)(true|false)$"),Je=A("propagationStopped");function Qe(t,n){const i=(n?n(t):t)+le,o=(n?n(t):t)+ae,c=ke+i,a=ke+o;ne[t]={},ne[t][le]=c,ne[t][ae]=a}function _t(t,n,i,o){const c=o&&o.add||Oe,a=o&&o.rm||Ze,y=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=A(c),v="."+c+":",p="prependListener",M="."+p+":",Z=function(R,_,K){if(R.isRemoved)return;const x=R.callback;let q;"object"==typeof x&&x.handleEvent&&(R.callback=E=>x.handleEvent(E),R.originalDelegate=x);try{R.invoke(R,_,[K])}catch(E){q=E}const j=R.options;return j&&"object"==typeof j&&j.once&&_[a].call(_,K.type,R.originalDelegate?R.originalDelegate:R.callback,j),q};function N(R,_,K){if(!(_=_||t.event))return;const x=R||_.target||t,q=x[ne[_.type][K?ae:le]];if(q){const j=[];if(1===q.length){const E=Z(q[0],x,_);E&&j.push(E)}else{const E=q.slice();for(let G=0;G{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function J(R,_){if(!R)return!1;let K=!0;_&&void 0!==_.useG&&(K=_.useG);const x=_&&_.vh;let q=!0;_&&void 0!==_.chkDup&&(q=_.chkDup);let j=!1;_&&void 0!==_.rt&&(j=_.rt);let E=R;for(;E&&!E.hasOwnProperty(c);)E=de(E);if(!E&&R[c]&&(E=R),!E||E[b])return!1;const G=_&&_.eventNameToString,h={},I=E[b]=E[c],P=E[A(a)]=E[a],Q=E[A(y)]=E[y],se=E[A(d)]=E[d];let X;_&&_.prepend&&(X=E[A(_.prepend)]=E[_.prepend]);const e=K?function(s){if(!h.isExisting)return I.call(h.target,h.eventName,h.capture?H:B,h.options)}:function(s){return I.call(h.target,h.eventName,s.invoke,h.options)},r=K?function(s){if(!s.isRemoved){const f=ne[s.eventName];let g;f&&(g=f[s.capture?ae:le]);const w=g&&s.target[g];if(w)for(let m=0;m{ie.zone.cancelTask(ie)},{once:!0})),h.target=null,Pe&&(Pe.taskData=null),rt&&(ee.once=!0),!ye&&"boolean"==typeof ie.options||(ie.options=ee),ie.target=S,ie.capture=Ge,ie.eventName=O,F&&(ie.originalDelegate=V),D?me.unshift(ie):me.push(ie),m?S:void 0}};return E[c]=l(I,v,e,r,j),X&&(E[p]=l(X,M,function(s){return X.call(h.target,h.eventName,s.invoke,h.options)},r,j,!0)),E[a]=function(){const s=this||t;let f=arguments[0];_&&_.transferEventName&&(f=_.transferEventName(f));const g=arguments[2],w=!!g&&("boolean"==typeof g||g.capture),m=arguments[1];if(!m)return P.apply(this,arguments);if(x&&!x(P,m,s,arguments))return;const D=ne[f];let S;D&&(S=D[w?ae:le]);const O=S&&s[S];if(O)for(let V=0;Vfunction(c,a){c[Je]=!0,o&&o.apply(c,a)})}function Tt(t,n,i,o,c){const a=Zone.__symbol__(o);if(n[a])return;const y=n[a]=n[o];n[o]=function(d,b,v){return b&&b.prototype&&c.forEach(function(p){const M=`${i}.${o}::`+p,Z=b.prototype;try{if(Z.hasOwnProperty(p)){const N=t.ObjectGetOwnPropertyDescriptor(Z,p);N&&N.value?(N.value=t.wrapWithCurrentZone(N.value,M),t._redefineProperty(b.prototype,p,N)):Z[p]&&(Z[p]=t.wrapWithCurrentZone(Z[p],M))}else Z[p]&&(Z[p]=t.wrapWithCurrentZone(Z[p],M))}catch{}}),y.call(n,d,b,v)},t.attachOriginToPatched(n[o],y)}function tt(t,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===t);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function nt(t,n,i,o){t&&Xe(t,tt(t,n,i),o)}function xe(t){return Object.getOwnPropertyNames(t).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(t,n,i)=>{const o=xe(t);i.patchOnProperties=Xe,i.patchMethod=ue,i.bindArguments=je,i.patchMacroTask=ut;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");t[a]&&(t[c]=t[a]),t[c]&&(n[c]=n[a]=t[c]),i.patchEventPrototype=Et,i.patchEventTarget=_t,i.isIEOrEdge=ht,i.ObjectDefineProperty=Ee,i.ObjectGetOwnPropertyDescriptor=ce,i.ObjectCreate=ge,i.ArraySlice=Fe,i.patchClass=ve,i.wrapWithCurrentZone=Me,i.filterProperties=tt,i.attachOriginToPatched=fe,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Tt,i.getGlobalObjects=()=>({globalSources:$e,zoneSymbolEventNames:ne,eventNames:o,isBrowser:Ae,isMix:We,isNode:Re,TRUE_STR:ae,FALSE_STR:le,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Oe,REMOVE_EVENT_LISTENER_STR:Ze})});const De=A("zoneTask");function pe(t,n,i,o){let c=null,a=null;i+=o;const y={};function d(v){const p=v.data;return p.args[0]=function(){return v.invoke.apply(this,arguments)},p.handleId=c.apply(t,p.args),v}function b(v){return a.call(t,v.data.handleId)}c=ue(t,n+=o,v=>function(p,M){if("function"==typeof M[0]){const Z={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?M[1]||0:void 0,args:M},N=M[0];M[0]=function(){try{return N.apply(this,arguments)}finally{Z.isPeriodic||("number"==typeof Z.handleId?delete y[Z.handleId]:Z.handleId&&(Z.handleId[De]=null))}};const B=Le(n,M[0],Z,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?y[H]=B:H&&(H[De]=B),H&&H.ref&&H.unref&&"function"==typeof H.ref&&"function"==typeof H.unref&&(B.ref=H.ref.bind(H),B.unref=H.unref.bind(H)),"number"==typeof H||H?H:B}return v.apply(t,M)}),a=ue(t,i,v=>function(p,M){const Z=M[0];let N;"number"==typeof Z?N=y[Z]:(N=Z&&Z[De],N||(N=Z)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof Z?delete y[Z]:Z&&(Z[De]=null),N.zone.cancelTask(N)):v.apply(t,M)})}Zone.__load_patch("legacy",t=>{const n=t[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",t=>{const n="set",i="clear";pe(t,n,i,"Timeout"),pe(t,n,i,"Interval"),pe(t,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",t=>{pe(t,"request","cancel","AnimationFrame"),pe(t,"mozRequest","mozCancel","AnimationFrame"),pe(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(t,n)=>{const i=["alert","prompt","confirm"];for(let o=0;ofunction(b,v){return n.current.run(a,t,v,d)})}),Zone.__load_patch("EventTarget",(t,n,i)=>{(function kt(t,n){n.patchEventPrototype(t,n)})(t,i),function gt(t,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:o,TRUE_STR:c,FALSE_STR:a,ZONE_SYMBOL_PREFIX:y}=n.getGlobalObjects();for(let b=0;b{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(t,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(t,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(t,n,i)=>{!function yt(t,n){if(Re&&!We||Zone[t.symbol("patchEvents")])return;const i=n.__Zone_ignore_on_properties;let o=[];if(Ae){const c=window;o=o.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const a=function ft(){try{const t=Te.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];nt(c,xe(c),i&&i.concat(a),de(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c{!function mt(t,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&t.customElements&&"customElements"in t&&n.patchCallbacks(n,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"])}(t,i)}),Zone.__load_patch("XHR",(t,n)=>{!function b(v){const p=v.XMLHttpRequest;if(!p)return;const M=p.prototype;let N=M[Ne],B=M[Ie];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Ne],B=I[Ie]}}const H="readystatechange",J="scheduled";function z(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Ne],B=P[Ie]),Q&&B.call(P,H,Q);const se=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===J){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const oe=h.invoke;h.invoke=function(){const te=P[n.__symbol__("loadfalse")];for(let W=0;Wfunction(h,I){return h[o]=0==I[2],h[y]=I[1],K.apply(h,I)}),q=A("fetchTaskAborting"),j=A("fetchTaskScheduling"),E=ue(M,"send",()=>function(h,I){if(!0===n.current[j]||h[o])return E.apply(h,I);{const P={target:h,url:h[y],isPeriodic:!1,args:I,aborted:!1},Q=Le("XMLHttpRequest.send",R,P,z,_);h&&!0===h[d]&&!P.aborted&&Q.state===J&&Q.invoke()}}),G=ue(M,"abort",()=>function(h,I){const P=function Z(h){return h[i]}(h);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[q])return G.apply(h,I)})}(t);const i=A("xhrTask"),o=A("xhrSync"),c=A("xhrListener"),a=A("xhrScheduled"),y=A("xhrURL"),d=A("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function lt(t,n){const i=t.constructor.name;for(let o=0;o{const b=function(){return d.apply(this,je(arguments,i+"."+c))};return fe(b,d),b})(a)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(t,n)=>{function i(o){return function(c){et(t,o).forEach(y=>{const d=t.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});y.invoke(b)}})}}t.PromiseRejectionEvent&&(n[A("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[A("rejectionHandledHandler")]=i("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(t,n,i)=>{!function pt(t,n){n.patchMethod(t,"queueMicrotask",i=>function(o,c){Zone.current.scheduleMicroTask("queueMicrotask",c[0])})}(t,i)})}},ce=>{ce(ce.s=2471)}]); \ No newline at end of file diff --git a/gh-pages/visualization/app/runtime.dfc9d9fad8fea6e6.js b/gh-pages/visualization/app/runtime.dfc9d9fad8fea6e6.js new file mode 100644 index 0000000000..799a8addb7 --- /dev/null +++ b/gh-pages/visualization/app/runtime.dfc9d9fad8fea6e6.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,v={},d={};function a(e){var n=d[e];if(void 0!==n)return n.exports;var r=d[e]={exports:{}};return v[e].call(r.exports,r,r.exports,a),r.exports}a.m=v,e=[],a.O=(n,r,u,l)=>{if(!r){var i=1/0;for(t=0;t=l)&&Object.keys(a.O).every(p=>a.O[p](r[o]))?r.splice(o--,1):(c=!1,l0&&e[t-1][2]>l;t--)e[t]=e[t-1];e[t]=[r,u,l]},a.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return a.d(n,{a:n}),n},a.d=(e,n)=>{for(var r in n)a.o(n,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},a.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),a.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={121:0};a.O.j=u=>0===e[u];var n=(u,l)=>{var o,f,[t,i,c]=l,s=0;if(t.some(_=>0!==e[_])){for(o in i)a.o(i,o)&&(a.m[o]=i[o]);if(c)var b=c(a)}for(u&&u(l);sli{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eeeeee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scaleY(-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}:root .mat-mdc-checkbox.mat-accent{--mdc-checkbox-selected-checkmark-color: #fff !important}html{--mat-ripple-color: rgba(0, 0, 0, .1)}html,.mat-accent{--mat-option-selected-state-label-text-color: #1b9cfc;--mat-option-label-text-color: rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(0, 0, 0, .04)}.mat-warn{--mat-option-selected-state-label-text-color: #f44336;--mat-option-label-text-color: rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color: rgba(0, 0, 0, .04)}html{--mat-optgroup-label-text-color: rgba(0, 0, 0, .87)}.mat-primary,html,.mat-accent{--mat-full-pseudo-checkbox-selected-icon-color: #1b9cfc;--mat-full-pseudo-checkbox-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: #b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color: #b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color: #1b9cfc;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: #b0b0b0}.mat-warn{--mat-full-pseudo-checkbox-selected-icon-color: #f44336;--mat-full-pseudo-checkbox-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color: #fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color: #b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color: #b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color: #f44336;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: #b0b0b0}html{--mat-app-background-color: #fafafa;--mat-app-text-color: rgba(0, 0, 0, .87)}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}html{--mdc-text-button-container-shape: 4px;--mdc-text-button-keep-touch-target: false;--mdc-filled-button-container-shape: 4px;--mdc-filled-button-keep-touch-target: false;--mdc-protected-button-container-shape: 4px;--mdc-protected-button-keep-touch-target: false;--mdc-outlined-button-keep-touch-target: false;--mdc-outlined-button-outline-width: 1px;--mdc-outlined-button-container-shape: 4px;--mat-text-button-horizontal-padding: 8px;--mat-text-button-with-icon-horizontal-padding: 8px;--mat-text-button-icon-spacing: 8px;--mat-text-button-icon-offset: 0;--mat-filled-button-horizontal-padding: 16px;--mat-filled-button-icon-spacing: 8px;--mat-filled-button-icon-offset: -4px;--mat-protected-button-horizontal-padding: 16px;--mat-protected-button-icon-spacing: 8px;--mat-protected-button-icon-offset: -4px;--mat-outlined-button-horizontal-padding: 15px;--mat-outlined-button-icon-spacing: 8px;--mat-outlined-button-icon-offset: -4px}html{--mdc-text-button-label-text-color: black;--mdc-text-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mat-text-button-state-layer-color: black;--mat-text-button-disabled-state-layer-color: black;--mat-text-button-ripple-color: rgba(0, 0, 0, .1);--mat-text-button-hover-state-layer-opacity: .04;--mat-text-button-focus-state-layer-opacity: .12;--mat-text-button-pressed-state-layer-opacity: .12;--mdc-filled-button-container-color: white;--mdc-filled-button-label-text-color: black;--mdc-filled-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-filled-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mat-filled-button-state-layer-color: black;--mat-filled-button-disabled-state-layer-color: black;--mat-filled-button-ripple-color: rgba(0, 0, 0, .1);--mat-filled-button-hover-state-layer-opacity: .04;--mat-filled-button-focus-state-layer-opacity: .12;--mat-filled-button-pressed-state-layer-opacity: .12;--mdc-protected-button-container-color: white;--mdc-protected-button-label-text-color: black;--mdc-protected-button-disabled-container-color: rgba(0, 0, 0, .12);--mdc-protected-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-protected-button-container-elevation-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mdc-protected-button-disabled-container-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-protected-button-focus-container-elevation-shadow: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mdc-protected-button-hover-container-elevation-shadow: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mdc-protected-button-pressed-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-protected-button-container-shadow-color: #000;--mat-protected-button-state-layer-color: black;--mat-protected-button-disabled-state-layer-color: black;--mat-protected-button-ripple-color: rgba(0, 0, 0, .1);--mat-protected-button-hover-state-layer-opacity: .04;--mat-protected-button-focus-state-layer-opacity: .12;--mat-protected-button-pressed-state-layer-opacity: .12;--mdc-outlined-button-disabled-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-button-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-button-label-text-color: black;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: black;--mat-outlined-button-disabled-state-layer-color: black;--mat-outlined-button-ripple-color: rgba(0, 0, 0, .1);--mat-outlined-button-hover-state-layer-opacity: .04;--mat-outlined-button-focus-state-layer-opacity: .12;--mat-outlined-button-pressed-state-layer-opacity: .12}.mat-mdc-button.mat-primary,.mat-mdc-button.mat-accent{--mdc-text-button-label-text-color: #1b9cfc;--mat-text-button-state-layer-color: #1b9cfc;--mat-text-button-ripple-color: rgba(27, 156, 252, .1)}.mat-mdc-button.mat-warn{--mdc-text-button-label-text-color: #f44336;--mat-text-button-state-layer-color: #f44336;--mat-text-button-ripple-color: rgba(244, 67, 54, .1)}.mat-mdc-unelevated-button.mat-primary,.mat-mdc-unelevated-button.mat-accent{--mdc-filled-button-container-color: #1b9cfc;--mdc-filled-button-label-text-color: white;--mat-filled-button-state-layer-color: white;--mat-filled-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-unelevated-button.mat-warn{--mdc-filled-button-container-color: #f44336;--mdc-filled-button-label-text-color: white;--mat-filled-button-state-layer-color: white;--mat-filled-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-raised-button.mat-primary,.mat-mdc-raised-button.mat-accent{--mdc-protected-button-container-color: #1b9cfc;--mdc-protected-button-label-text-color: white;--mat-protected-button-state-layer-color: white;--mat-protected-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-raised-button.mat-warn{--mdc-protected-button-container-color: #f44336;--mdc-protected-button-label-text-color: white;--mat-protected-button-state-layer-color: white;--mat-protected-button-ripple-color: rgba(255, 255, 255, .1)}.mat-mdc-outlined-button.mat-primary,.mat-mdc-outlined-button.mat-accent{--mdc-outlined-button-label-text-color: #1b9cfc;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: #1b9cfc;--mat-outlined-button-ripple-color: rgba(27, 156, 252, .1)}.mat-mdc-outlined-button.mat-warn{--mdc-outlined-button-label-text-color: #f44336;--mdc-outlined-button-outline-color: rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color: #f44336;--mat-outlined-button-ripple-color: rgba(244, 67, 54, .1)}html{--mdc-text-button-container-height: 36px;--mdc-filled-button-container-height: 36px;--mdc-outlined-button-container-height: 36px;--mdc-protected-button-container-height: 36px;--mat-text-button-touch-target-display: block;--mat-filled-button-touch-target-display: block;--mat-protected-button-touch-target-display: block;--mat-outlined-button-touch-target-display: block}html{--mat-legacy-button-toggle-height: 36px;--mat-legacy-button-toggle-shape: 2px;--mat-legacy-button-toggle-focus-state-layer-opacity: 1;--mat-standard-button-toggle-shape: 4px;--mat-standard-button-toggle-hover-state-layer-opacity: .04;--mat-standard-button-toggle-focus-state-layer-opacity: .12}html{--mat-legacy-button-toggle-text-color: rgba(0, 0, 0, .38);--mat-legacy-button-toggle-state-layer-color: rgba(0, 0, 0, .12);--mat-legacy-button-toggle-selected-state-text-color: rgba(0, 0, 0, .54);--mat-legacy-button-toggle-selected-state-background-color: #e0e0e0;--mat-legacy-button-toggle-disabled-state-text-color: rgba(0, 0, 0, .26);--mat-legacy-button-toggle-disabled-state-background-color: #eeeeee;--mat-legacy-button-toggle-disabled-selected-state-background-color: #bdbdbd;--mat-standard-button-toggle-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-background-color: white;--mat-standard-button-toggle-state-layer-color: black;--mat-standard-button-toggle-selected-state-background-color: #e0e0e0;--mat-standard-button-toggle-selected-state-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-state-text-color: rgba(0, 0, 0, .26);--mat-standard-button-toggle-disabled-state-background-color: white;--mat-standard-button-toggle-disabled-selected-state-text-color: rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-selected-state-background-color: #bdbdbd;--mat-standard-button-toggle-divider-color: #e0e0e0}html{--mat-standard-button-toggle-height: 48px}html{--mdc-circular-progress-active-indicator-width: 4px;--mdc-circular-progress-size: 48px}html,html .mat-accent{--mdc-circular-progress-active-indicator-color: #1b9cfc}html .mat-warn{--mdc-circular-progress-active-indicator-color: #f44336}html{--mdc-elevated-card-container-shape: 4px;--mdc-outlined-card-container-shape: 4px;--mdc-outlined-card-outline-width: 1px}html{--mdc-elevated-card-container-color: white;--mdc-elevated-card-container-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-outlined-card-container-color: white;--mdc-outlined-card-outline-color: rgba(0, 0, 0, .12);--mdc-outlined-card-container-elevation: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-subtitle-text-color: rgba(0, 0, 0, .54)}html{--mat-select-container-elevation-shadow: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html,html .mat-mdc-form-field.mat-accent{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(27, 156, 252, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html .mat-mdc-form-field.mat-warn{--mat-select-panel-background-color: white;--mat-select-enabled-trigger-text-color: rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color: rgba(0, 0, 0, .38);--mat-select-placeholder-text-color: rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color: rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color: rgba(0, 0, 0, .38);--mat-select-focused-arrow-color: rgba(244, 67, 54, .87);--mat-select-invalid-arrow-color: rgba(244, 67, 54, .87)}html{--mat-select-arrow-transform: translateY(-8px)}html{--mat-menu-container-shape: 4px;--mat-menu-divider-bottom-spacing: 0;--mat-menu-divider-top-spacing: 0;--mat-menu-item-spacing: 16px;--mat-menu-item-icon-size: 24px;--mat-menu-item-leading-spacing: 16px;--mat-menu-item-trailing-spacing: 16px;--mat-menu-item-with-icon-leading-spacing: 16px;--mat-menu-item-with-icon-trailing-spacing: 16px}html{--mat-menu-item-label-text-color: rgba(0, 0, 0, .87);--mat-menu-item-icon-color: rgba(0, 0, 0, .87);--mat-menu-item-hover-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-item-focus-state-layer-color: rgba(0, 0, 0, .04);--mat-menu-container-color: white;--mat-menu-divider-color: rgba(0, 0, 0, .12)}html{--mdc-dialog-container-elevation-shadow: 0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mdc-dialog-container-shadow-color: #000;--mdc-dialog-container-shape: 4px;--mat-dialog-container-max-width: 80vw;--mat-dialog-container-small-max-width: 80vw;--mat-dialog-container-min-width: 0;--mat-dialog-actions-alignment: start;--mat-dialog-actions-padding: 8px;--mat-dialog-content-padding: 20px 24px;--mat-dialog-with-actions-content-padding: 20px 24px;--mat-dialog-headline-padding: 0 24px 9px}html{--mdc-dialog-container-color: white;--mdc-dialog-subhead-color: rgba(0, 0, 0, .87);--mdc-dialog-supporting-text-color: rgba(0, 0, 0, .6)}html{--mdc-plain-tooltip-container-shape: 4px;--mdc-plain-tooltip-supporting-text-line-height: 16px}html{--mdc-plain-tooltip-container-color: #616161;--mdc-plain-tooltip-supporting-text-color: #fff}html{--mdc-checkbox-disabled-selected-checkmark-color: #fff;--mdc-checkbox-selected-focus-state-layer-opacity: .16;--mdc-checkbox-selected-hover-state-layer-opacity: .04;--mdc-checkbox-selected-pressed-state-layer-opacity: .16;--mdc-checkbox-unselected-focus-state-layer-opacity: .16;--mdc-checkbox-unselected-hover-state-layer-opacity: .04;--mdc-checkbox-unselected-pressed-state-layer-opacity: .16}html{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #1b9cfc;--mdc-checkbox-selected-hover-icon-color: #1b9cfc;--mdc-checkbox-selected-icon-color: #1b9cfc;--mdc-checkbox-selected-pressed-icon-color: #1b9cfc;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #1b9cfc;--mdc-checkbox-selected-hover-state-layer-color: #1b9cfc;--mdc-checkbox-selected-pressed-state-layer-color: #1b9cfc;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38)}.mat-mdc-checkbox{--mdc-form-field-label-text-color: rgba(0, 0, 0, .87)}.mat-mdc-checkbox.mat-primary{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #1b9cfc;--mdc-checkbox-selected-hover-icon-color: #1b9cfc;--mdc-checkbox-selected-icon-color: #1b9cfc;--mdc-checkbox-selected-pressed-icon-color: #1b9cfc;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #1b9cfc;--mdc-checkbox-selected-hover-state-layer-color: #1b9cfc;--mdc-checkbox-selected-pressed-state-layer-color: #1b9cfc;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-checkbox.mat-warn{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-selected-pressed-icon-color: #f44336;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}html{--mdc-checkbox-state-layer-size: 40px;--mat-checkbox-touch-target-display: block}html{--mat-toolbar-container-background-color: whitesmoke;--mat-toolbar-container-text-color: rgba(0, 0, 0, .87)}.mat-toolbar.mat-primary,.mat-toolbar.mat-accent{--mat-toolbar-container-background-color: #1b9cfc;--mat-toolbar-container-text-color: white}.mat-toolbar.mat-warn{--mat-toolbar-container-background-color: #f44336;--mat-toolbar-container-text-color: white}html{--mat-toolbar-standard-height: 64px;--mat-toolbar-mobile-height: 56px}html{--mdc-filled-text-field-active-indicator-height: 1px;--mdc-filled-text-field-focus-active-indicator-height: 2px;--mdc-filled-text-field-container-shape: 4px;--mdc-outlined-text-field-outline-width: 1px;--mdc-outlined-text-field-focus-outline-width: 2px;--mdc-outlined-text-field-container-shape: 4px}html{--mdc-filled-text-field-caret-color: #1b9cfc;--mdc-filled-text-field-focus-active-indicator-color: #1b9cfc;--mdc-filled-text-field-focus-label-text-color: rgba(27, 156, 252, .87);--mdc-filled-text-field-container-color: whitesmoke;--mdc-filled-text-field-disabled-container-color: #fafafa;--mdc-filled-text-field-label-text-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-hover-label-text-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-filled-text-field-input-text-color: rgba(0, 0, 0, .87);--mdc-filled-text-field-disabled-input-text-color: rgba(0, 0, 0, .38);--mdc-filled-text-field-input-text-placeholder-color: rgba(0, 0, 0, .6);--mdc-filled-text-field-error-hover-label-text-color: #f44336;--mdc-filled-text-field-error-focus-label-text-color: #f44336;--mdc-filled-text-field-error-label-text-color: #f44336;--mdc-filled-text-field-error-caret-color: #f44336;--mdc-filled-text-field-active-indicator-color: rgba(0, 0, 0, .42);--mdc-filled-text-field-disabled-active-indicator-color: rgba(0, 0, 0, .06);--mdc-filled-text-field-hover-active-indicator-color: rgba(0, 0, 0, .87);--mdc-filled-text-field-error-active-indicator-color: #f44336;--mdc-filled-text-field-error-focus-active-indicator-color: #f44336;--mdc-filled-text-field-error-hover-active-indicator-color: #f44336;--mdc-outlined-text-field-caret-color: #1b9cfc;--mdc-outlined-text-field-focus-outline-color: #1b9cfc;--mdc-outlined-text-field-focus-label-text-color: rgba(27, 156, 252, .87);--mdc-outlined-text-field-label-text-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-hover-label-text-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-disabled-label-text-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-input-text-color: rgba(0, 0, 0, .87);--mdc-outlined-text-field-disabled-input-text-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-input-text-placeholder-color: rgba(0, 0, 0, .6);--mdc-outlined-text-field-error-caret-color: #f44336;--mdc-outlined-text-field-error-focus-label-text-color: #f44336;--mdc-outlined-text-field-error-label-text-color: #f44336;--mdc-outlined-text-field-error-hover-label-text-color: #f44336;--mdc-outlined-text-field-outline-color: rgba(0, 0, 0, .38);--mdc-outlined-text-field-disabled-outline-color: rgba(0, 0, 0, .06);--mdc-outlined-text-field-hover-outline-color: rgba(0, 0, 0, .87);--mdc-outlined-text-field-error-focus-outline-color: #f44336;--mdc-outlined-text-field-error-hover-outline-color: #f44336;--mdc-outlined-text-field-error-outline-color: #f44336;--mat-form-field-focus-select-arrow-color: rgba(27, 156, 252, .87);--mat-form-field-disabled-input-text-placeholder-color: rgba(0, 0, 0, .38);--mat-form-field-state-layer-color: rgba(0, 0, 0, .87);--mat-form-field-error-text-color: #f44336;--mat-form-field-select-option-text-color: inherit;--mat-form-field-select-disabled-option-text-color: GrayText;--mat-form-field-leading-icon-color: unset;--mat-form-field-disabled-leading-icon-color: unset;--mat-form-field-trailing-icon-color: unset;--mat-form-field-disabled-trailing-icon-color: unset;--mat-form-field-error-focus-trailing-icon-color: unset;--mat-form-field-error-hover-trailing-icon-color: unset;--mat-form-field-error-trailing-icon-color: unset;--mat-form-field-enabled-select-arrow-color: rgba(0, 0, 0, .54);--mat-form-field-disabled-select-arrow-color: rgba(0, 0, 0, .38);--mat-form-field-hover-state-layer-opacity: .04;--mat-form-field-focus-state-layer-opacity: .08}.mat-mdc-form-field.mat-accent{--mdc-filled-text-field-caret-color: #1b9cfc;--mdc-filled-text-field-focus-active-indicator-color: #1b9cfc;--mdc-filled-text-field-focus-label-text-color: rgba(27, 156, 252, .87);--mdc-outlined-text-field-caret-color: #1b9cfc;--mdc-outlined-text-field-focus-outline-color: #1b9cfc;--mdc-outlined-text-field-focus-label-text-color: rgba(27, 156, 252, .87);--mat-form-field-focus-select-arrow-color: rgba(27, 156, 252, .87)}.mat-mdc-form-field.mat-warn{--mdc-filled-text-field-caret-color: #f44336;--mdc-filled-text-field-focus-active-indicator-color: #f44336;--mdc-filled-text-field-focus-label-text-color: rgba(244, 67, 54, .87);--mdc-outlined-text-field-caret-color: #f44336;--mdc-outlined-text-field-focus-outline-color: #f44336;--mdc-outlined-text-field-focus-label-text-color: rgba(244, 67, 54, .87);--mat-form-field-focus-select-arrow-color: rgba(244, 67, 54, .87)}html{--mat-form-field-container-height: 56px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 16px;--mat-form-field-filled-with-label-container-padding-top: 24px;--mat-form-field-filled-with-label-container-padding-bottom: 8px}html{--mdc-list-list-item-container-shape: 0;--mdc-list-list-item-leading-avatar-shape: 50%;--mdc-list-list-item-container-color: transparent;--mdc-list-list-item-selected-container-color: transparent;--mdc-list-list-item-leading-avatar-color: transparent;--mdc-list-list-item-leading-icon-size: 24px;--mdc-list-list-item-leading-avatar-size: 40px;--mdc-list-list-item-trailing-icon-size: 24px;--mdc-list-list-item-disabled-state-layer-color: transparent;--mdc-list-list-item-disabled-state-layer-opacity: 0;--mdc-list-list-item-disabled-label-text-opacity: .38;--mdc-list-list-item-disabled-leading-icon-opacity: .38;--mdc-list-list-item-disabled-trailing-icon-opacity: .38;--mat-list-active-indicator-color: transparent;--mat-list-active-indicator-shape: 0}html{--mdc-list-list-item-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-supporting-text-color: rgba(0, 0, 0, .54);--mdc-list-list-item-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-supporting-text-color: rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-selected-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-disabled-label-text-color: black;--mdc-list-list-item-disabled-leading-icon-color: black;--mdc-list-list-item-disabled-trailing-icon-color: black;--mdc-list-list-item-hover-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-leading-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-hover-trailing-icon-color: rgba(0, 0, 0, .38);--mdc-list-list-item-focus-label-text-color: rgba(0, 0, 0, .87);--mdc-list-list-item-hover-state-layer-color: black;--mdc-list-list-item-hover-state-layer-opacity: .04;--mdc-list-list-item-focus-state-layer-color: black;--mdc-list-list-item-focus-state-layer-opacity: .12}.mdc-list-item__start,.mdc-list-item__end,.mat-accent .mdc-list-item__start,.mat-accent .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #1b9cfc;--mdc-radio-selected-hover-icon-color: #1b9cfc;--mdc-radio-selected-icon-color: #1b9cfc;--mdc-radio-selected-pressed-icon-color: #1b9cfc}.mat-warn .mdc-list-item__start,.mat-warn .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color: black;--mdc-radio-disabled-unselected-icon-color: black;--mdc-radio-unselected-hover-icon-color: #212121;--mdc-radio-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color: #f44336;--mdc-radio-selected-hover-icon-color: #f44336;--mdc-radio-selected-icon-color: #f44336;--mdc-radio-selected-pressed-icon-color: #f44336}.mat-mdc-list-option,.mat-mdc-list-option.mat-accent{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #1b9cfc;--mdc-checkbox-selected-hover-icon-color: #1b9cfc;--mdc-checkbox-selected-icon-color: #1b9cfc;--mdc-checkbox-selected-pressed-icon-color: #1b9cfc;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #1b9cfc;--mdc-checkbox-selected-hover-state-layer-color: #1b9cfc;--mdc-checkbox-selected-pressed-state-layer-color: #1b9cfc;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-option.mat-warn{--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: #f44336;--mdc-checkbox-selected-hover-icon-color: #f44336;--mdc-checkbox-selected-icon-color: #f44336;--mdc-checkbox-selected-pressed-icon-color: #f44336;--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: #f44336;--mdc-checkbox-selected-hover-state-layer-color: #f44336;--mdc-checkbox-selected-pressed-state-layer-color: #f44336;--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black}.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected.mdc-list-item--with-leading-icon .mdc-list-item__start,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated.mdc-list-item--with-leading-icon .mdc-list-item__start{color:#1b9cfc}.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__content,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__end{opacity:1}html{--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px;--mat-list-list-item-leading-icon-start-space: 16px;--mat-list-list-item-leading-icon-end-space: 32px}.mdc-list-item__start,.mdc-list-item__end{--mdc-radio-state-layer-size: 40px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}html{--mat-divider-width: 1px}html{--mat-divider-color: rgba(0, 0, 0, .12)}html{--mat-slider-value-indicator-width: auto;--mat-slider-value-indicator-height: 32px;--mat-slider-value-indicator-caret-display: block;--mat-slider-value-indicator-border-radius: 4px;--mat-slider-value-indicator-padding: 0 12px;--mat-slider-value-indicator-text-transform: none;--mat-slider-value-indicator-container-transform: translateX(-50%);--mdc-slider-active-track-height: 6px;--mdc-slider-active-track-shape: 9999px;--mdc-slider-handle-height: 20px;--mdc-slider-handle-shape: 50%;--mdc-slider-handle-width: 20px;--mdc-slider-inactive-track-height: 4px;--mdc-slider-inactive-track-shape: 9999px;--mdc-slider-with-overlap-handle-outline-width: 1px;--mdc-slider-with-tick-marks-active-container-opacity: .6;--mdc-slider-with-tick-marks-container-shape: 50%;--mdc-slider-with-tick-marks-container-size: 2px;--mdc-slider-with-tick-marks-inactive-container-opacity: .6}html{--mdc-slider-handle-color: #1b9cfc;--mdc-slider-focus-handle-color: #1b9cfc;--mdc-slider-hover-handle-color: #1b9cfc;--mdc-slider-active-track-color: #1b9cfc;--mdc-slider-inactive-track-color: #1b9cfc;--mdc-slider-with-tick-marks-inactive-container-color: #1b9cfc;--mdc-slider-with-tick-marks-active-container-color: white;--mdc-slider-disabled-active-track-color: #000;--mdc-slider-disabled-handle-color: #000;--mdc-slider-disabled-inactive-track-color: #000;--mdc-slider-label-container-color: #000;--mdc-slider-label-label-text-color: #fff;--mdc-slider-with-overlap-handle-outline-color: #fff;--mdc-slider-with-tick-marks-disabled-container-color: #000;--mdc-slider-handle-elevation: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-slider-ripple-color: #1b9cfc;--mat-slider-hover-state-layer-color: rgba(27, 156, 252, .05);--mat-slider-focus-state-layer-color: rgba(27, 156, 252, .2);--mat-slider-value-indicator-opacity: .6}html .mat-accent{--mat-slider-ripple-color: #1b9cfc;--mat-slider-hover-state-layer-color: rgba(27, 156, 252, .05);--mat-slider-focus-state-layer-color: rgba(27, 156, 252, .2);--mdc-slider-handle-color: #1b9cfc;--mdc-slider-focus-handle-color: #1b9cfc;--mdc-slider-hover-handle-color: #1b9cfc;--mdc-slider-active-track-color: #1b9cfc;--mdc-slider-inactive-track-color: #1b9cfc;--mdc-slider-with-tick-marks-inactive-container-color: #1b9cfc;--mdc-slider-with-tick-marks-active-container-color: white}html .mat-warn{--mat-slider-ripple-color: #f44336;--mat-slider-hover-state-layer-color: rgba(244, 67, 54, .05);--mat-slider-focus-state-layer-color: rgba(244, 67, 54, .2);--mdc-slider-handle-color: #f44336;--mdc-slider-focus-handle-color: #f44336;--mdc-slider-hover-handle-color: #f44336;--mdc-slider-active-track-color: #f44336;--mdc-slider-inactive-track-color: #f44336;--mdc-slider-with-tick-marks-inactive-container-color: #f44336;--mdc-slider-with-tick-marks-active-container-color: white}html{--mdc-switch-disabled-selected-icon-opacity: .38;--mdc-switch-disabled-track-opacity: .12;--mdc-switch-disabled-unselected-icon-opacity: .38;--mdc-switch-handle-height: 20px;--mdc-switch-handle-shape: 10px;--mdc-switch-handle-width: 20px;--mdc-switch-selected-icon-size: 18px;--mdc-switch-track-height: 14px;--mdc-switch-track-shape: 7px;--mdc-switch-track-width: 36px;--mdc-switch-unselected-icon-size: 18px;--mdc-switch-selected-focus-state-layer-opacity: .12;--mdc-switch-selected-hover-state-layer-opacity: .04;--mdc-switch-selected-pressed-state-layer-opacity: .1;--mdc-switch-unselected-focus-state-layer-opacity: .12;--mdc-switch-unselected-hover-state-layer-opacity: .04;--mdc-switch-unselected-pressed-state-layer-opacity: .1;--mat-switch-disabled-selected-handle-opacity: .38;--mat-switch-disabled-unselected-handle-opacity: .38;--mat-switch-unselected-handle-size: 20px;--mat-switch-selected-handle-size: 20px;--mat-switch-pressed-handle-size: 20px;--mat-switch-with-icon-handle-size: 20px;--mat-switch-selected-handle-horizontal-margin: 0;--mat-switch-selected-with-icon-handle-horizontal-margin: 0;--mat-switch-selected-pressed-handle-horizontal-margin: 0;--mat-switch-unselected-handle-horizontal-margin: 0;--mat-switch-unselected-with-icon-handle-horizontal-margin: 0;--mat-switch-unselected-pressed-handle-horizontal-margin: 0;--mat-switch-visible-track-opacity: 1;--mat-switch-hidden-track-opacity: 1;--mat-switch-visible-track-transition: transform 75ms 0ms cubic-bezier(0, 0, .2, 1);--mat-switch-hidden-track-transition: transform 75ms 0ms cubic-bezier(.4, 0, .6, 1);--mat-switch-track-outline-width: 1px;--mat-switch-track-outline-color: transparent;--mat-switch-selected-track-outline-width: 1px;--mat-switch-disabled-unselected-track-outline-width: 1px;--mat-switch-disabled-unselected-track-outline-color: transparent}html{--mdc-switch-selected-focus-state-layer-color: #038ff8;--mdc-switch-selected-handle-color: #038ff8;--mdc-switch-selected-hover-state-layer-color: #038ff8;--mdc-switch-selected-pressed-state-layer-color: #038ff8;--mdc-switch-selected-focus-handle-color: #0368b5;--mdc-switch-selected-hover-handle-color: #0368b5;--mdc-switch-selected-pressed-handle-color: #0368b5;--mdc-switch-selected-focus-track-color: #55b5fc;--mdc-switch-selected-hover-track-color: #55b5fc;--mdc-switch-selected-pressed-track-color: #55b5fc;--mdc-switch-selected-track-color: #55b5fc;--mdc-switch-disabled-selected-handle-color: #424242;--mdc-switch-disabled-selected-icon-color: #fff;--mdc-switch-disabled-selected-track-color: #424242;--mdc-switch-disabled-unselected-handle-color: #424242;--mdc-switch-disabled-unselected-icon-color: #fff;--mdc-switch-disabled-unselected-track-color: #424242;--mdc-switch-handle-surface-color: var(--mdc-theme-surface, #fff);--mdc-switch-handle-elevation-shadow: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-switch-handle-shadow-color: black;--mdc-switch-disabled-handle-elevation-shadow: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-switch-selected-icon-color: #fff;--mdc-switch-unselected-focus-handle-color: #212121;--mdc-switch-unselected-focus-state-layer-color: #424242;--mdc-switch-unselected-focus-track-color: #e0e0e0;--mdc-switch-unselected-handle-color: #616161;--mdc-switch-unselected-hover-handle-color: #212121;--mdc-switch-unselected-hover-state-layer-color: #424242;--mdc-switch-unselected-hover-track-color: #e0e0e0;--mdc-switch-unselected-icon-color: #fff;--mdc-switch-unselected-pressed-handle-color: #212121;--mdc-switch-unselected-pressed-state-layer-color: #424242;--mdc-switch-unselected-pressed-track-color: #e0e0e0;--mdc-switch-unselected-track-color: #e0e0e0;--mdc-switch-disabled-label-text-color: rgba(0, 0, 0, .38)}html .mat-mdc-slide-toggle{--mdc-form-field-label-text-color: rgba(0, 0, 0, .87)}html .mat-mdc-slide-toggle.mat-accent{--mdc-switch-selected-focus-state-layer-color: #038ff8;--mdc-switch-selected-handle-color: #038ff8;--mdc-switch-selected-hover-state-layer-color: #038ff8;--mdc-switch-selected-pressed-state-layer-color: #038ff8;--mdc-switch-selected-focus-handle-color: #0368b5;--mdc-switch-selected-hover-handle-color: #0368b5;--mdc-switch-selected-pressed-handle-color: #0368b5;--mdc-switch-selected-focus-track-color: #55b5fc;--mdc-switch-selected-hover-track-color: #55b5fc;--mdc-switch-selected-pressed-track-color: #55b5fc;--mdc-switch-selected-track-color: #55b5fc}html .mat-mdc-slide-toggle.mat-warn{--mdc-switch-selected-focus-state-layer-color: #e53935;--mdc-switch-selected-handle-color: #e53935;--mdc-switch-selected-hover-state-layer-color: #e53935;--mdc-switch-selected-pressed-state-layer-color: #e53935;--mdc-switch-selected-focus-handle-color: #b71c1c;--mdc-switch-selected-hover-handle-color: #b71c1c;--mdc-switch-selected-pressed-handle-color: #b71c1c;--mdc-switch-selected-focus-track-color: #e57373;--mdc-switch-selected-hover-track-color: #e57373;--mdc-switch-selected-pressed-track-color: #e57373;--mdc-switch-selected-track-color: #e57373}html{--mdc-switch-state-layer-size: 40px}.mat-mdc-menu-content button{margin:unset}.mat-mdc-menu-content .menu-header{font-size:9pt;height:20px;line-height:20px}.mat-mdc-menu-content .mat-mdc-menu-item{font-size:16px}.mat-mdc-dialog-container{min-width:320px}*,*:before,*:after{-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}html,body{overflow-y:hidden;overflow-x:hidden;font-family:Roboto,Helvetica Neue,sans-serif;-webkit-user-select:none;-o-user-select:none;user-select:none;width:100%;height:100%;margin:0;padding:0}button{border:0;margin:6px 8px;cursor:pointer}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(material-icons.59322316b3fd6063.woff2) format("woff2"),url(material-icons.4ad034d2c499d9b6.woff) format("woff")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Outlined;font-style:normal;font-weight:400;font-display:block;src:url(material-icons-outlined.f86cb7b0aa53f0fe.woff2) format("woff2"),url(material-icons-outlined.78a93b2079680a08.woff) format("woff")}.material-icons-outlined{font-family:Material Icons Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Round;font-style:normal;font-weight:400;font-display:block;src:url(material-icons-round.b10ec9db5b7fbc74.woff2) format("woff2"),url(material-icons-round.92dc7ca2f4c591e7.woff) format("woff")}.material-icons-round{font-family:Material Icons Round;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Sharp;font-style:normal;font-weight:400;font-display:block;src:url(material-icons-sharp.3885863ee4746422.woff2) format("woff2"),url(material-icons-sharp.a71cb2bf66c604de.woff) format("woff")}.material-icons-sharp{font-family:Material Icons Sharp;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Two Tone;font-style:normal;font-weight:400;font-display:block;src:url(material-icons-two-tone.675bd578bd14533e.woff2) format("woff2"),url(material-icons-two-tone.588d63134de807a7.woff) format("woff")}.material-icons-two-tone{font-family:Material Icons Two Tone;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"} diff --git a/visualization/CHANGELOG.md b/visualization/CHANGELOG.md index 531b9906d6..a1288ed4dd 100644 --- a/visualization/CHANGELOG.md +++ b/visualization/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/) ## [unreleased] (Added 🚀 | Changed | Removed 🗑 | Fixed 🐞 | Chore 👨‍💻 👩‍💻) +## [1.125.0] - 2024-04-24 + ### Added 🚀 - Add search bar for custom configs [#3529](https://github.com/MaibornWolff/codecharta/pull/3529) diff --git a/visualization/package-lock.json b/visualization/package-lock.json index b85ce24eab..b1e3f05f3d 100644 --- a/visualization/package-lock.json +++ b/visualization/package-lock.json @@ -1,12 +1,12 @@ { "name": "codecharta-visualization", - "version": "1.124.1", + "version": "1.125.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codecharta-visualization", - "version": "1.124.1", + "version": "1.125.0", "license": "BSD-3-Clause", "dependencies": { "@angular/animations": "^17.3.3", diff --git a/visualization/package.json b/visualization/package.json index 69183373ad..fb52ecef9c 100644 --- a/visualization/package.json +++ b/visualization/package.json @@ -10,7 +10,7 @@ "url": "https://github.com/MaibornWolff/codecharta.git" }, "name": "codecharta-visualization", - "version": "1.124.1", + "version": "1.125.0", "engines": { "node": ">=18" },