be4a08a91de902184aea356985913ab871ac637b 32 KB

123456789101112131415161718192021
  1. {
  2. "code": "var Vector3 = Laya.Vector3;\r\nimport { MathTool } from \"../Util/MathTool\";\r\nimport { GlobalParam } from \"../Net/GlobalParam\";\r\nimport { Scene3DManager } from \"./Scene3DManager\";\r\nvar Quaternion = Laya.Quaternion;\r\nimport { MateManager } from \"../Manager/MateManager\";\r\nimport { GamePool } from \"./GamePool\";\r\nimport { MainRoleShot } from \"./MainRoleShot\";\r\nimport { MainRoleManager } from \"../Manager/MainRoleManager\";\r\nimport { DispatcherManager, EventType } from \"./DispatcherManager\";\r\nimport { ParticleManager } from \"./ParticleManager\";\r\nimport { RoleManager } from \"../Manager/RoleManager\";\r\nimport { PlayerManager } from \"./PlayerManager\";\r\nimport { MusicType } from \"./ColliderAndMusicType\";\r\nvar Sprite = Laya.Sprite;\r\nvar Text = Laya.Text;\r\nexport class Mate extends Laya.Script3D {\r\n constructor() {\r\n super(...arguments);\r\n this._up = new Vector3(0, 1, 0);\r\n this.isreturn = false;\r\n this.isover = false;\r\n this.isClickCom = true;\r\n this.isStop = true;\r\n this.texture1 = \"res/apes/monkey2.png\";\r\n this.texture2 = \"res/apes/monkey3.png\";\r\n this.flag = false;\r\n this.isFristShoot = true;\r\n this.ts = new Vector3(0, 0, 0.01);\r\n }\r\n onAwake() {\r\n this.selfobj = this.owner;\r\n this.tran = this.selfobj.transform;\r\n this.animator = this.selfobj.getChildAt(0).getComponent(Laya.Animator);\r\n this.rayPoint = this.selfobj.getChildByName(\"rayPoint\").transform;\r\n this.bulletPos = this.selfobj.getChildByName(\"bulletPos\").transform;\r\n this.forW = MathTool.VecZero;\r\n this.speed = GlobalParam.matespeed;\r\n this.quaternion1 = new Quaternion();\r\n }\r\n setup() {\r\n var textBox = new Sprite();\r\n var text;\r\n for (var i = 0; i < 1000; i++) {\r\n text = new Text();\r\n text.fontSize = 20;\r\n text.text = (Math.random() * 100).toFixed(0);\r\n text.rotation = Math.random() * 360;\r\n text.color = \"#CCCCCC\";\r\n text.x = Math.random() * Laya.stage.width;\r\n text.y = Math.random() * Laya.stage.height;\r\n textBox.addChild(text);\r\n }\r\n textBox.cacheAs = \"bitmap\";\r\n Laya.stage.addChild(textBox);\r\n }\r\n TrialAdd(dataPar) {\r\n this.AnimatorPlayByType(MusicType.Idle, 1);\r\n this.dataPar = dataPar;\r\n this.dataPar[\"ishave\"] = true;\r\n this.isClickCom = true;\r\n this.isStop = true;\r\n this.isreturn = true;\r\n this.isover = false;\r\n MateManager.Instance.AddModelToDic(this.selfobj.id, this);\r\n this.ShootFunc();\r\n if (MainRoleManager.Instance.IsShoot())\r\n this.CreateShoot();\r\n Laya.timer.frameLoop(1, this, this.Move);\r\n }\r\n SetTar() {\r\n this.isreturn = false;\r\n this.isClickCom = true;\r\n this.isStop = true;\r\n this.isover = false;\r\n this.AnimatorPlayByType(MusicType.Idle, 1);\r\n DispatcherManager.off(EventType.Event.StopShot, this, this.StopCreate);\r\n }\r\n FallDown() {\r\n let tween = Laya.Tween.to(this.tran, { localPositionY: 0 }, 400, Laya.Ease.quintIn, Laya.Handler.create(this, () => {\r\n let dataPar = MainRoleManager.Instance.GetMatePos();\r\n if (!dataPar) {\r\n console.warn(\"friendPar没有位置了\");\r\n return;\r\n }\r\n this.dataPar = dataPar;\r\n this.dataPar[\"ishave\"] = true;\r\n this.tar = this.dataPar[\"sp\"];\r\n this.tarTra = this.tar.transform;\r\n tween.clear();\r\n this.Start();\r\n }, null, false));\r\n }\r\n Start() {\r\n this.AnimatorPlayByType(MusicType.RunAndGun, 2);\r\n this.isreturn = false;\r\n this.isClickCom = true;\r\n this.isStop = true;\r\n this.isover = false;\r\n Laya.timer.frameLoop(1, this, this.Move);\r\n }\r\n ArriveTarPos() {\r\n this.isClickCom = true;\r\n this.isStop = true;\r\n this.isreturn = true;\r\n this.tar.addChild(this.selfobj);\r\n this.tran.localPosition = MathTool.VecZero;\r\n this.AnimatorPlayByType(MusicType.RunAndGun, 2);\r\n MateManager.Instance.AddModelToDic(this.selfobj.id, this);\r\n let tween = Laya.Tween.to(this.tran, { localRotationEulerY: 0 }, 100, Laya.Ease.quintIn, Laya.Handler.create(this, () => {\r\n tween.clear();\r\n this.tran.localRotationEuler = MathTool.VecZero;\r\n this.ShootFunc();\r\n this.CreateShoot();\r\n }, null, false));\r\n }\r\n RayReset() {\r\n let origP = this.rayPoint.position;\r\n if (!this._scene) {\r\n this._scene = Scene3DManager.Instance.MainScene;\r\n }\r\n if (!this.rayF) {\r\n this.rayF = new Laya.Ray(MathTool.VecZero, new Vector3(0, 0, 1));\r\n this.outHitF = new Laya.HitResult();\r\n }\r\n this.rayF.origin = origP;\r\n let isHItF = this._scene.physicsSimulation.rayCast(this.rayF, this.outHitF, GlobalParam.playerRayLengthF);\r\n if (isHItF) {\r\n let obj = this.outHitF.collider.owner;\r\n this.Dead(this.outHitF.point);\r\n return;\r\n }\r\n if (!this.rayL) {\r\n this.rayL = new Laya.Ray(MathTool.VecZero, new Vector3(1, 0, 0));\r\n this.outHitL = new Laya.HitResult();\r\n }\r\n this.rayL.origin = origP;\r\n let isHItL = this._scene.physicsSimulation.rayCast(this.rayL, this.outHitL, GlobalParam.playerRayLengthLR);\r\n if (isHItL) {\r\n let obj = this.outHitL.collider.owner;\r\n this.Dead(this.outHitL.point);\r\n return;\r\n }\r\n if (!this.rayR) {\r\n this.rayR = new Laya.Ray(MathTool.VecZero, new Vector3(-1, 0, 0));\r\n this.outHitR = new Laya.HitResult();\r\n }\r\n this.rayR.origin = origP;\r\n let isHItR = this._scene.physicsSimulation.rayCast(this.rayR, this.outHitR, GlobalParam.playerRayLengthLR);\r\n if (isHItR) {\r\n let obj = this.outHitR.collider.owner;\r\n this.Dead(this.outHitR.point);\r\n return;\r\n }\r\n }\r\n createApes() {\r\n this.ape1 = new Sprite();\r\n this.ape2 = new Sprite();\r\n this.ape1.loadImage(\"res/apes/monkey2.png\");\r\n this.ape2.loadImage(\"res/apes/monkey2.png\");\r\n this.ape1.pivot(55, 72);\r\n this.ape2.pivot(55, 72);\r\n this.ape1.pos(Laya.stage.width / 2, Laya.stage.height / 2);\r\n this.ape2.pos(200, 0);\r\n Laya.stage.addChild(this.ape1);\r\n this.ape1.addChild(this.ape2);\r\n Laya.timer.frameLoop(1, this, this.animate);\r\n }\r\n animate(e) {\r\n this.ape1.rotation += 2;\r\n this.ape2.rotation -= 4;\r\n }\r\n Move() {\r\n if (this.isreturn) {\r\n this.RayReset();\r\n return;\r\n }\r\n let tarPos = this.tarTra.position.clone();\r\n Vector3.subtract(tarPos, this.tran.position, this.forW);\r\n Vector3.normalize(this.forW, this.forW);\r\n this.forW = new Vector3(this.forW.x * this.speed, this.forW.y * this.speed, this.forW.z * this.speed);\r\n this.tran.translate(this.forW, false);\r\n if (Vector3.distance(this.tran.position, tarPos) < 0.1) {\r\n this.ArriveTarPos();\r\n return;\r\n }\r\n Quaternion.lookAt(tarPos, this.tran.position, this._up, this.quaternion1);\r\n this.quaternion1.invert(this.quaternion1);\r\n Quaternion.slerp(this.tran.rotation, this.quaternion1, 0.1, this.quaternion1);\r\n this.tran.rotation = this.quaternion1.clone();\r\n }\r\n AnimatorPlayByType(clip, speed, callback) {\r\n this.animator.play(clip);\r\n if (!speed)\r\n speed = 1;\r\n this.animator.speed = speed;\r\n }\r\n ShootFunc() {\r\n DispatcherManager.on(EventType.Event.StopShot, this, this.StopCreate);\r\n }\r\n LoopCreate() {\r\n if (this.isStop) {\r\n Laya.timer.clear(this, this.LoopCreate);\r\n this.isClickCom = true;\r\n return;\r\n }\r\n this._CreateShoot();\r\n }\r\n CreateShoot() {\r\n this.isStop = false;\r\n if (!this.isClickCom)\r\n return;\r\n this.isClickCom = false;\r\n this._CreateShoot();\r\n Laya.timer.loop(PlayerManager.bulletTime * 2 * 1000, this, this.LoopCreate);\r\n }\r\n _CreateShoot() {\r\n let bu = GamePool.Instance.GetModel(GamePool.modeltype.PlayerShoot);\r\n if (bu) {\r\n Scene3DManager.Instance.bulletCon.addChild(bu);\r\n bu.transform.position = this.bulletPos.position.clone();\r\n bu.transform.localRotationEuler = this.bulletPos.rotationEuler.clone();\r\n let pb = bu.getComponent(MainRoleShot);\r\n if (!pb)\r\n pb = bu.addComponent(MainRoleShot);\r\n pb.Start(this.bulletPos, this.isover);\r\n }\r\n }\r\n StopCreate() {\r\n this.isStop = true;\r\n }\r\n Dead(pos) {\r\n if (this.dataPar)\r\n this.dataPar[\"ishave\"] = false;\r\n ParticleManager.Instance.BloodEffect(pos);\r\n MateManager.Instance.RemoveModelToDic(this.selfobj);\r\n this.Recover();\r\n MainRoleManager.Instance.CheckGameOver();\r\n }\r\n SetPar() {\r\n let t = this.tran.position.clone();\r\n MainRoleManager.Instance.playerContainer.addChild(this.selfobj);\r\n this.tran.position = t.clone();\r\n }\r\n TiaoWu(sp) {\r\n this.AnimatorPlayByType(MusicType.RunAndGun, 2);\r\n this.danceP = sp.position.clone();\r\n this.r = sp.rotationEuler.clone();\r\n Laya.timer.frameLoop(1, this, this._TiaoWu);\r\n }\r\n _TiaoWu() {\r\n Vector3.subtract(this.danceP, this.tran.position, this.forW);\r\n Vector3.normalize(this.forW, this.forW);\r\n this.forW = new Vector3(this.forW.x * 0.15, this.forW.y * 0.15, this.forW.z * 0.15);\r\n this.tran.translate(this.forW);\r\n if (Vector3.distance(this.tran.position, this.danceP) < 0.15) {\r\n Laya.timer.clear(this, this._TiaoWu);\r\n this.tran.position = this.danceP.clone();\r\n this.tran.rotationEuler = this.r.clone();\r\n this.AnimatorPlayByType(MusicType.Dance, 1);\r\n return;\r\n }\r\n Quaternion.lookAt(this.danceP, this.tran.position, this._up, this.quaternion1);\r\n this.quaternion1.invert(this.quaternion1);\r\n this.tran.rotation = this.quaternion1.clone();\r\n }\r\n onAssetsLoaded() {\r\n this.ape = new Sprite();\r\n Laya.stage.addChild(this.ape);\r\n this.ape.pivot(55, 72);\r\n this.ape.pos(Laya.stage.width / 2, Laya.stage.height / 2);\r\n }\r\n Attack() {\r\n Laya.timer.clear(this, this._Defense);\r\n this.isover = true;\r\n this.isFristShoot = true;\r\n this.enemyTar = null;\r\n Laya.timer.frameLoop(1, this, this._attack);\r\n }\r\n _attack() {\r\n if (this.enemyTar == null) {\r\n this.enemyTar = RoleManager.Instance.GetOpponent();\r\n if (this.enemyTar != null) {\r\n this.ATKp = this.enemyTar.transform.position.clone();\r\n Quaternion.lookAt(this.ATKp, this.tran.position, this._up, this.quaternion1);\r\n this.quaternion1.invert(this.quaternion1);\r\n this.tran.rotation = this.quaternion1.clone();\r\n }\r\n }\r\n else {\r\n if (!this.enemyTar.active) {\r\n this.enemyTar = RoleManager.Instance.GetOpponent();\r\n if (this.enemyTar != null) {\r\n this.ATKp = this.enemyTar.transform.position.clone();\r\n Quaternion.lookAt(this.ATKp, this.tran.position, this._up, this.quaternion1);\r\n this.quaternion1.invert(this.quaternion1);\r\n this.tran.rotation = this.quaternion1.clone();\r\n }\r\n }\r\n if (this.enemyTar == null) {\r\n this.StopCreate();\r\n this.isFristShoot = true;\r\n return;\r\n }\r\n if (this.isFristShoot) {\r\n this.isFristShoot = false;\r\n this.CreateShoot();\r\n }\r\n this.ATKp = this.enemyTar.transform.position.clone();\r\n Quaternion.lookAt(this.ATKp, this.tran.position, this._up, this.quaternion1);\r\n this.quaternion1.invert(this.quaternion1);\r\n this.tran.rotation = this.quaternion1.clone();\r\n }\r\n }\r\n _Defense() {\r\n Vector3.subtract(this.tp, this.tran.position, this.forW);\r\n Vector3.normalize(this.forW, this.forW);\r\n this.forW = new Vector3(this.forW.x * 0.15, this.forW.y * 0.15, this.forW.z * 0.15);\r\n this.tran.translate(this.forW, false);\r\n if (Vector3.distance(this.tran.position, this.tp) < 0.1) {\r\n Laya.timer.clear(this, this._Defense);\r\n let tween = Laya.Tween.to(this.tran, { localRotationEulerY: 0 }, 100, Laya.Ease.quintIn, Laya.Handler.create(this, () => {\r\n tween.clear();\r\n }, null, false));\r\n return;\r\n }\r\n Quaternion.lookAt(this.tp, this.tran.position, this._up, this.quaternion1);\r\n this.quaternion1.invert(this.quaternion1);\r\n this.tran.rotation = this.quaternion1.clone();\r\n }\r\n Defense(pos) {\r\n this.SetPar();\r\n this.tp = pos;\r\n Quaternion.lookAt(pos, this.tran.position, this._up, this.quaternion1);\r\n this.quaternion1.invert(this.quaternion1);\r\n this.tran.rotation = this.quaternion1.clone();\r\n this.AnimatorPlayByType(MusicType.CrouchFiring, 1);\r\n Laya.timer.frameLoop(1, this, this._Defense);\r\n }\r\n Recover() {\r\n if (this.dataPar) {\r\n this.dataPar[\"ishave\"] = false;\r\n this.dataPar = null;\r\n }\r\n MateManager.Instance.RecoverMateModel(this.selfobj);\r\n MateManager.Instance.RemoveModelToDic(this.selfobj);\r\n Laya.timer.clearAll(this);\r\n Laya.Tween.clearAll(this);\r\n DispatcherManager.off(EventType.Event.StopShot, this, this.StopCreate);\r\n GamePool.Instance.RecoverModel(this.selfobj);\r\n }\r\n}\r\n//# sourceMappingURL=Mate.js.map",
  3. "references": [
  4. "C:/Users/Administrator/Desktop/gungang/src/Util/MathTool.ts",
  5. "C:/Users/Administrator/Desktop/gungang/src/Manager/CameraManager.ts",
  6. "C:/Users/Administrator/Desktop/gungang/src/Net/GlobalParam.ts",
  7. "C:/Users/Administrator/Desktop/gungang/src/Game/Scene3DManager.ts",
  8. "C:/Users/Administrator/Desktop/gungang/src/Manager/MateManager.ts",
  9. "C:/Users/Administrator/Desktop/gungang/src/Game/GamePool.ts",
  10. "C:/Users/Administrator/Desktop/gungang/src/Game/MainRoleShot.ts",
  11. "C:/Users/Administrator/Desktop/gungang/src/Manager/MainRoleManager.ts",
  12. "C:/Users/Administrator/Desktop/gungang/src/Game/DispatcherManager.ts",
  13. "C:/Users/Administrator/Desktop/gungang/src/Game/ParticleManager.ts",
  14. "C:/Users/Administrator/Desktop/gungang/src/Manager/RoleManager.ts",
  15. "C:/Users/Administrator/Desktop/gungang/src/Game/PlayerManager.ts",
  16. "C:/Users/Administrator/Desktop/gungang/src/Game/GameManager.ts",
  17. "C:/Users/Administrator/Desktop/gungang/src/Game/ColliderAndMusicType.ts"
  18. ],
  19. "map": "{\"version\":3,\"file\":\"Mate.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Game/Mate.ts\"],\"names\":[],\"mappings\":\"AAIA,IAAO,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,IAAO,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,IAAO,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAE5B,IAAO,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAIxB,MAAM,OAAQ,IAAK,SAAQ,IAAI,CAAC,QAAQ;IAAxC;;QASY,QAAG,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAiF3B,aAAQ,GAAG,KAAK,CAAC;QACjB,WAAM,GAAG,KAAK,CAAC;QAgLf,eAAU,GAAG,IAAI,CAAC;QAClB,WAAM,GAAG,IAAI,CAAC;QAiDd,aAAQ,GAAW,sBAAsB,CAAC;QAC1C,aAAQ,GAAW,sBAAsB,CAAC;QAC1C,SAAI,GAAY,KAAK,CAAC;QAmBtB,iBAAY,GAAG,IAAI,CAAC;QAyCpB,OAAE,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IA6CzC,CAAC;IA9ZG,OAAO;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAiB,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAc,CAAC,SAAS,CAAC;QAChF,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAc,CAAC,SAAS,CAAC;QAClF,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC;IACxC,CAAC;IAGO,KAAK;QACT,IAAI,OAAO,GAAW,IAAI,MAAM,EAAE,CAAC;QAGnC,IAAI,IAAU,CAAC;QACf,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAEvB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC1C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAE3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC1B;QAED,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAKD,QAAQ,CAAC,OAAO;QACZ,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;QAClB,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAKD,MAAM;QACF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC;QAC1C,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;IAKD,QAAQ;QACJ,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAC/G,IAAI,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAAC,OAAO;aAAE;YACzD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAEjC,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACrB,CAAC;IAID,KAAK;QACD,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY;QAER,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAChD,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YACpH,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACrB,CAAC;IASO,QAAQ;QAEZ,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC;SACnD;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;SACvC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAC1G,IAAI,MAAM,EAAE;YACR,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAiB,CAAC;YAElD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;SACvC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAC3G,IAAI,MAAM,EAAE;YACR,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAiB,CAAC;YAElD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;SACvC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAC3G,IAAI,MAAM,EAAE;YACR,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAiB,CAAC;YAElD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,OAAO;SACV;IACL,CAAC;IAKO,UAAU;QAEd,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAExB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAGtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IACO,OAAO,CAAC,CAAQ;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC5B,CAAC;IAID,IAAI;QAEA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,OAAO;SAC3B;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACtG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,GAAG,EAAE;YACpD,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;SACV;QACD,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAClD,CAAC;IAEM,kBAAkB,CAAC,IAAY,EAAE,KAAK,EAAE,QAAS;QACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK;YAAE,KAAK,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,SAAS;QACL,iBAAiB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED,UAAU;QAEN,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO;SACV;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAIM,WAAW;QACd,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAEhF,CAAC;IACO,YAAY;QAEhB,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,EAAE,EAAE;YACJ,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/C,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACxD,EAAE,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACvE,IAAI,EAAE,GAAiB,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE;gBAAE,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAiB,CAAC;YAC5D,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACzC;IACL,CAAC;IAMM,UAAU;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,GAAG;QAEJ,IAAI,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QACnC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,eAAe,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM;QACF,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAID,MAAM,CAAC,EAAe;QAElB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAEhD,CAAC;IACD,OAAO;QACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE;YAC1D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5C,OAAO;SACV;QACD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAClD,CAAC;IASO,cAAc;QAClB,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAID,MAAM;QACF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAGD,OAAO;QACH,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACrD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;aACjD;SACJ;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACvB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACnD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;oBACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACrD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC7E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;iBACjD;aACJ;YACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACvB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO;aACV;YACD,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAE1B,IAAI,CAAC,WAAW,EAAE,CAAC;aACtB;YAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;SACjD;IACL,CAAC;IAMD,QAAQ;QACJ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE;YACrD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;gBACpH,KAAK,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACjB,OAAO;SACV;QACD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,GAAG;QACP,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;QACd,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC9C,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAGD,OAAO;QACH,IAAG,IAAI,CAAC,OAAO,EAAC;YACZ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QACD,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE1B,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvE,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CAEJ\"}"
  20. }