{"version":3,"file":"fikoyt-shared-SahneOzmoKafa-BE1Qe_Tv.mjs","sources":["../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/fiko-three-js/Fiko3DComponent/sahne-kafa/UstAciOzmo.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/fiko-three-js/Fiko3DComponent/sahne-kafa/AltAciOzmo.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/fiko-three-js/Fiko3DComponent/sahne-kafa/SahneOzmoKafa.ts"],"sourcesContent":["/**\r\n * UstAciOzmo - Ozmo üst açı kontrol sınıfı\r\n * Ported from old system - B Açısı (Üst)\r\n */\r\n\r\nimport * as THREE from 'three';\r\nimport { MathUtils } from 'three';\r\nconst { degToRad } = MathUtils;\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { Component, Input } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { FikoYTKokBilesenComponent } from \"@/src/service/kok-bilesen/kok-bilesen.component\";\r\nimport { FikoGrupCizim } from '../../IFikoThreeJS/FikoGrupCizim';\r\nimport { FikoCizimYalin } from '../../IFikoThreeJS/FikoCizimYalin';\r\nimport { FikoImporterWRL } from '../../IFikoThreeJS/FikoImporter.WRL';\r\nimport { FikoSahne } from '../../IFikoThreeJS/FikoSahne';\r\nimport { FikoVektor3D } from '../../IFikoThreeJS/FikoVektor3d';\r\n\r\n/**\r\n * Ozmo Üst Açı Ek Panel Component - Hızlı 3D Menü için\r\n */\r\n@Component({\r\n selector: 'fikoyt-ozmo-ust-aci-3d-ek-bilesen',\r\n standalone: true,\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Açıklama :\r\n
\r\n
Eğer Üst Açı Ve Alt Açı Sıfırda İken 3D Görüntüdeki Gibi Gözükmüyorsa Alttaki Kutucuktan Gerekli Ayarlamaları Yapabilirsiniz.
\r\n
\r\n\r\n \r\n
\r\n \r\n Kalibre Açısı :\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n Açı Artım Yönü :\r\n
\r\n
Üst Açıyı Çevirdiğinizde Saat Yönündemi Yoksa Tersi Yöndemi Artıyor.Bunu Aşağıdaki Kutucuktan Belirleyebilirsiniz
\r\n \r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n :host{\r\n color:black;\r\n font-size:0.75rem;\r\n background-color: rgba(0, 127, 127, 0.7);\r\n border-radius: 0.5em;\r\n border-bottom-right-radius: 0.5em;\r\n border-bottom-left-radius: 0.5em;\r\n border: 1px solid rgba(127, 255, 255, 0.25);\r\n padding: 1px 5px;\r\n box-shadow: 0px 0px 12px rgb(0 255 255 / 50%);\r\n pointer-events:all;\r\n }\r\n\r\n .fikoinput {\r\n background-color: rgba(0, 127, 127, 0.7);\r\n box-shadow: 0px 0px 12px rgb(0 255 255 / 50%);\r\n border: 1px solid rgba(127, 255, 255, 0.5);\r\n color: white;\r\n\r\n outline: none;\r\n width: 100%;\r\n }\r\n\r\n select{\r\n color:black;\r\n outline:none;\r\n }\r\n `],\r\n imports: [CommonModule, FormsModule]\r\n})\r\nexport class FikoOzmoUstAciEkBilesen extends FikoYTKokBilesenComponent {\r\n @Input() element: any;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n override ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n aciDegisti() {\r\n this.element.userData['FikoParametreler'][0].degisti(this.element.userData['FikoParametreler'][0].degeri);\r\n this.element?.sahne?.anaGosterim?.ciz();\r\n }\r\n}\r\n\r\nexport class UstAciOzmo extends FikoGrupCizim {\r\n override type: any = \"UstAciOzmo\";\r\n\r\n /** Açı değerleri */\r\n aci: number = 0;\r\n aciMesh: any = null;\r\n kalibrasyon: number = 0;\r\n yon: \"1\" | \"2\" = \"1\";\r\n\r\n /** FikoParametreler için degeri ve degisti property'leri */\r\n degeri: number = 0;\r\n\r\n /** Hızlı 3D menü */\r\n hizli3DMenu = [\r\n {\r\n simgeYazi: \"👁‍🗨\",\r\n baslik: \"Gizle / Göster\",\r\n renkSinif: \"yellow\",\r\n tiklandi: () => {\r\n this.visible = !this.visible;\r\n this.sahne?.anaGosterim?.FikoYT?.degisti?.emit();\r\n }\r\n },\r\n ];\r\n\r\n /** Hızlı menü ek bileşen - Ozmo için özel panel */\r\n hizliMenu3DEk = FikoOzmoUstAciEkBilesen;\r\n hizliMenu3DEkParametreler: { element: any } = { element: this };\r\n\r\n constructor(public override sahne?: FikoSahne, name?: string) {\r\n super(sahne);\r\n\r\n this.name = name || \"Üst Açı.1\";\r\n\r\n // 3D modeli yükle\r\n const importer = new FikoImporterWRL(this.sahne);\r\n importer.alUrlden(\"./assets/3D/Tav-20-Kafa/UST.FikoCizim\").then((\r\n _rslt: { yuzeyler: THREE.BufferGeometry, cizgiler: any, vertex: any }[]\r\n ) => {\r\n for (let i = 0; i < _rslt.length; i++) {\r\n const e = _rslt[i];\r\n this.aciMesh = new FikoCizimYalin(this.sahne, name ?? \"Üst Açısı\", e.yuzeyler, e.cizgiler, e.vertex);\r\n this.aciMesh.name += \".\" + (i + 1);\r\n this.aciMesh.userData['FikoArayuz'].agactaGorunur = false;\r\n this.aciMesh.userData['FikoArayuz'].listeGoster = false;\r\n this.ekle(this.aciMesh);\r\n }\r\n this.sahne?.anaGosterim?.ciz();\r\n }).catch(error => {\r\n // Basit placeholder geometry oluştur\r\n const geometry = new THREE.BoxGeometry(10, 10, 10);\r\n const material = new THREE.MeshPhongMaterial({ color: 0xFF6600 });\r\n this.aciMesh = new THREE.Mesh(geometry, material);\r\n this.aciMesh.name = name ?? \"Üst Açısı (Placeholder)\";\r\n this.ekle(this.aciMesh);\r\n this.sahne?.anaGosterim?.ciz();\r\n });\r\n\r\n this.userData['FikoArayuz'].agactaGorunur = true;\r\n this.userData['FikoArayuz'].listeGoster = true;\r\n this.userData['FikoArayuz'].simge = \"./assets/simgeler/kurdela.webp\";\r\n\r\n // FikoParametreler yapılandırması\r\n this.userData['FikoParametreler'] = [\r\n {\r\n turu: \"Çubuk\",\r\n ayar: {\r\n min: 0,\r\n maks: 360,\r\n adim: 0.1\r\n },\r\n degeri: this.aci,\r\n degisti: (dgr?: number) => {\r\n if (dgr !== undefined) {\r\n this.aci = dgr;\r\n this.degeri = dgr;\r\n }\r\n\r\n // Rotasyonu ayarla\r\n if (this.yon == \"2\") {\r\n this.setRotationFromAxisAngle(\r\n new FikoVektor3D(0, 0, 1),\r\n degToRad(180 - (this.kalibrasyon + this.aci))\r\n );\r\n } else if (this.yon == \"1\") {\r\n this.setRotationFromAxisAngle(\r\n new FikoVektor3D(0, 0, 1),\r\n degToRad(180 - (this.kalibrasyon + (360 - this.aci)))\r\n );\r\n }\r\n\r\n this.sahne?.anaGosterim?.ciz();\r\n }\r\n }\r\n ];\r\n }\r\n\r\n /**\r\n * Açı değiştir - dialog'dan çağrılacak\r\n */\r\n degisti(deger: number): void {\r\n if (this.userData['FikoParametreler']?.[0]) {\r\n this.userData['FikoParametreler'][0].degisti(deger);\r\n }\r\n }\r\n\r\n /**\r\n * PERFORMANS: Raycast override - hızlı 3D menü için\r\n * Sadece kendi aciMesh'ini yakala, alt açı mesh'lerini değil\r\n */\r\n override raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void {\r\n if (!this.visible) return;\r\n if (this.children.length < 1) return;\r\n if (!this.aciMesh) return;\r\n\r\n // Sadece kendi mesh'ini yakala - diğer açıların mesh'lerini yakalama\r\n let kesisenler = raycaster.intersectObject(this.aciMesh, true);\r\n\r\n if (kesisenler.length > 0) {\r\n const firstHit = kesisenler[0];\r\n intersects.push({\r\n object: this,\r\n distance: firstHit.distance,\r\n point: firstHit.point,\r\n face: firstHit.face,\r\n faceIndex: firstHit.faceIndex,\r\n index: firstHit.index,\r\n //@ts-ignore\r\n instanceId: this.id,\r\n //@ts-ignore\r\n altObje: firstHit.object,\r\n //@ts-ignore\r\n grup: this,\r\n //@ts-ignore\r\n enUstte: false,\r\n //@ts-ignore\r\n secilebilir: true,\r\n //@ts-ignore\r\n hizli3DMenu: this.hizli3DMenu,\r\n //@ts-ignore\r\n hizliMenu3DEk: this.hizliMenu3DEk,\r\n //@ts-ignore\r\n hizliMenu3DEkParametreler: this.hizliMenu3DEkParametreler\r\n } as any);\r\n }\r\n }\r\n}\r\n","/**\r\n * AltAciOzmo - Ozmo alt açı kontrol sınıfı\r\n * Ported from old system - C Açısı (Alt)\r\n */\r\n\r\nimport * as THREE from 'three';\r\nimport { MathUtils } from 'three';\r\nconst { degToRad } = MathUtils;\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { Component, Input } from \"@angular/core\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { FikoYTKokBilesenComponent } from \"@/src/service/kok-bilesen/kok-bilesen.component\";\r\nimport { FikoGrupCizim } from '../../IFikoThreeJS/FikoGrupCizim';\r\nimport { FikoCizimYalin } from '../../IFikoThreeJS/FikoCizimYalin';\r\nimport { FikoImporterWRL } from '../../IFikoThreeJS/FikoImporter.WRL';\r\nimport { FikoSahne } from '../../IFikoThreeJS/FikoSahne';\r\nimport { FikoVektor3D } from '../../IFikoThreeJS/FikoVektor3d';\r\nimport { FikoTakimFrezeleme } from '../../IFikoThreeJS/FikoThreeCam/FikoTakimFrezeleme';\r\n\r\n/**\r\n * Ozmo Alt Açı Ek Panel Component - Hızlı 3D Menü için\r\n */\r\n@Component({\r\n selector: 'fikoyt-ozmo-alt-aci-3d-ek-bilesen',\r\n standalone: true,\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Açıklama :\r\n
\r\n
Eğer Üst Açı Ve Alt Açı Sıfırda İken 3D Görüntüdeki Gibi Gözükmüyorsa Alttaki Kutucuktan Gerekli Ayarlamaları Yapabilirsiniz.
\r\n
\r\n\r\n \r\n
\r\n \r\n Kalibre Açısı :\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n Açı Artım Yönü :\r\n
\r\n
Alt Açıyı Çevirdiğinizde Saat Yönündemi Yoksa Tersi Yöndemi Artıyor.Bunu Aşağıdaki Kutucuktan Belirleyebilirsiniz
\r\n \r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n :host{\r\n color:black;\r\n font-size:0.75rem;\r\n background-color: rgba(0, 127, 127, 0.7);\r\n border-radius: 0.5em;\r\n border-bottom-right-radius: 0.5em;\r\n border-bottom-left-radius: 0.5em;\r\n border: 1px solid rgba(127, 255, 255, 0.25);\r\n padding: 1px 5px;\r\n box-shadow: 0px 0px 12px rgb(0 255 255 / 50%);\r\n pointer-events:all;\r\n }\r\n\r\n .fikoinput {\r\n background-color: rgba(0, 127, 127, 0.7);\r\n box-shadow: 0px 0px 12px rgb(0 255 255 / 50%);\r\n border: 1px solid rgba(127, 255, 255, 0.5);\r\n color: white;\r\n\r\n outline: none;\r\n width: 100%;\r\n }\r\n\r\n select{\r\n color:black;\r\n outline:none;\r\n }\r\n `],\r\n imports: [CommonModule, FormsModule]\r\n})\r\nexport class FikoOzmoAltAciEkBilesen extends FikoYTKokBilesenComponent {\r\n @Input() element: any;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n override ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n aciDegisti() {\r\n this.element.userData['FikoParametreler'][0].degisti(this.element.userData['FikoParametreler'][0].degeri);\r\n this.element?.sahne?.anaGosterim?.ciz();\r\n }\r\n}\r\n\r\nexport class AltAciOzmo extends FikoGrupCizim {\r\n override type: any = \"AltAciOzmo\";\r\n\r\n /** Açı değerleri */\r\n aci: number = 0;\r\n aciMesh: any = null;\r\n kalibrasyon: number = 0;\r\n yon: \"1\" | \"2\" = \"1\";\r\n takim: FikoTakimFrezeleme;\r\n\r\n /** FikoParametreler için degeri ve degisti property'leri */\r\n degeri: number = 0;\r\n\r\n /** Hızlı 3D menü */\r\n hizli3DMenu = [\r\n {\r\n simgeYazi: \"👁‍🗨\",\r\n baslik: \"Gizle / Göster\",\r\n renkSinif: \"yellow\",\r\n tiklandi: () => {\r\n this.visible = !this.visible;\r\n this.sahne?.anaGosterim?.FikoYT?.degisti?.emit();\r\n }\r\n },\r\n ];\r\n\r\n /** Hızlı menü ek bileşen - Ozmo için özel panel */\r\n hizliMenu3DEk = FikoOzmoAltAciEkBilesen;\r\n hizliMenu3DEkParametreler: { element: any } = { element: this };\r\n\r\n constructor(public override sahne?: FikoSahne, name?: string) {\r\n super(sahne);\r\n\r\n this.name = name || \"Alt Açı.1\";\r\n\r\n // 3D modeli yükle\r\n const importer = new FikoImporterWRL(this.sahne);\r\n importer.alUrlden(\"./assets/3D/Tav-20-Kafa/ALT.FikoCizim\").then((\r\n _rslt: { yuzeyler: THREE.BufferGeometry, cizgiler: any, vertex: any }[]\r\n ) => {\r\n for (let i = 0; i < _rslt.length; i++) {\r\n const e = _rslt[i];\r\n this.aciMesh = new FikoCizimYalin(this.sahne, name ?? \"Alt Açısı\", e.yuzeyler, e.cizgiler, e.vertex);\r\n this.aciMesh.name += \".\" + (i + 1);\r\n this.aciMesh.userData['FikoArayuz'].agactaGorunur = false;\r\n this.aciMesh.userData['FikoArayuz'].listeGoster = false;\r\n this.ekle(this.aciMesh);\r\n }\r\n\r\n this.sahne?.anaGosterim?.ciz();\r\n }).catch(error => {\r\n // Basit placeholder geometry oluştur\r\n const geometry = new THREE.BoxGeometry(15, 15, 15);\r\n const material = new THREE.MeshPhongMaterial({ color: 0x9900FF });\r\n this.aciMesh = new THREE.Mesh(geometry, material);\r\n this.aciMesh.name = name ?? \"Alt Açısı (Placeholder)\";\r\n this.ekle(this.aciMesh);\r\n this.sahne?.anaGosterim?.ciz();\r\n });\r\n\r\n this.userData['FikoArayuz'].agactaGorunur = true;\r\n this.userData['FikoArayuz'].listeGoster = true;\r\n this.userData['FikoArayuz'].simge = \"./assets/simgeler/kurdela.webp\";\r\n\r\n /** Takım oluştur */\r\n this.takim = new FikoTakimFrezeleme(this.sahne, 20, 10, 100, 50);\r\n this.takim.position.set(0, 0, -((203.8 + this.takim.boy)));\r\n this.ekle(this.takim);\r\n\r\n /** İlk quaternion */\r\n let q = new THREE.Quaternion().setFromAxisAngle(new FikoVektor3D(0, 0, 1), degToRad(0));\r\n this.applyQuaternion(q);\r\n\r\n this.userData.oldMatrix = this.matrix.clone();\r\n\r\n // FikoParametreler yapılandırması\r\n this.userData['FikoParametreler'] = [\r\n {\r\n turu: \"Çubuk\",\r\n ayar: {\r\n min: -94,\r\n maks: 94,\r\n adim: 0.1\r\n },\r\n degeri: this.aci,\r\n degisti: (dgr?: number) => {\r\n if (dgr !== undefined) {\r\n this.aci = dgr;\r\n this.degeri = dgr;\r\n }\r\n\r\n // PERFORMANS: Matriks operasyonları - reusable objeler kullan\r\n this.matrix.copy(this.userData.oldMatrix);\r\n this.matrix.decompose(this.position, this.quaternion, this.scale);\r\n\r\n this.position.sub(new FikoVektor3D(0, 0, -83.8));\r\n\r\n if (this.yon == \"1\") {\r\n this.position.applyQuaternion(\r\n this.quaternion.clone().setFromAxisAngle(new FikoVektor3D(-1, 0, 0), degToRad(this.kalibrasyon + this.aci))\r\n );\r\n this.setRotationFromAxisAngle(new FikoVektor3D(-1, 0, 0), degToRad(this.kalibrasyon + this.aci));\r\n } else if (this.yon == \"2\") {\r\n this.position.applyQuaternion(\r\n this.quaternion.clone().setFromAxisAngle(new FikoVektor3D(-1, 0, 0), degToRad(this.kalibrasyon + (360 - this.aci)))\r\n );\r\n this.setRotationFromAxisAngle(new FikoVektor3D(-1, 0, 0), degToRad(this.kalibrasyon + (360 - this.aci)));\r\n }\r\n\r\n this.position.add(new FikoVektor3D(0, 0, -83.8));\r\n\r\n this.sahne?.anaGosterim?.ciz();\r\n }\r\n }\r\n ];\r\n }\r\n\r\n /**\r\n * Açı değiştir - dialog'dan çağrılacak\r\n */\r\n degisti(deger: number): void {\r\n if (this.userData['FikoParametreler']?.[0]) {\r\n this.userData['FikoParametreler'][0].degisti(deger);\r\n }\r\n }\r\n\r\n /**\r\n * PERFORMANS: Raycast override - hızlı 3D menü için\r\n */\r\n override raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void {\r\n if (!this.visible) return;\r\n if (this.children.length < 1) return;\r\n if (!this.aciMesh) return;\r\n\r\n let kesisenler = raycaster.intersectObject(this.aciMesh, true);\r\n if (kesisenler.length > 0) {\r\n const firstHit = kesisenler[0];\r\n intersects.push({\r\n object: this,\r\n distance: firstHit.distance,\r\n point: firstHit.point,\r\n face: firstHit.face,\r\n faceIndex: firstHit.faceIndex,\r\n index: firstHit.index,\r\n //@ts-ignore\r\n instanceId: this.id,\r\n //@ts-ignore\r\n altObje: firstHit.object,\r\n //@ts-ignore\r\n grup: this,\r\n //@ts-ignore\r\n enUstte: false,\r\n //@ts-ignore\r\n secilebilir: true,\r\n //@ts-ignore\r\n hizli3DMenu: this.hizli3DMenu,\r\n //@ts-ignore\r\n hizliMenu3DEk: this.hizliMenu3DEk,\r\n //@ts-ignore\r\n hizliMenu3DEkParametreler: this.hizliMenu3DEkParametreler\r\n } as any);\r\n }\r\n }\r\n}\r\n","/**\r\n * SahneOzmoKafa - FikoYT Ozmo Kafa sahne sınıfı\r\n * Ported from old system to new dialog-based architecture\r\n */\r\n\r\nimport * as THREE from 'three';\r\nimport { degToRad } from 'three/src/math/MathUtils';\r\nimport { UstAciOzmo } from './UstAciOzmo';\r\nimport { AltAciOzmo } from './AltAciOzmo';\r\nimport { FikoSahne } from '../../IFikoThreeJS/FikoSahne';\r\nimport { FikoCizimler } from '../../IFikoThreeJS/FikoThreeCam/FikoCizimler';\r\nimport { FikoKaynakca } from '../../IFikoThreeJS/FikoThreeCam/FikoKaynakca';\r\nimport { FikoIsiklar } from '../../IFikoThreeJS/FikoIsiklar';\r\nimport { FikoIsikOrtam } from '../../IFikoThreeJS/FikoIsikOrtam';\r\nimport { FikoEksen } from '../../IFikoThreeJS/FikoEksen';\r\nimport { FikoTakimFrezeleme } from '../../IFikoThreeJS/FikoThreeCam/FikoTakimFrezeleme';\r\nimport { FikoVektor3D } from '../../IFikoThreeJS/FikoVektor3d';\r\nimport { FikoThreeJsComponent } from '../../fiko-three-js.component';\r\n\r\nexport class SahneOzmoKafa extends FikoSahne {\r\n /** Standart gruplar */\r\n cizimler: FikoCizimler;\r\n kaynakca: FikoKaynakca;\r\n kaynakcaIsiklar: FikoIsiklar;\r\n\r\n /** Açı kontrolleri */\r\n BAcisi: UstAciOzmo;\r\n CAcisi: AltAciOzmo;\r\n takim: FikoTakimFrezeleme;\r\n\r\n constructor(public override anaGosterim: FikoThreeJsComponent) {\r\n super(anaGosterim);\r\n\r\n // Çizimler grubu\r\n this.cizimler = new FikoCizimler(this, \"Ozmo Kafa\");\r\n\r\n // Eksen\r\n let eksen = new FikoEksen(this, \"Eksen.1\");\r\n this.cizimler.ekle(eksen);\r\n\r\n // Üst açı (B Açısı)\r\n this.BAcisi = new UstAciOzmo(this, \"Üst.1\");\r\n\r\n // Alt açı (C Açısı)\r\n this.CAcisi = new AltAciOzmo(this, \"Alt.1\");\r\n this.BAcisi.ekle(this.CAcisi);\r\n\r\n this.cizimler.ekle(this.BAcisi);\r\n\r\n // Takım (frezeleme)\r\n this.takim = new FikoTakimFrezeleme(this, 3, 1.5, 30, 15);\r\n\r\n var myDirectionVector = new FikoVektor3D(0, 0, 1);\r\n var mx = new THREE.Matrix4().lookAt(myDirectionVector, new THREE.Vector3(0, 0, 0), new THREE.Vector3(0, 0, 1));\r\n var qt = new THREE.Quaternion().setFromRotationMatrix(mx);\r\n this.takim.quaternion.copy(qt);\r\n\r\n this.cizimler.ekle(this.takim);\r\n\r\n // Takım ekseni\r\n let eksenTakim = new FikoEksen(this, \"Eksen.Takim\");\r\n eksenTakim.position.set(0, 0, -((203.8 + this.CAcisi.takim.boy)));\r\n this.cizimler.ekle(eksenTakim);\r\n\r\n // Kaynakça grubu\r\n this.kaynakca = new FikoKaynakca(this, \"FikoYT Kaynakça\");\r\n\r\n // Işıklandırma\r\n this.kaynakcaIsiklar = new FikoIsiklar(this, \"Fiko Işıklar\");\r\n let anaOrtamIsigi = new FikoIsikOrtam(this, \"Fiko Ana Ortam Işığı.1\");\r\n anaOrtamIsigi.intensity = 0.5;\r\n this.kaynakcaIsiklar.ekle(anaOrtamIsigi);\r\n\r\n this.kaynakca.ekle(this.kaynakcaIsiklar);\r\n\r\n // Sahneye ekle\r\n this.add(this.cizimler);\r\n this.add(this.kaynakca);\r\n\r\n // Kamera konumları - yeni veri formatı\r\n this.kaynakca.konumlar.kaydet(\"Fikonum.1\", \"Ozmo Kafa Görünümü\", {\r\n position: [-54.62522518603117, -136.2241883547141, -110.99939777780367],\r\n quaternion: [0.6115634792345813, -0.13987621165123368, -0.1533193529158464, 0.7634906235848999],\r\n ust: [0.3588887431892337, 0.8360886477691265, 0.4149152239718947],\r\n hedef: [-20.959900596030632, -61.447393292844616, -128.86361453995406],\r\n yakinlik: 0.40826723593892267,\r\n oran: 1\r\n });\r\n }\r\n\r\n /**\r\n * PERFORMANS: Ekrana sığdır - optimized version\r\n */\r\n override ekranaSigdir(sahne: any): void {\r\n if (!this.anaGosterim?.aktifKamera || !this.cizimler) return;\r\n\r\n const box = new THREE.Box3().setFromObject(this.cizimler);\r\n const size = box.getSize(new THREE.Vector3());\r\n const center = box.getCenter(new THREE.Vector3());\r\n\r\n const maxDim = Math.max(size.x, size.y, size.z);\r\n const fov = this.anaGosterim.aktifKamera.fov * (Math.PI / 180);\r\n let cameraZ = Math.abs(maxDim / 2 / Math.tan(fov / 2));\r\n\r\n cameraZ *= 1.5; // Zoom out biraz\r\n\r\n this.anaGosterim.aktifKamera.position.set(center.x, center.y, center.z + cameraZ);\r\n this.anaGosterim.aktifKamera.lookAt(center);\r\n this.anaGosterim.aktifKamera.updateProjectionMatrix();\r\n this.anaGosterim.ciz();\r\n }\r\n}\r\n"],"names":["degToRad"],"mappings":";;;;;;;;;;AAAA;;;AAGG;AAIH,MAAM,YAAEA,UAAQ,EAAE,GAAG,SAAS;AAW9B;;AAEG;AAmEG,MAAO,uBAAwB,SAAQ,yBAAyB,CAAA;AAGpE,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;IACT;IAES,eAAe,GAAA;QACtB,KAAK,CAAC,eAAe,EAAE;IACzB;AAEA,IAAA,QAAQ,KAAU;IAElB,UAAU,GAAA;QACR,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE;IACzC;wHAhBW,uBAAuB,GAAA,CAAA,CAAA,CAAA,CAAA;oEAAvB,uBAAuB,EAAA,SAAA,EAAA,CAAA,CAAA,mCAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,+BAAA,EAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,aAAA,EAAA,QAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,GAAA,EAAA,CAAA,EAAA,eAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,GAAA,CAAA,EAAA,CAAA,OAAA,EAAA,GAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,gCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AA1DxB,YAJR,8BAAoH,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAC1C,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CACF,UAC7D,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CACwB;YACzB,EAAA,CAAA,MAAA,CAAA,CAAA,EAAA,wBAAA,CACF;YAAA,EAAA,CAAA,YAAA,EAAM;YACN,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,CAAK;YAAC,EAAA,CAAA,MAAA,CAAA,CAAA,EAAA,iNAAA,CAA8H;AACtI,YADsI,iBAAM,EACtI;YAEN,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAsB,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAC2B,CAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CACjB;YAC1B,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,kCAAA,CACF;YAAA,EAAA,CAAA,YAAA,EAAO;YACP,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,OAAA,EAAA,CAAA,CAAoJ;YAA7I,EAAA,CAAA,gBAAA,CAAA,eAAA,EAAA,SAAA,gEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,OAAA,CAAA,WAAA,EAAA,MAAA,CAAA,KAAA,GAAA,CAAA,OAAA,CAAA,WAAA,GAAA,MAAA,CAAA,CAAA,CAAA,OAAA,MAAA,CAAA,CAAA,CAAA,CAAiC;AAAC,YAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,gEAAA,GAAA,EAAA,OAAiB,gBAAY,CAAA,CAAA,CAAA,CAAE;YAAxE,EAAA,CAAA,YAAA,EAAoJ;YAA7I,EAAA,CAAA,eAAA,EAAiC;AAE5C,YADE,iBAAM,EACD;YAEP,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAA2B;YACzB,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,6CAAA,CACF;YAAA,EAAA,CAAA,YAAA,EAAM;YACN,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAK;YAAC,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,sLAAA,CAAkH;YAAA,EAAA,CAAA,YAAA,EAAM;YAC9H,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAA+F;YAAvF,EAAA,CAAA,gBAAA,CAAA,eAAA,EAAA,SAAA,iEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,MAAA,CAAA,KAAA,GAAA,CAAA,OAAA,CAAA,GAAA,GAAA,MAAA,CAAA,CAAA,CAAA,OAAA,MAAA,CAAA,CAAA,CAAA,CAAyB;AAAC,YAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,iEAAA,GAAA,EAAA,OAAiB,gBAAY,CAAA,CAAA,CAAA,CAAE;YAC/D,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAkB;YAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,mCAAA,CAAkB;YAAA,EAAA,CAAA,YAAA,EAAS;YAC7C,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAkB;YAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,wBAAA,CAAY;AAChC,YADgC,iBAAS,EAChC;YAHD,EAAA,CAAA,eAAA,EAAyB;YAInC,EAAA,CAAA,YAAA,EAAM,EACF,EACF;;YAdW,EAAA,CAAA,SAAA,CAAA,EAAA,CAAiC;YAAjC,EAAA,CAAA,gBAAA,CAAA,SAAA,EAAA,GAAA,CAAA,OAAA,CAAA,WAAA,CAAiC;YAAjC,EAAA,CAAA,SAAA,EAAiC;YAQpC,EAAA,CAAA,SAAA,CAAA,CAAA,CAAyB;YAAzB,EAAA,CAAA,gBAAA,CAAA,SAAA,EAAA,GAAA,CAAA,OAAA,CAAA,GAAA,CAAyB;YAAzB,EAAA,CAAA,SAAA,EAAyB;AAqC/B,QAAA,CAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,CAAA,OAAA,CAAA,EAAA,MAAA,EAAA,CAAA,uZAAA,CAAA,EAAA,CAAA,CAAA;;iFAExB,uBAAuB,EAAA,CAAA;cAlEnC,SAAS;2BACE,mCAAmC,EAAA,UAAA,EACjC,IAAI,EAAA,QAAA,EACN,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,EAAA,CAAA,EAAA,OAAA,EA8BQ,CAAC,YAAY,EAAE,WAAW,CAAC,EAAA,MAAA,EAAA,CAAA,wWAAA,CAAA,EAAA;;kBAGnC;;kFADU,uBAAuB,EAAA,EAAA,SAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA;AAmB9B,MAAO,UAAW,SAAQ,aAAa,CAAA;IA6B3C,WAAA,CAA4B,KAAiB,EAAE,IAAa,EAAA;QAC1D,KAAK,CAAC,KAAK,CAAC;QADc,IAAA,CAAA,KAAK,GAAL,KAAK;QA5BxB,IAAA,CAAA,IAAI,GAAQ,YAAY;;QAGjC,IAAA,CAAA,GAAG,GAAW,CAAC;QACf,IAAA,CAAA,OAAO,GAAQ,IAAI;QACnB,IAAA,CAAA,WAAW,GAAW,CAAC;QACvB,IAAA,CAAA,GAAG,GAAc,GAAG;;QAGpB,IAAA,CAAA,MAAM,GAAW,CAAC;;AAGlB,QAAA,IAAA,CAAA,WAAW,GAAG;AACZ,YAAA;AACE,gBAAA,SAAS,EAAE,OAAO;AAClB,gBAAA,MAAM,EAAE,gBAAgB;AACxB,gBAAA,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,MAAK;AACb,oBAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;oBAC5B,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;gBAClD;AACD,aAAA;SACF;;QAGD,IAAA,CAAA,aAAa,GAAG,uBAAuB;AACvC,QAAA,IAAA,CAAA,yBAAyB,GAAqB,EAAE,OAAO,EAAE,IAAI,EAAE;AAK7D,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,WAAW;;QAG/B,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAChD,QAAQ,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAC9D,KAAqG,KACnG;AACF,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;AACpG,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,GAAG,KAAK;gBACzD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,GAAG,KAAK;AACvD,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACzB;AACA,YAAA,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE;AAChC,QAAA,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAG;;AAEf,YAAA,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAClD,YAAA,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACjE,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,yBAAyB;AACrD,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACvB,YAAA,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE;AAChC,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,GAAG,IAAI;QAChD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,GAAG,IAAI;QAC9C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,gCAAgC;;AAGpE,QAAA,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG;AAClC,YAAA;AACE,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,IAAI,EAAE;AACJ,oBAAA,GAAG,EAAE,CAAC;AACN,oBAAA,IAAI,EAAE,GAAG;AACT,oBAAA,IAAI,EAAE;AACP,iBAAA;gBACD,MAAM,EAAE,IAAI,CAAC,GAAG;AAChB,gBAAA,OAAO,EAAE,CAAC,GAAY,KAAI;AACxB,oBAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AACrB,wBAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,wBAAA,IAAI,CAAC,MAAM,GAAG,GAAG;oBACnB;;AAGA,oBAAA,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE;AACnB,wBAAA,IAAI,CAAC,wBAAwB,CAC3B,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACzBA,UAAQ,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAC9C;oBACH;AAAO,yBAAA,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE;AAC1B,wBAAA,IAAI,CAAC,wBAAwB,CAC3B,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACzBA,UAAQ,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACtD;oBACH;AAEA,oBAAA,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE;gBAChC;AACD;SACF;IACH;AAEA;;AAEG;AACH,IAAA,OAAO,CAAC,KAAa,EAAA;QACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACrD;IACF;AAEA;;;AAGG;IACM,OAAO,CAAC,SAA0B,EAAE,UAAgC,EAAA;QAC3E,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;;AAGnB,QAAA,IAAI,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;AAE9D,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,YAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC;AACd,gBAAA,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;;gBAErB,UAAU,EAAE,IAAI,CAAC,EAAE;;gBAEnB,OAAO,EAAE,QAAQ,CAAC,MAAM;;AAExB,gBAAA,IAAI,EAAE,IAAI;;AAEV,gBAAA,OAAO,EAAE,KAAK;;AAEd,gBAAA,WAAW,EAAE,IAAI;;gBAEjB,WAAW,EAAE,IAAI,CAAC,WAAW;;gBAE7B,aAAa,EAAE,IAAI,CAAC,aAAa;;gBAEjC,yBAAyB,EAAE,IAAI,CAAC;AAC1B,aAAA,CAAC;QACX;IACF;AACD;;AC5PD;;;AAGG;AAIH,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS;AAY9B;;AAEG;AAmEG,MAAO,uBAAwB,SAAQ,yBAAyB,CAAA;AAGpE,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;IACT;IAES,eAAe,GAAA;QACtB,KAAK,CAAC,eAAe,EAAE;IACzB;AAEA,IAAA,QAAQ,KAAU;IAElB,UAAU,GAAA;QACR,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE;IACzC;wHAhBW,uBAAuB,GAAA,CAAA,CAAA,CAAA,CAAA;oEAAvB,uBAAuB,EAAA,SAAA,EAAA,CAAA,CAAA,mCAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,+BAAA,EAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,aAAA,EAAA,QAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,GAAA,EAAA,CAAA,EAAA,eAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,GAAA,CAAA,EAAA,CAAA,OAAA,EAAA,GAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,gCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AA1DxB,YAJR,8BAAoH,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAC1C,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CACF,UAC7D,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CACwB;YACzB,EAAA,CAAA,MAAA,CAAA,CAAA,EAAA,wBAAA,CACF;YAAA,EAAA,CAAA,YAAA,EAAM;YACN,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,CAAK;YAAC,EAAA,CAAA,MAAA,CAAA,CAAA,EAAA,iNAAA,CAA8H;AACtI,YADsI,iBAAM,EACtI;YAEN,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAsB,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAC2B,CAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CACjB;YAC1B,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,kCAAA,CACF;YAAA,EAAA,CAAA,YAAA,EAAO;YACP,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,OAAA,EAAA,CAAA,CAAoJ;YAA7I,EAAA,CAAA,gBAAA,CAAA,eAAA,EAAA,SAAA,gEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,OAAA,CAAA,WAAA,EAAA,MAAA,CAAA,KAAA,GAAA,CAAA,OAAA,CAAA,WAAA,GAAA,MAAA,CAAA,CAAA,CAAA,OAAA,MAAA,CAAA,CAAA,CAAA,CAAiC;AAAC,YAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,gEAAA,GAAA,EAAA,OAAiB,gBAAY,CAAA,CAAA,CAAA,CAAE;YAAxE,EAAA,CAAA,YAAA,EAAoJ;YAA7I,EAAA,CAAA,eAAA,EAAiC;AAE5C,YADE,iBAAM,EACD;YAEP,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAA2B;YACzB,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,6CAAA,CACF;YAAA,EAAA,CAAA,YAAA,EAAM;YACN,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAK;YAAC,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,iLAAA,CAAkH;YAAA,EAAA,CAAA,YAAA,EAAM;YAC9H,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAA+F;YAAvF,EAAA,CAAA,gBAAA,CAAA,eAAA,EAAA,SAAA,iEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,MAAA,CAAA,KAAA,GAAA,CAAA,OAAA,CAAA,GAAA,GAAA,MAAA,CAAA,CAAA,CAAA,OAAA,MAAA,CAAA,CAAA,CAAA,CAAyB;AAAC,YAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,iEAAA,GAAA,EAAA,OAAiB,gBAAY,CAAA,CAAA,CAAA,CAAE;YAC/D,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAkB;YAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,mCAAA,CAAkB;YAAA,EAAA,CAAA,YAAA,EAAS;YAC7C,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAkB;YAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,wBAAA,CAAY;AAChC,YADgC,iBAAS,EAChC;YAHD,EAAA,CAAA,eAAA,EAAyB;YAInC,EAAA,CAAA,YAAA,EAAM,EACF,EACF;;YAdW,EAAA,CAAA,SAAA,CAAA,EAAA,CAAiC;YAAjC,EAAA,CAAA,gBAAA,CAAA,SAAA,EAAA,GAAA,CAAA,OAAA,CAAA,WAAA,CAAiC;YAAjC,EAAA,CAAA,SAAA,EAAiC;YAQpC,EAAA,CAAA,SAAA,CAAA,CAAA,CAAyB;YAAzB,EAAA,CAAA,gBAAA,CAAA,SAAA,EAAA,GAAA,CAAA,OAAA,CAAA,GAAA,CAAyB;YAAzB,EAAA,CAAA,SAAA,EAAyB;AAqC/B,QAAA,CAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,CAAA,OAAA,CAAA,EAAA,MAAA,EAAA,CAAA,uZAAA,CAAA,EAAA,CAAA,CAAA;;iFAExB,uBAAuB,EAAA,CAAA;cAlEnC,SAAS;2BACE,mCAAmC,EAAA,UAAA,EACjC,IAAI,EAAA,QAAA,EACN,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,EAAA,CAAA,EAAA,OAAA,EA8BQ,CAAC,YAAY,EAAE,WAAW,CAAC,EAAA,MAAA,EAAA,CAAA,wWAAA,CAAA,EAAA;;kBAGnC;;kFADU,uBAAuB,EAAA,EAAA,SAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA;AAmB9B,MAAO,UAAW,SAAQ,aAAa,CAAA;IA8B3C,WAAA,CAA4B,KAAiB,EAAE,IAAa,EAAA;QAC1D,KAAK,CAAC,KAAK,CAAC;QADc,IAAA,CAAA,KAAK,GAAL,KAAK;QA7BxB,IAAA,CAAA,IAAI,GAAQ,YAAY;;QAGjC,IAAA,CAAA,GAAG,GAAW,CAAC;QACf,IAAA,CAAA,OAAO,GAAQ,IAAI;QACnB,IAAA,CAAA,WAAW,GAAW,CAAC;QACvB,IAAA,CAAA,GAAG,GAAc,GAAG;;QAIpB,IAAA,CAAA,MAAM,GAAW,CAAC;;AAGlB,QAAA,IAAA,CAAA,WAAW,GAAG;AACZ,YAAA;AACE,gBAAA,SAAS,EAAE,OAAO;AAClB,gBAAA,MAAM,EAAE,gBAAgB;AACxB,gBAAA,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,MAAK;AACb,oBAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;oBAC5B,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;gBAClD;AACD,aAAA;SACF;;QAGD,IAAA,CAAA,aAAa,GAAG,uBAAuB;AACvC,QAAA,IAAA,CAAA,yBAAyB,GAAqB,EAAE,OAAO,EAAE,IAAI,EAAE;AAK7D,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,WAAW;;QAG/B,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAChD,QAAQ,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAC9D,KAAqG,KACnG;AACF,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;AACpG,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,GAAG,KAAK;gBACzD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,GAAG,KAAK;AACvD,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACzB;AAEA,YAAA,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE;AAChC,QAAA,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAG;;AAEf,YAAA,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAClD,YAAA,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACjE,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,yBAAyB;AACrD,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACvB,YAAA,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE;AAChC,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,GAAG,IAAI;QAChD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,GAAG,IAAI;QAC9C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,gCAAgC;;AAGpE,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAC1D,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;QAGrB,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACvF,QAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QAEvB,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;;AAG7C,QAAA,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG;AAClC,YAAA;AACE,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,IAAI,EAAE;oBACJ,GAAG,EAAE,CAAC,EAAE;AACR,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,IAAI,EAAE;AACP,iBAAA;gBACD,MAAM,EAAE,IAAI,CAAC,GAAG;AAChB,gBAAA,OAAO,EAAE,CAAC,GAAY,KAAI;AACxB,oBAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AACrB,wBAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,wBAAA,IAAI,CAAC,MAAM,GAAG,GAAG;oBACnB;;oBAGA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AACzC,oBAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;AAEjE,oBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAEhD,oBAAA,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE;AACnB,wBAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAC5G;wBACD,IAAI,CAAC,wBAAwB,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;oBAClG;AAAO,yBAAA,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE;AAC1B,wBAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACpH;AACD,wBAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1G;AAEA,oBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAEhD,oBAAA,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE;gBAChC;AACD;SACF;IACH;AAEA;;AAEG;AACH,IAAA,OAAO,CAAC,KAAa,EAAA;QACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACrD;IACF;AAEA;;AAEG;IACM,OAAO,CAAC,SAA0B,EAAE,UAAgC,EAAA;QAC3E,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;AAEnB,QAAA,IAAI,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;AAC9D,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,YAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC;AACd,gBAAA,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;;gBAErB,UAAU,EAAE,IAAI,CAAC,EAAE;;gBAEnB,OAAO,EAAE,QAAQ,CAAC,MAAM;;AAExB,gBAAA,IAAI,EAAE,IAAI;;AAEV,gBAAA,OAAO,EAAE,KAAK;;AAEd,gBAAA,WAAW,EAAE,IAAI;;gBAEjB,WAAW,EAAE,IAAI,CAAC,WAAW;;gBAE7B,aAAa,EAAE,IAAI,CAAC,aAAa;;gBAEjC,yBAAyB,EAAE,IAAI,CAAC;AAC1B,aAAA,CAAC;QACX;IACF;AACD;;AC9QD;;;AAGG;AAgBG,MAAO,aAAc,SAAQ,SAAS,CAAA;AAW1C,IAAA,WAAA,CAA4B,WAAiC,EAAA;QAC3D,KAAK,CAAC,WAAW,CAAC;QADQ,IAAA,CAAA,WAAW,GAAX,WAAW;;QAIrC,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC;;QAGnD,IAAI,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;QAGzB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;;QAG3C,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAE7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;AAG/B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QAEzD,IAAI,iBAAiB,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACjD,QAAA,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9G,QAAA,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;QAG9B,IAAI,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC;QACnD,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AACjE,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;;QAG9B,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC;;QAGzD,IAAI,CAAC,eAAe,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC;QAC5D,IAAI,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,wBAAwB,CAAC;AACrE,QAAA,aAAa,CAAC,SAAS,GAAG,GAAG;AAC7B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;QAExC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;;AAGxC,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;;QAGvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,oBAAoB,EAAE;YAC/D,QAAQ,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,kBAAkB,CAAC;YACvE,UAAU,EAAE,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;AAC/F,YAAA,GAAG,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;YACjE,KAAK,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,CAAC;AACtE,YAAA,QAAQ,EAAE,mBAAmB;AAC7B,YAAA,IAAI,EAAE;AACP,SAAA,CAAC;IACJ;AAEA;;AAEG;AACM,IAAA,YAAY,CAAC,KAAU,EAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE;AAEtD,QAAA,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;AACzD,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AAC7C,QAAA,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AAEjD,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/C,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAC9D,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAEtD,QAAA,OAAO,IAAI,GAAG,CAAC;QAEf,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;QACjF,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;AAC3C,QAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,sBAAsB,EAAE;AACrD,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;IACxB;AACD;;"}