{"version":3,"file":"main.js","mappings":";;;;;;;;;;;;;;;;;;;;AAC+F;AACzC;AAKtC;AAgB2B;AACiB;;;AACrD,MAAMkC,MAAM,GAAW,CAC5B;EACEC,IAAI,EAAE,EAAE;EACRC,SAAS,EAACH,qEAAe;EACzBI,WAAW,EAAE,CAACnC,4CAAS,CAAC;EACxBoC,IAAI,EAAE;IAAEC,KAAK,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS;EAAC,CAAC;EAClEC,QAAQ,EAAE,CACR;IACEL,IAAI,EAAE,MAAM;IACZC,SAAS,EAAEnC,+DAAaA;GACzB,EACD;IACEkC,IAAI,EAAE,UAAU;IAChBM,YAAY,EAAEA,CAAA,KAAM,4HAAoC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,aAAa,CAAC;IACnFN,IAAI,EAAE;MACJO,KAAK,EAAE,UAAU;MACjBC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAErC,qEAAWA;;GAEpB,EACD;IACEyB,IAAI,EAAE,IAAI;IACVM,YAAY,EAAEA,CAAA,KAAM,uNAAoC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACK,cAAc,CAAC;IACpFV,IAAI,EAAE;MACJO,KAAK,EAAE,UAAU;MACjBC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAEzC,2EAAeA;;GAExB,EACD;IACE6B,IAAI,EAAE,WAAW;IACjBM,YAAY,EAAEA,CAAA,KAAM,uNAAoC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACK,cAAc,CAAC;IACpFV,IAAI,EAAE;MACJO,KAAK,EAAE,WAAW;MAClBC,KAAK,EAAE,WAAW;MAClBC,IAAI,EAAEnC,yEAAYA;;GAErB,EACD;IACEuB,IAAI,EAAE,KAAK;IACXM,YAAY,EAAEA,CAAA,KAAM,+NAAwC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACM,gBAAgB,CAAC;IAC1FX,IAAI,EAAE;MACJO,KAAK,EAAE,iBAAiB;MACxBC,KAAK,EAAE,cAAc;MACrBC,IAAI,EAAEvC,0EAAiBA;;GAE1B,EACD;IACE2B,IAAI,EAAE,OAAO;IACbM,YAAY,EAAEA,CAAA,KAAM,2MAA8B,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACO,WAAW,CAAC;IAC3EZ,IAAI,EAAE;MACJO,KAAK,EAAE,UAAU;MACjBC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAEjC,sEAASA;;GAElB,EACD;IACEqB,IAAI,EAAE,UAAU;IAChBM,YAAY,EAAEA,CAAA,KAAM,uNAAoC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACQ,aAAa,CAAC;IACnFd,WAAW,EAAE,CAACnC,4CAAS,CAAC;IACxBoC,IAAI,EAAE;MACJO,KAAK,EAAE,UAAU;MACjBC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE/B,yEAAW;MACjBuB,KAAK,EAAE,CAAC,SAAS,EAAC,OAAO;;GAE5B,EACD;IACEJ,IAAI,EAAE,UAAU;IAAE;IAClBM,YAAY,EAAEA,CAAA,KAAM,wKAAoC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACS,aAAa,CAAC;IACnFd,IAAI,EAAE;MACJO,KAAK,EAAE,UAAU;MACjBC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE7B,2EAAWA;;GAEpB,EACD;IACEiB,IAAI,EAAE,OAAO;IACbM,YAAY,EAAEA,CAAA,KAAM,4JAA8B,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACU,WAAW,CAAC;IAC3EhB,WAAW,EAAE,CAACnC,4CAAS,CAAC;IACxBoC,IAAI,EAAE;MACJO,KAAK,EAAE,aAAa;MACpBC,KAAK,EAAE,aAAa;MACpBC,IAAI,EAAE3B,yEAAS;MACfmB,KAAK,EAAE,CAAC,OAAO;;GAElB,EACD;IACEJ,IAAI,EAAE,YAAY;IAClBM,YAAY,EAAEA,CAAA,KAAM,+KAAwC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACW,eAAe,CAAC;IACzFjB,WAAW,EAAE,CAACnC,4CAAS,CAAC;IACxBoC,IAAI,EAAE;MACJO,KAAK,EAAE,cAAc;MACrBC,KAAK,EAAE,cAAc;MACrBC,IAAI,EAAEzB,2EAAa;MACnBiB,KAAK,EAAE,CAAC,OAAO;;GAElB,EACD;IACEJ,IAAI,EAAE,SAAS;IACfM,YAAY,EAAEA,CAAA,KAAM,oKAAkC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACY,YAAY,CAAC;IAChFjB,IAAI,EAAE;MACJO,KAAK,EAAE,SAAS;MAChBC,KAAK,EAAE,SAAS;MAChBC,IAAI,EAAEf,gFAAUA;;GAEnB,EACD;IACEG,IAAI,EAAE,WAAW;IACjBqB,SAAS,EAAE,MAAM;IACjBf,YAAY,EAAEA,CAAA,KAAM,oKAAkC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACc,YAAY,CAAC;IAChFnB,IAAI,EAAE;MACJQ,KAAK,EAAGY,CAAyB,IAAK,WAAWA,CAAC,CAACC,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEzB,IAAI;;GAE5E,EACD;IACEA,IAAI,EAAE,UAAU;IAChBqB,SAAS,EAAE,MAAM;IACjBf,YAAY,EAAEA,CAAA,KAAM,uMAA4B,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACkB,UAAU,CAAC;IACxEvB,IAAI,EAAE;MACJQ,KAAK,EAAGY,CAAyB,IAAK,cAAcA,CAAC,CAACC,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEzB,IAAI;;GAE/E,EACD;IACEA,IAAI,EAAE,cAAc;IACpBqB,SAAS,EAAE,MAAM;IACjBf,YAAY,EAAEA,CAAA,KAAM,uMAA4B,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACkB,UAAU,CAAC;IACxEvB,IAAI,EAAE;MACJQ,KAAK,EAAGY,CAAyB,IAAK,cAAcA,CAAC,CAACC,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEzB,IAAI;;GAE/E,EACD;IACEA,IAAI,EAAE,UAAU;IAChBqB,SAAS,EAAE,MAAM;IACjBf,YAAY,EAAEA,CAAA,KAAM,wJAA4B,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACmB,UAAU,CAAC;IACxExB,IAAI,EAAE;MACJQ,KAAK,EAAGY,CAAyB,IAAK,QAAQA,CAAC,CAACC,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEzB,IAAI;;GAEzE,EACD;IACEA,IAAI,EAAE,OAAO;IACbqB,SAAS,EAAE,MAAM;IACjBf,YAAY,EAAEA,CAAA,KAAM,4JAA8B,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACoB,WAAW,CAAC;IAC3EzB,IAAI,EAAE;MACJQ,KAAK,EAAC;;GAET,EACD;IACEX,IAAI,EAAE,WAAW;IACjBqB,SAAS,EAAE,MAAM;IACjBf,YAAY,EAAEA,CAAA,KAAM,4JAA8B,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACoB,WAAW,CAAC;IAC3EzB,IAAI,EAAE;MACJQ,KAAK,EAAGY,CAAyB,IAAK,gBAAgBA,CAAC,CAACC,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEzB,IAAI;;GAEjF,EACD;IACEA,IAAI,EAAE,WAAW;IACjBqB,SAAS,EAAE,MAAM;IACjBf,YAAY,EAAEA,CAAA,KAAM,oLAA0C,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACoB,WAAW,CAAC;IACvF1B,WAAW,EAAE,CAACnC,4CAAS,CAAC;IACxBoC,IAAI,EAAE;MACJO,KAAK,EAAE,eAAe;MACtBC,KAAK,EAAE,qBAAqB;MAC5BC,IAAI,EAAEvB,wEAAkB;MACxBe,KAAK,EAAE,CAAC,OAAO;;GAElB,EACD;IACEJ,IAAI,EAAE,eAAe;IACrBqB,SAAS,EAAE,MAAM;IACjBf,YAAY,EAAEA,CAAA,KAAM,oLAA0C,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACoB,WAAW,CAAC;IACvF1B,WAAW,EAAE,CAACnC,4CAAS,CAAC;IACxBoC,IAAI,EAAE;MACJQ,KAAK,EAAGY,CAAyB,IAAK,sBAAsBA,CAAC,CAACC,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEzB,IAAI,EAAE;MACtFI,KAAK,EAAE,CAAC,OAAO;;GAElB,EACD;IACEJ,IAAI,EAAE,SAAS;IACfM,YAAY,EAAEA,CAAA,KAAM,gMAAgD,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACqB,mBAAmB,CAAC;IACrG1B,IAAI,EAAE;MACJO,KAAK,EAAE,WAAW;MAClBC,KAAK,EAAGY,CAAyB,IAAK,0BAA0BA,CAAC,CAACC,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEzB,IAAI,EAAE;MAC1FY,IAAI,EAAErB,6EAAgB;MACtBa,KAAK,EAAE,CAAC,OAAO;;GAElB,EACD;IACEJ,IAAI,EAAE,UAAU;IAChBM,YAAY,EAAEA,CAAA,KAAM,wJAA4B,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACsB,UAAU,CAAC;IACxE3B,IAAI,EAAE;MACJO,KAAK,EAAE,eAAe;MACtBC,KAAK,EAAGY,CAAyB,IAAK,iBAAiBA,CAAC,CAACC,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEzB,IAAI,EAAE;MACjFY,IAAI,EAAEnB,qEAAQ;MACdW,KAAK,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,SAAS;;GAE9C,EACD;IACEJ,IAAI,EAAE,WAAW;IACjBqB,SAAS,EAAE,MAAM;IACjBf,YAAY,EAAEA,CAAA,KAAM,4KAAsC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACuB,eAAe,CAAC;IACvF5B,IAAI,EAAE;MACJQ,KAAK,EAAE;;GAEV,EACD;IACEX,IAAI,EAAE,YAAY;IAClBM,YAAY,EAAEA,CAAA,KAAM,gLAAwC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACwB,eAAe,CAAC;IACzF7B,IAAI,EAAC;MACHQ,KAAK,EAAE,cAAc;MACrBD,KAAK,EAAE,cAAc;MACrBE,IAAI,EAAEjB,oFAAa;MACnBS,KAAK,EAAE,CAAC,OAAO;;GAElB;CAEJ,EACD;EACEJ,IAAI,EAAE,eAAe;EACrBC,SAAS,EAAEhC,yDAAsB;EACjCiC,WAAW,EAAE,CAACnC,4CAAS,CAAC;EACxBoC,IAAI,EAAE;IAAEC,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW;EAAC;CACtC,EACD;EACEJ,IAAI,EAAE,eAAe;EACrBC,SAAS,EAAEjC,wDAAqBA;CACjC,EACD;EAAEgC,IAAI,EAAE,WAAW;EAAEM,YAAY,EAAEA,CAAA,KAAM,4KAAsC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACyB,cAAc;AAAC,CAAE,EAC7G;EACEjC,IAAI,EAAE,IAAI;EACVkC,UAAU,EAAE;CACb,CACF;AAMK,MAAOC,gBAAgB;EAAA,QAAAC,CAAA;qBAAhBD,gBAAgB;EAAA;EAAA,QAAAE,EAAA;UAAhBF;EAAgB;EAAA,QAAAG,EAAA;cAHjBzE,yDAAY,CAAC0E,OAAO,CAACxC,MAAM,CAAC,EAC5BlC,yDAAY;EAAA;;;sHAEXsE,gBAAgB;IAAAK,OAAA,GAAAC,yDAAA;IAAAC,OAAA,GAFjB7E,yDAAY;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;ACpQmE;AAGK;AAExD;;;;;;;;;;;;ICEtCiF,uDAAA,eAA0C;;;ADMtC,MAAOE,YAAY;EAgBvBC,YACmBC,WAAwB,EACxBC,oBAA0C,EACnDC,MAAc,EACdC,cAA8B,EAC9BC,aAA4B,EAC5BC,YAAmB;IALV,KAAAL,WAAW,GAAXA,WAAW;IACX,KAAAC,oBAAoB,GAApBA,oBAAoB;IAC7B,KAAAC,MAAM,GAANA,MAAM;IACN,KAAAC,cAAc,GAAdA,cAAc;IACd,KAAAC,aAAa,GAAbA,aAAa;IACb,KAAAC,YAAY,GAAZA,YAAY;IArBtB,KAAAC,eAAe,GAAG,SAAS;IAC3B,KAAAC,aAAa,GAAe;MAC1BC,KAAK,EAAE,IAAIf,6DAAY,CAAC,uBAAuB,EAAE,iCAAiC;KACrF;IAKC,KAAAgB,OAAO,GAAG,KAAK;IACf,KAAAC,YAAY,GAAG,IAAI;IACnB,KAAAC,kBAAkB,GAAG,IAAIC,GAAG,CAAS,CACnC,eAAe,EACf,WAAW,CACZ,CAAC;EASC;EAEHC,QAAQA,CAAA;IACN,IAAI,CAACC,gBAAgB,GAAG,IAAI,CAACd,WAAW,CAACe,KAAK,CAACC,SAAS,CAACC,IAAI,IAAG;MAC9D,IAAI,CAACA,IAAI,GAAe;QACtBC,QAAQ,EAAED,IAAI,CAACE,OAAO;QACtBC,gBAAgB,EAAEH,IAAI,CAACI;OACxB;MACD,IAAI,CAACC,UAAU,GAAGL,IAAI,CAACM,eAAe,EAAE;IAC1C,CAAC,CAAC;IAEF,IAAI,CAACd,OAAO,GAAG,CAAC,CAAC,IAAI,CAACL,aAAa,CAACoB,GAAG,CAAC,MAAM,CAAC;IAC/C,IAAI,CAACd,YAAY,GAAG,CAAC,IAAI,CAACD,OAAO;IACjC,IAAI,CAACP,MAAM,CAACuB,MAAM,CAACC,IAAI,CACrB/B,sDAAM,CAACgC,KAAK,IAAIA,KAAK,YAAYjC,0DAAa,CAAC,CAChD,CAACsB,SAAS,CAAC,MAAK;MACf,MAAMvD,KAAK,GAAG,IAAI,CAACmE,aAAa,CAAC,IAAI,CAACtB,eAAe,EAAE,IAAI,CAACH,cAAc,CAAC0B,QAAQ,CAAC;MACpF,IAAI,CAACxB,YAAY,CAACyB,QAAQ,CAACrE,KAAK,CAAC;MACjC,IAAI,CAAC,IAAI,CAACgD,OAAO,EAAE;QACjB,IAAIsB,IAAI,GAAG,IAAI,CAAC5B,cAAc,CAAC0B,QAAQ,CAAC1E,QAAQ,CAAC6E,IAAI,CAACC,CAAC,IAAIA,CAAC,KAAKC,SAAS,CAAE,EAAEC,WAAW,CAACrF,IAAI;QAC9F,IAAI,CAAC4D,YAAY,GAAG,CAAC,IAAI,CAACC,kBAAkB,CAACyB,GAAG,CAACL,IAAI,CAAC;MACxD;IACF,CAAC,CAAC;EAEJ;EAEAH,aAAaA,CAACS,WAAmB,EAAElC,cAAsC;IACvE,IAAI1C,KAAK,GAAG0C,cAAc,CAAClD,IAAI,CAACQ,KAAK;IACrC,IAAIA,KAAK,KAAKyE,SAAS,EAAE;MACvB,IAAII,QAAQ,GAAGnC,cAAc,CAAC7B,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;MAC3C,IAAI+D,QAAQ,IAAIA,QAAQ,CAACC,MAAM,EAC7B9E,KAAK,GAAG6E,QAAQ,CAAC,CAAC,CAAC,CAACxF,IAAI;IAC5B,CAAC,MAAM,IAAI,OAAOW,KAAK,IAAI,UAAU,EACnCA,KAAK,GAAGA,KAAK,CAAC0C,cAAc,CAAC;IAC/B,IAAI1C,KAAK,EACP4E,WAAW,IAAI,GAAG,GAAG5E,KAAK;IAC5B,IAAI0C,cAAc,CAACqC,UAAU,EAAEA,UAAU,EAAE;MACzC,OAAO,IAAI,CAACZ,aAAa,CAACS,WAAW,EAAElC,cAAc,CAACqC,UAAU,CAACA,UAAU,CAAC;IAC9E,CAAC,MAAM;MACL,OAAOH,WAAW;IACpB;EACF;EAEAI,WAAWA,CAAA;IACT,IAAI,IAAI,CAAC3B,gBAAgB,EAAE;MACzB,IAAI,CAACA,gBAAgB,CAAC4B,WAAW,EAAE;IACrC;EACF;EAEAC,eAAeA,CAAA;IACb,IAAI,CAAC1C,oBAAoB,CAAC0C,eAAe,EAAE;EAC7C;EAAC,QAAAzD,CAAA;qBA1EUY,YAAY,EAAAF,+DAAA,CAAAL,8CAAA,GAAAK,+DAAA,CAAAL,uDAAA,GAAAK,+DAAA,CAAAmD,mDAAA,GAAAnD,+DAAA,CAAAmD,2DAAA,GAAAnD,+DAAA,CAAAsD,6DAAA,GAAAtD,+DAAA,CAAAwD,4DAAA;EAAA;EAAA,QAAAjE,EAAA;UAAZW,YAAY;IAAAwD,SAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAC,sBAAAC,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCdzBhE,4DAAA,sBAKC;QADCA,wDAAA,+BAAAoE,gEAAA;UAAA,OAAqBH,GAAA,CAAAlB,eAAA,EAAiB;QAAA,EAAC;QAEzC/C,0DAAA,EAAe;QACfA,4DAAA,cAA2E;QACzEA,wDAAA,IAAAuE,gCAAA,sBAA+B;QAC/BvE,uDAAA,oBAA+B;QACjCA,0DAAA,EAAO;QACPA,4DAAA,gBAAkD;QAChDA,uDAAA,iBAAyB;QAC3BA,0DAAA,EAAS;;;QAVPA,wDAFA,gBAAAiE,GAAA,CAAAtD,aAAA,CAA6B,oBAAAsD,GAAA,CAAAvD,eAAA,CACM,SAAAuD,GAAA,CAAA5C,IAAA,CACtB;QAKFrB,uDAAA,GAAkB;QAAlBA,wDAAA,SAAAiE,GAAA,CAAAnD,YAAA,CAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACR2B;AACqB;AACb;AACX;AAC2B;AACxC;AAC2B;AAEb;AAET;AACO;AACM;AACG;AACH;AACD;AACH;AAChB;;;AAExC;AACA;AAEM,SAAUwE,qBAAqBA,CAAClF,WAAwB;EAC5D,OAAO,MAAMA,WAAW,CAACmF,OAAO,EAAE;AACpC;AAEM,SAAUC,oBAAoBA,CAACC,aAA4B;EAC/D,OAAO,MAAMA,aAAa,CAACC,IAAI,EAAE;AACnC;AAEM,SAAUC,uBAAuBA,CAACC,gBAAkC;EACxE,OAAO,MAAMA,gBAAgB,CAACF,IAAI,EAAE;AACtC;AAEM,SAAUG,oBAAoBA,CAACC,aAA4B;EAC/D,OAAO,MAAMA,aAAa,CAACJ,IAAI,EAAE;AACnC;AAuCM,MAAOK,SAAS;EAAA,QAAAzG,CAAA;qBAATyG,SAAS;EAAA;EAAA,QAAAxG,EAAA;UAATwG,SAAS;IAAAC,SAAA,GAFR9F,wDAAY;EAAA;EAAA,QAAAV,EAAA;eApBb,CACT;MACEyG,OAAO,EAAErB,0DAAe;MACxBsB,UAAU,EAAEZ,qBAAqB;MACjCa,IAAI,EAAE,CAAClD,8CAAW,CAAC;MACnBmD,KAAK,EAAE;KACR,EACD;MACEH,OAAO,EAAErB,0DAAe;MACxBsB,UAAU,EAAEV,oBAAoB;MAChCW,IAAI,EAAE,CAACjB,wEAAa,CAAC;MACrBkB,KAAK,EAAE;KACR,EACD;MACEH,OAAO,EAAErB,0DAAe;MACxBsB,UAAU,EAAEP,uBAAuB;MACnCQ,IAAI,EAAE,CAACpB,mDAAgB,CAAC;MACxBqB,KAAK,EAAE;KACR,CACF;IAAA1G,OAAA,GA/BCuF,gFAAiB,EACjBP,qEAAa,EACbC,0FAAuB,EACvBE,kEAAS,EACTO,mEAAgB,EAChBJ,qDAAY,CAACvF,OAAO,EAAE,EACtBqF,6CAAU,EACVzF,iEAAgB,EAChB8F,qEAAc,EACdxH,oEAAa,EACb0H,iDAAY;EAAA;;;sHAwBHU,SAAS;IAAAM,YAAA,GApCLnG,wDAAY,EAAElF,+DAAa,EAAEgC,qEAAe;IAAA0C,OAAA,GAEzDuF,gFAAiB,EACjBP,qEAAa,EACbC,0FAAuB,EACvBE,kEAAS,EACTO,mEAAgB,EAAAzF,qDAAA,EAEhBmF,6CAAU,EACVzF,iEAAgB,EAChB8F,qEAAc,EACdxH,oEAAa,EACb0H,iDAAY;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IE9CVrF,4DAFJ,aAA8E,mBACb,QAC1D;IACDA,oDAAA,+FAEF;IAEJA,0DAFI,EAAI,EACM,EACR;;;IANqCA,uDAAA,EAAqB;IAArBA,wDAAA,sBAAqB;;;;;IAS5DA,4DADF,mBAAiE,WACZ;IAAAA,oDAAA,aAAM;IAAAA,0DAAA,EAAI;IAC7DA,4DAAA,QAAG;IACDA,oDAAA,yFAEF;IACFA,0DADE,EAAI,EACM;;;IAN+BA,wDAAA,sBAAqB;;;ADJ9D,MAAO9E,qBAAqB;EAChCiF,YACmBoG,YAA0B,EAC3BnG,WAAwB;IADvB,KAAAmG,YAAY,GAAZA,YAAY;IACb,KAAAnG,WAAW,GAAXA,WAAW;EAC1B;EAEHa,QAAQA,CAAA,GAAI;EACZuF,KAAKA,CAAA;IACH,IAAI,CAACD,YAAY,CAACC,KAAK,EAAE;EAC3B;EAAC,QAAAlH,CAAA;qBATUpE,qBAAqB,EAAA8E,+DAAA,CAAAL,6DAAA,GAAAK,+DAAA,CAAAmD,+DAAA;EAAA;EAAA,QAAA5D,EAAA;UAArBrE,qBAAqB;IAAAwI,SAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAA4C,+BAAA1C,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;;QCPhChE,4DADF,aAAuB,YACQ;QAAAA,oDAAA,qBAAc;QAAAA,0DAAA,EAAK;QAEhDA,wDAAA,IAAA2G,oCAAA,iBAA8E;;QAQ9E3G,wDAAA,IAAA4G,4CAAA,6BAAA5G,oEAAA,CAAuC;QASvCA,4DAAA,gBAAkD;QAAlBA,wDAAA,mBAAA8G,uDAAA;UAAA9G,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAASiE,GAAA,CAAAuC,KAAA,EAAO;QAAA,EAAC;QAC/CxG,oDAAA,qBACF;QACFA,0DADE,EAAS,EACL;;;;QApBeA,uDAAA,GAAgC;QAASA,wDAAzC,SAAAA,yDAAA,OAAAiE,GAAA,CAAA7D,WAAA,CAAAe,KAAA,EAAgC,aAAAgG,cAAA,CAAyB;;;;;;;;;;;;;;;;;;;;;;;ACKxE,MAAOC,kBAAkB;EAM7BjH,YAAA;IALA,KAAAkH,IAAI,GAAG,CAAC;IACR,KAAAC,aAAa,GAAG,sBAAsB;IACtC,KAAAC,qBAAqB,GAAG,kCAAkC;IAC1D,KAAAC,YAAY,GAAG,wCAAwC;EAExC;EAEfvG,QAAQA,CAAA;IACN,MAAMwG,KAAK,GAAG,IAAIC,IAAI,EAAE;IACxB,IAAI,CAACL,IAAI,GAAGI,KAAK,CAACE,WAAW,EAAE;IAC/B,IAAI,CAACC,SAAS,GAAG,UACf,IAAI,CAACL,qBACP,YAAY,IAAI,CAACC,YAAY,CAACK,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;EACrD;EAAC,QAAAvI,CAAA;qBAdU8H,kBAAkB;EAAA;EAAA,QAAA7H,EAAA;UAAlB6H,kBAAkB;IAAA1D,SAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAgE,4BAAA9D,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCLzBhE,4DAHN,aAA8C,aACS,aACnB,cACX;QAAAA,oDAAA,GAAyB;QAAAA,0DAAA,EAAO;QACnDA,4DAAA,WAAuE;QAAAA,oDAAA,yBAAkB;QAC3FA,0DAD2F,EAAI,EACzF;QACNA,uDAAA,aAAiD;QACjDA,4DAAA,aAA8C;;QAC5CA,4DAAA,aAA+J;QAC7JA,uDAAA,eACO;QACTA,0DAAA,EAAM;;QACNA,4DAAA,eAAmB;QAACA,oDAAA,gCAAuB;QAAAA,0DAAA,EAAO;QAClDA,4DAAA,aAAwB;QAAAA,oDAAA,IAAiB;QAG/CA,0DAH+C,EAAI,EACzC,EACF,EACF;;;QAbmBA,uDAAA,GAAyB;QAAzBA,gEAAA,sBAAAiE,GAAA,CAAAoD,IAAA,KAAyB;QAUzCrH,uDAAA,GAAoB;QAApBA,mEAAA,SAAAiE,GAAA,CAAA2D,SAAA,EAAA5H,2DAAA,CAAoB;QAACA,uDAAA,EAAiB;QAAjBA,+DAAA,CAAAiE,GAAA,CAAAqD,aAAA,CAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IEP3CtH,4DAAA,cAAgF;IAA3BA,wDAAA,sBAAAmI,sEAAA;MAAAnI,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAYoI,MAAA,CAAAE,WAAA,EAAa;IAAA,EAAC;IAE3EtI,4DADF,aAAkC,eACY;IAAAA,oDAAA,aAAM;IAAAA,0DAAA,EAAQ;IAC1DA,4DAAA,eAAiH;IAArBA,8DAAA,2BAAAwI,4EAAAC,MAAA;MAAAzI,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAAO,MAAA,EAAAF,MAAA,MAAAL,MAAA,CAAAO,MAAA,GAAAF,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAoB;IAClHzI,0DADE,EAAiH,EAC7G;IACNA,4DAAA,gBAAmD;IAAAA,oDAAA,kBAAW;IAChEA,0DADgE,EAAS,EAClE;;;;IAHyFA,uDAAA,GAAoB;IAApBA,8DAAA,YAAAoI,MAAA,CAAAO,MAAA,CAAoB;;;;;;IAIpH3I,4DAAA,cAAmF;IAA/BA,wDAAA,sBAAA6I,sEAAA;MAAA7I,2DAAA,CAAA8I,GAAA;MAAA,MAAAV,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAYoI,MAAA,CAAArF,eAAA,EAAiB;IAAA,EAAC;IAChF/C,4DAAA,gBAAmD;IAAAA,oDAAA,uBAAgB;IACrEA,0DADqE,EAAS,EACvE;;;;;IAVTA,4DAAA,UAAiD;IAQ/CA,wDAPA,IAAA+I,4CAAA,kBAAgF,IAAAC,4CAAA,kBAOG;IAGrFhJ,0DAAA,EAAM;;;;IAVGA,uDAAA,EAAwB;IAAxBA,wDAAA,UAAAiJ,OAAA,CAAAxH,YAAA,CAAwB;IAOxBzB,uDAAA,EAAuB;IAAvBA,wDAAA,SAAAiJ,OAAA,CAAAxH,YAAA,CAAuB;;;ADJ5B,MAAOtG,sBAAsB;EAEjCgF,YACkBC,WAAwB,EACvBC,oBAA0C;IAD3C,KAAAD,WAAW,GAAXA,WAAW;IACV,KAAAC,oBAAoB,GAApBA,oBAAoB;EACpC;EAEHY,QAAQA,CAAA,GAAI;EACZqH,WAAWA,CAAA;IACT,IAAI,CAAC,IAAI,CAACK,MAAM,EAAE;MAChB;IACF;IACA,IAAI,CAACtI,oBAAoB,CAACiI,WAAW,CAAC,IAAI,CAACK,MAAM,CAAC;EACpD;EAEA5F,eAAeA,CAAA;IACb,IAAI,CAAC1C,oBAAoB,CAAC0C,eAAe,EAAE;EAC7C;EAAC,QAAAzD,CAAA;qBAjBUnE,sBAAsB,EAAA6E,+DAAA,CAAAL,+DAAA,GAAAK,+DAAA,CAAAmD,iFAAA;EAAA;EAAA,QAAA5D,EAAA;UAAtBpE,sBAAsB;IAAAuI,SAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAoF,gCAAAlF,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCP/BhE,4DAFJ,iBAAgC,mBACoC,WACb;QAAAA,oDAAA,cAAO;QAAAA,0DAAA,EAAI;QAC9DA,4DAAA,QAAG;QAAAA,oDAAA,oEAA6D;QAClEA,0DADkE,EAAI,EAC1D;QACZA,wDAAA,IAAAmJ,qCAAA,iBAAiD;;QAYnDnJ,0DAAA,EAAU;;;QAhBoCA,uDAAA,EAAqB;QAArBA,wDAAA,sBAAqB;QAI3DA,uDAAA,GAAkC;QAAlCA,wDAAA,SAAAA,yDAAA,OAAAiE,GAAA,CAAA7D,WAAA,CAAAe,KAAA,EAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLiC;AAC5B;AACF;AACa;AACF;AACW;AACZ;AAE2B;AACS;AACC;AAC5B;AACgB;AACF;AACV;AACI;;AA+ClE,MAAO2D,UAAU;EACrB3E,YAGE4J,IAAgB;IAEhB,IAAIA,IAAI,EAAE;MACR,MAAM,IAAIC,KAAK,CAAC,gDAAgD,CAAC;IACnE;EACF;EAAC,QAAA1K,CAAA;qBATUwF,UAAU,EAAA9E,sDAAA,CAAA8E,UAAA;EAAA;EAAA,QAAAvF,EAAA;UAAVuF;EAAU;EAAA,QAAAtF,EAAA;eAhCV,CACT;MACEyG,OAAO,EAAEmD,uDAAY;MACrBc,QAAQ,EAAER,yEAAeA;KAC1B,EACD;MACEzD,OAAO,EAAEsD,mEAAiB;MAC1BW,QAAQ,EAAEN,uFAAuB;MACjCxD,KAAK,EAAE;KACR,EACD;MACEH,OAAO,EAAEsD,mEAAiB;MAC1BW,QAAQ,EAAEL,6EAAkB;MAC5BzD,KAAK,EAAE;KACR,EACD;MACEH,OAAO,EAAEsD,mEAAiB;MAC1BW,QAAQ,EAAEP,yFAAuB;MACjCvD,KAAK,EAAE;KACR,EACD;MACEH,OAAO,EAAEwD,gEAAkB;MAC3BS,QAAQ,EAAEJ,iFAAqBA;KAChC,CACF;IAAApK,OAAA,GAnCC2J,0DAAY,EACZG,mEAAiB,EACjBzO,0DAAY,EACZuO,wDAAW,EACXzE,kEAAS,EAiCT2E,mEAAiB;EAAA;;;sHAMR1E,UAAU;IAAAuB,YAAA,GApCnBe,2FAAkB,EAClBlM,oGAAqB,EACrBC,qGAAsB;IAAAuE,OAAA,GATtB2J,0DAAY,EACZG,mEAAiB,EACjBzO,0DAAY,EACZuO,wDAAW,EACXzE,kEAAS;IAAAjF,OAAA,GAiCT4J,mEAAiB,EACjBpC,2FAAkB,EAClBlM,oGAAqB,EACrBC,qGAAsB;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;AC/CiB;;;;;AAMrC,MAAOF,SAAS;EACpBkF,YACUG,MAAc,EACLF,WAAwB,EACxBmG,YAA0B;IAFnC,KAAAjG,MAAM,GAANA,MAAM;IACG,KAAAF,WAAW,GAAXA,WAAW;IACX,KAAAmG,YAAY,GAAZA,YAAY;EAC5B;EAEHnJ,WAAWA,CACTiN,KAA6B,EAC7BC,KAA0B;IAE1B,IAAI,CAAC/D,YAAY,CAACgE,SAAS,GAAGD,KAAK,CAAC5L,GAAG;IACvC,MAAMpB,KAAK,GAAI+M,KAAK,CAAChN,IAAI,CAACC,KAAK,IAAI,EAAoB;IACvD,OAAO,IAAI,CAAC8C,WAAW,CAACe,KAAK,CAACW,IAAI,CAChCqI,mDAAG,CAAEK,CAAC,IAAI;MACR,IAAI,CAACA,CAAC,CAAC7I,eAAe,EAAE,EAAE;QACxB,IAAI,CAAC4E,YAAY,CAACC,KAAK,EAAE;QACzB,OAAO,KAAK;MACd;MACA,IAAI,CAAClJ,KAAK,CAACmN,IAAI,CAAChM,CAAC,IAAE+L,CAAC,CAAClN,KAAK,CAACkF,GAAG,CAAC/D,CAAC,CAAC,CAAC,EAAE;QAClC,IAAI,CAAC6B,MAAM,CAACoK,aAAa,CAAC,gBAAgB,CAAC;QAC3C,OAAO,KAAK;MACd;MACA,OAAO,IAAI;IACb,CAAC,CAAC,CACH;EACH;EAEAC,OAAOA,CACLN,KAAY,EACZ3H,QAAsB;IAEtB,MAAMkI,UAAU,GAAG,IAAI,CAACtK,MAAM,CAACuK,oBAAoB,EAAE;IACrD,IAAI,CAACtE,YAAY,CAACgE,SAAS,GAAGK,UAAU,EAAEE,YAAY,CAACC,QAAQ,EAAE,IAAI,GAAG;IACxE,MAAMzN,KAAK,GAAI+M,KAAK,CAAChN,IAAI,CAACC,KAAK,IAAI,EAAoB;IACvD,OAAO,IAAI,CAAC8C,WAAW,CAACe,KAAK,CAACW,IAAI,CAChCsI,oDAAI,CAAC,CAAC,CAAC,EACPD,mDAAG,CAAEK,CAAC,IAAI;MACR,IAAI,CAACA,CAAC,CAAC7I,eAAe,EAAE,EAAE;QACxB,IAAI,CAAC4E,YAAY,CAACC,KAAK,EAAE;QACzB,OAAO,KAAK;MACd;MACA,IAAI,CAAClJ,KAAK,CAACmN,IAAI,CAAChM,CAAC,IAAE+L,CAAC,CAAClN,KAAK,CAACkF,GAAG,CAAC/D,CAAC,CAAC,CAAC,EAAE;QAClC,IAAI,CAAC6B,MAAM,CAACoK,aAAa,CAAC,gBAAgB,CAAC;QAC3C,OAAO,KAAK;MACd;MACA,OAAO,IAAI;IACb,CAAC,CAAC,CACH;EACH;EAAC,QAAApL,CAAA;qBAjDUrE,SAAS,EAAA+E,sDAAA,CAAAL,mDAAA,GAAAK,sDAAA,CAAAmD,+DAAA,GAAAnD,sDAAA,CAAAsD,6DAAA;EAAA;EAAA,QAAA/D,EAAA;WAATtE,SAAS;IAAA+P,OAAA,EAAT/P,SAAS,CAAAgQ,IAAA;IAAAC,UAAA,EAFR;EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdwC;AACjB;AACA;AACE;AACS;AACkB;AACxB;AACc;AACE;AACN;AACA;AACF;AACS;AACD;AACQ;AACpB;AACE;AACM;AACzB;AACqC;AACmB;AACC;;;;;;;;;;;;;;;;;;ACvBxD;AACM;AAEpC,MAAOgB,OAAQ,SAAQD,mDAAU;EAIrC,OAAOE,QAAQA,CAACC,CAAU;IACxB,OAAOC,MAAM,CAACC,MAAM,CAAC,IAAIJ,OAAO,EAAE,EAAEF,4CAAI,CAACO,QAAQ,CAACH,CAAC,EAAEH,mDAAU,CAACO,KAAK,CAAC,CAAC;EACzE;;;;;;;;;;;;;;;;;ACTkC;AAEpC;AACM,MAAOC,QAAQ;EAArBtM,YAAA;IAGE,KAAAuM,aAAa,GAAS,IAAIhF,IAAI,EAAE;EAUlC;EAAC,QAAApI,CAAA,GAJiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIF,QAAQ,EAAE,CAAC;EACzE,OAAOG,QAAQA,CAACC,CAAU;IACxB,OAAOb,4CAAI,CAACO,QAAQ,CAACM,CAAC,EAAEJ,QAAQ,CAACD,KAAK,CAAC;EACzC;;;;;;;;;;;;;;;;;ACfK,IAAKM,YAIX;AAJD,WAAYA,YAAY;EACtBA,YAAA,oCAAgC;EAChCA,YAAA,2CAAuC;EACvCA,YAAA,yBAAqB;AACvB,CAAC,EAJWA,YAAY,KAAZA,YAAY;AAMlB,MAAOC,QAAQ;EACnB5M,YACS6M,IAAkB,EAClBC,OAAU;IADV,KAAAD,IAAI,GAAJA,IAAI;IACJ,KAAAC,OAAO,GAAPA,OAAO;EACZ;;;;;;;;;;;;;;;;ACVA,MAAO9B,eAAe;EAK1BhL,YACS+M,EAAA,GAAa,CAAC,EACd3L,OAAA,GAAkB,EAAE,EACpBE,YAA4B,EACnCnE,KAAA,GAAmB,IAAI;IAHhB,KAAA4P,EAAE,GAAFA,EAAE;IACF,KAAA3L,OAAO,GAAPA,OAAO;IACP,KAAAE,YAAY,GAAZA,YAAY;IAPrB;;;IAGA,KAAAnE,KAAK,GAAG,IAAI0D,GAAG,EAAU;IAOvB1D,KAAK,IAAEA,KAAK,CAAC6P,OAAO,CAAC1O,CAAC,IAAG;MAAE,IAAI,CAACnB,KAAK,CAAC8P,GAAG,CAAC3O,CAAC,CAAC;IAAA,CAAC,CAAC;EAChD;EAEAkD,eAAeA,CAAA;IACb,OAAO,CAAC,CAAC,IAAI,CAACJ,OAAO;EACvB;EAEA8L,WAAWA,CAAA;IACT,OACE,IAAI,CAAC/P,KAAK,CAACkF,GAAG,CAAC,WAAW,CAAC;EAE/B;EAEA8K,OAAOA,CAAA;IACL,OAAO,IAAI,CAAChQ,KAAK,CAACkF,GAAG,CAAC,OAAO,CAAC;EAChC;EAEA+K,SAASA,CAAA;IACP,OAAO,IAAI,CAACjQ,KAAK,CAACkF,GAAG,CAAC,SAAS,CAAC;EAClC;EAEAgL,eAAeA,CAAA;IACb,OAAO,IAAI,CAAClQ,KAAK,CAACkF,GAAG,CAAC,eAAe,CAAC;EACxC;EAEAiL,gBAAgBA,CAAA;IACd,OAAO,IAAI,CAACH,OAAO,EAAE,IAAI,IAAI,CAACC,SAAS,EAAE;EAC3C;;;;;;;;;;;;;;;;;ACtCkC;AAEpC;AACM,MAAOtB,UAAU;EAAvB9L,YAAA;IACE,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAAQ,QAAQ,GAAW,EAAE;IACrB,KAAAC,OAAO,GAAW,EAAE;IACpB,KAAAC,QAAQ,GAAW,CAAC;IACpB,KAAAC,OAAO,GAAY,KAAK;IACxB,KAAAC,OAAO,GAAW,EAAE;IACpB,KAAAC,SAAS,GAAS,IAAIrG,IAAI,EAAE;IAC5B,KAAAsG,UAAU,GAAY,EAAE;IACxB,KAAAC,UAAU,GAAU,IAAIvG,IAAI,EAAE;IAC9B,KAAAwG,QAAQ,GAAa,KAAK;EAgB5B;EAAC,QAAA5O,CAAA,GAXiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIV,UAAU,EAAE,CAAC;EAC3E,OAAOW,QAAQA,CAACR,CAAa;IAC3B,OAAOJ,4CAAI,CAACO,QAAQ,CAACH,CAAC,EAAEH,UAAU,CAACO,KAAK,CAAC;EAC3C;EACA,OAAOL,QAAQA,CAACC,CAAa;IAC3B,OAAOC,MAAM,CAACC,MAAM,CAAC,IAAIL,UAAU,EAAE,EAAED,4CAAI,CAACO,QAAQ,CAACH,CAAC,EAAEH,UAAU,CAACO,KAAK,CAAC,CAAC;EAC5E;EAEA,IAAW2B,MAAMA,CAAA;IACf,OAAO,IAAI,CAACC,IAAI,EAAE3D,IAAI,CAAC4D,CAAC,IAAEA,CAAC,IAAE,MAAM,CAAC;EACtC;;;;;;;;;;;;;;;;;AC5BkC;AAEpC;AACM,MAAOC,MAAM;EAAnBnO,YAAA;IACE,KAAA2N,OAAO,GAAS,EAAE;IAClB,KAAAC,SAAS,GAAQ,IAAIrG,IAAI,EAAE;IAC3B,KAAA6G,QAAQ,GAAW,EAAE;IACrB,KAAAC,MAAM,GAAY,EAAE;IACpB,KAAAZ,QAAQ,GAAY,CAAC;IACrB,KAAAa,QAAQ,GAAW,EAAE;IACrB,KAAAC,QAAQ,GAAW,EAAE;EAoBvB;EAAC,QAAApP,CAAA,GAlBiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAI2B,MAAM,EAAE,CAAC;EACvE,OAAO1B,QAAQA,CAACR,CAAS;IACvB,OAAOJ,4CAAI,CAACO,QAAQ,CAACH,CAAC,EAAEkC,MAAM,CAAC9B,KAAK,CAAC;EACvC;EAEO,OAAOmC,MAAMA,CAACvC,CAAQ;IAC3B,IAAIwC,GAAG,GAAG,GAAGxC,CAAC,CAAC0B,OAAO,IAAI,KAAK,OAAO9B,4CAAI,CAAC6C,cAAc,CAACzC,CAAC,CAAC2B,SAAS,CAAC,GAAG;IACzE,IAAIe,IAAI,GAAG1C,CAAC,CAACmC,QAAQ,IAAInC,CAAC,CAACoC,MAAM,GAAG,OAAOpC,CAAC,CAACoC,MAAM,EAAE,GAAG,EAAE,CAAC;IAC3D,IAAIpC,CAAC,CAACqC,QAAQ,IAAIrC,CAAC,CAACsC,QAAQ,EAC1BE,GAAG,IAAI,cAAcE,IAAI,iBAAiB1C,CAAC,CAACqC,QAAQ,gBAAgBrC,CAAC,CAACsC,QAAQ,OAAO,MAClF,IAAI,CAACtC,CAAC,CAACqC,QAAQ,IAAIrC,CAAC,CAACsC,QAAQ,EAChCE,GAAG,IAAI,YAAYE,IAAI,aAAa1C,CAAC,CAACsC,QAAQ,OAAO,MAClD,IAAItC,CAAC,CAACqC,QAAQ,IAAI,CAACrC,CAAC,CAACsC,QAAQ,EAChCE,GAAG,IAAI,cAAcE,IAAI,aAAa1C,CAAC,CAACqC,QAAQ,OAAO;IACzD,OAAOG,GAAG;EACZ;;;;;;;;;;;;;;;;;AC3BkC;AAEpC;AACM,MAAOvD,OAAO;EAApBlL,YAAA;IACE,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAA6B,IAAI,GAAW,EAAE;IACjB,KAAAC,UAAU,GAAY,EAAE;IACxB,KAAAnB,OAAO,GAAY,KAAK;IACxB,KAAAK,QAAQ,GAAa,KAAK;IAC1B,KAAAN,QAAQ,GAAY,CAAC;IACrB,KAAAE,OAAO,GAAW,EAAE;IACpB,KAAAC,SAAS,GAAS,IAAIrG,IAAI,EAAE;IAC5B,KAAAsG,UAAU,GAAY,EAAE;IACxB,KAAAC,UAAU,GAAU,IAAIvG,IAAI,EAAE;EAMhC;EAAC,QAAApI,CAAA,GAJiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAItB,OAAO,EAAE,CAAC;EACxE,OAAOuB,QAAQA,CAACR,CAAS;IACvB,OAAOJ,4CAAI,CAACO,QAAQ,CAACH,CAAC,EAACf,OAAO,CAACmB,KAAK,CAAC;EACvC;;;;;;;;;;;;;;;;;;;;;;AClB0C;AACR;AACA;AACe;AACT;AACR;AAElC;AACM,MAAOpB,OAAO;EAApBjL,YAAA;IACI,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAAiC,QAAQ,GAAW,CAAC;IACpB,KAAA5N,OAAO,GAAW,EAAE;IACpB,KAAA6N,UAAU,GAAW,EAAE;IACvB,KAAAC,KAAK,GAAY,CAAC;IAClB,KAAAC,QAAQ,GAAS,IAAI5H,IAAI,EAAE;IAC3B,KAAA6H,MAAM,GAAW,EAAE;IACnB,KAAAC,MAAM,GAAW,CAAC;IAClB,KAAAC,KAAK,GAAYnN,SAAS;IAC1B,KAAAoN,MAAM,GAAYpN,SAAS;IAC3B,KAAAqN,UAAU,GAAW,CAAC;IACtB,KAAAC,QAAQ,GAAY,KAAK;IACzB,KAAAC,IAAI,GAAY,KAAK;IACrB,KAAAC,WAAW,GAAW,EAAE;IACxB,KAAAC,UAAU,GAAW,CAAC;IAeb,KAAAC,KAAK,GAAa5E,OAAO,CAACoB,KAAK;EAmC5C;EAAC,QAAAlN,CAAA,GAlCmB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIvB,OAAO,EAAE,CAAC;EACxE,OAAOwB,QAAQA,CAACqD,CAAS;IACrB,IAAIA,CAAC,CAACC,IAAI,EACNjB,qDAAW,CAACrC,QAAQ,CAACqD,CAAC,CAACC,IAAI,CAAC;IAChC,IAAID,CAAC,CAACE,QAAQ,EACVF,CAAC,CAACE,QAAQ,CAAChG,GAAG,CAACiC,CAAC,IAAEf,6CAAO,CAACuB,QAAQ,CAACR,CAAC,CAAC,CAAC;IAC1C,IAAI6D,CAAC,CAACG,aAAa,EACfH,CAAC,CAACG,aAAa,CAACjG,GAAG,CAACiC,CAAC,IAAE8C,4DAAc,CAACtC,QAAQ,CAACR,CAAC,CAAC,CAAC;IACtD,IAAI6D,CAAC,CAACI,WAAW,EACbJ,CAAC,CAACI,WAAW,CAAClG,GAAG,CAACiC,CAAC,IAAIH,mDAAU,CAACW,QAAQ,CAACR,CAAC,CAAC,CAAC;IAClD,IAAI6D,CAAC,CAACK,OAAO,EACTL,CAAC,CAACK,OAAO,CAACnG,GAAG,CAACiC,CAAC,IAAIkC,2CAAM,CAAC1B,QAAQ,CAACR,CAAC,CAAC,CAAC;IAC1C,OAAOJ,4CAAI,CAACO,QAAQ,CAAC0D,CAAC,EAAE7E,OAAO,CAACoB,KAAK,CAAC;EAC1C;EAEA,IAAW+D,QAAQA,CAAA;IACf,OAAO,IAAI,CAACF,WAAW,EAAEG,MAAM,CAAC,CAACC,CAAC,EAAC5D,CAAC,KAAG4D,CAAC,IAAE5D,CAAC,CAACgB,OAAO,GAAC,CAAC,GAAC,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC;EACpE;EAEA,IAAW6C,SAASA,CAAA;IAChB,OAAO,IAAI,CAACN,aAAa,EAAEzN,MAAM,IAAI,CAAC;EAC1C;EAEA,IAAWgO,IAAIA,CAAA;IACX,IAAI/B,GAAG,GAAE,gBAAgB;IACzB,IAAI,IAAI,CAAC2B,QAAQ,EACb3B,GAAG,GAAG,IAAI,CAACgC,MAAM,CAAC,CAAC,CAAC,CAAClD,QAAQ;IACjC,OAAOkB,GAAG;EACd;EAEOgC,MAAMA,CAACC,GAAU;IACpB,IAAIC,IAAI,GAAE,IAAI,CAACT,WAAW,EAAEtQ,MAAM,CAAC8M,CAAC,IAAE,CAACA,CAAC,CAACgB,OAAO,CAAC;IACjD,OAAOiD,IAAI,IAAIA,IAAI,CAACnO,MAAM,GAACkO,GAAG,GAACC,IAAI,CAACD,GAAG,CAAC,GAACvO,SAAS;EACtD;;;;;;;;;;;;;;;;;ACxEgC;AAEpC;AACM,MAAOyO,UAAU;EAAvB5Q,YAAA;IACE,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAA8D,OAAO,GAAW,EAAE;IACpB,KAAAlB,WAAW,GAAW,EAAE;IACxB,KAAAmB,KAAK,GAAa,KAAK;IACvB,KAAAC,MAAM,GAAY,EAAE;IACpB,KAAAjD,UAAU,GAAU,IAAIvG,IAAI,EAAE;EAKhC;EAAC,QAAApI,CAAA,GAJiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIoE,UAAU,EAAE,CAAC;EAC3E,OAAOnE,QAAQA,CAACnO,CAAa;IAC3B,OAAOuN,4CAAI,CAACO,QAAQ,CAAC9N,CAAC,EAAEsS,UAAU,CAACvE,KAAK,CAAC;EAC3C;;;;;;;;;;;;;;;;;;ACbkC;AACkB;AAEtD;AACM,MAAO4E,YAAa,SAAQD,+DAAgB;EAAlDhR,YAAA;;IACE,KAAAkR,IAAI,GAAG,EAAE;EAOX;EAAC,QAAA/R,CAAA,GALiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIyE,YAAY,EAAE,CAAC;EAC7E,OAAOxE,QAAQA,CAACqD,CAAe;IAC7B,OAAOjE,4CAAI,CAACO,QAAQ,CAAC0D,CAAC,EAAEmB,YAAY,CAAC5E,KAAK,CAAC;EAC7C;;;;;;;;;;;;;;;;;ACVkC;AAEpC;AACM,MAAO2E,gBAAgB;EAA7BhR,YAAA;IACE,KAAA+M,EAAE,GAAG,CAAC;IACN,KAAAa,SAAS,GAAS,IAAIrG,IAAI,EAAE;IAC5B,KAAA4J,QAAQ,GAAU,IAAI5J,IAAI,EAAE;IAC5B,KAAA6J,OAAO,GAAa,KAAK;IACzB,KAAA1D,OAAO,GAAa,KAAK;IACzB,KAAA2D,SAAS,GAAY,EAAE;IACvB,KAAAC,OAAO,GAAG,EAAE;IACZ,KAAAzE,IAAI,GAAE,EAAE;IACR,KAAA0E,MAAM,GAAE,KAAK;IACb,KAAAC,SAAS,GAAE,KAAK;EAOlB;EAAC,QAAArS,CAAA,GALiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIwE,gBAAgB,EAAE,CAAC;EACjF,OAAOvE,QAAQA,CAACqD,CAAmB;IACjC,OAAOjE,4CAAI,CAACO,QAAQ,CAAC0D,CAAC,EAAEkB,gBAAgB,CAAC3E,KAAK,CAAC;EACjD;;;;;;;;;;;;;;;;;;ACLI,SAAUoF,WAAWA,CAACC,IAAa,EAAEC,IAA6B,EAAEC,IAAc;EACtF,IAAInD,GAAG,GAAc,EAAE;EACvB,IAAIkD,IAAI,CAACD,IAAI,CAAC,EACZjD,GAAG,CAACoD,IAAI,CAACH,IAAI,CAAC;EAChB,IAAI,CAACE,IAAI,IAAI,CAACnD,GAAG,CAACjM,MAAM,KAAKkP,IAAI,CAACI,KAAK,EACnCrD,GAAG,GAAGA,GAAG,CAACsD,MAAM,CAAC7F,MAAM,CAAC8F,MAAM,CAACN,IAAI,CAACI,KAAK,CAAC,CAACzB,MAAM,CAAC,CAAC4B,CAAC,EAAEhG,CAAC,KAAKgG,CAAC,CAACF,MAAM,CAACN,WAAW,CAACxF,CAAC,EAAE0F,IAAI,EAAEC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;EAC1G,OAAOnD,GAAG;AACZ;AAEM,SAAUyD,WAAWA,CAAIR,IAAa,EAAES,UAA0D,EAAEC,YAAe;EACvH,IAAI3D,GAAG,GAAG0D,UAAU,CAACC,YAAY,EAAEV,IAAI,CAAC;EACxC,IAAIA,IAAI,CAACI,KAAK,EACZrD,GAAG,GAAGvC,MAAM,CAAC8F,MAAM,CAACN,IAAI,CAACI,KAAK,CAAC,CAACzB,MAAM,CAAC,CAAC4B,CAAC,EAAEhG,CAAC,KAAKiG,WAAW,CAACjG,CAAC,EAAEkG,UAAU,EAAEF,CAAC,CAAC,EAAExD,GAAG,CAAC;EACtF,OAAOA,GAAG;AACZ;AAEM,SAAU4D,YAAYA,CAACX,IAAa,EAAEY,EAAwB;EAClEA,EAAE,CAACZ,IAAI,CAAC;EACR,IAAIA,IAAI,CAACI,KAAK,EACZ5F,MAAM,CAAC8F,MAAM,CAACN,IAAI,CAACI,KAAK,CAAC,CAAC9E,OAAO,CAAE3C,CAAC,IAAKgI,YAAY,CAAChI,CAAC,EAACiI,EAAE,CAAC,CAAC;AAChE;;;;;;;;;;;;;;;;ACjCoC;AAE9B,MAAOC,QAAQ;EAArBvS,YAAA;IACE,KAAA+M,EAAE,GAAG,CAAC;IACN,KAAAyF,MAAM,GAAG,EAAE;IACX,KAAAC,SAAS,GAAG,EAAE;IACd,KAAAC,OAAO,GAAG,EAAE;IACZ,KAAAC,UAAU,GAAG,IAAIpL,IAAI,EAAE;IACvB,KAAAqL,SAAS,GAAG,IAAIrL,IAAI,EAAE;EAOxB;EAAC,QAAApI,CAAA,GALiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAI+F,QAAQ,EAAE,CAAC;EACzE,OAAO9F,QAAQA,CAACqD,CAAW;IACzB,OAAOjE,4CAAI,CAACO,QAAQ,CAAC0D,CAAC,EAAEyC,QAAQ,CAAClG,KAAK,CAAC;EACzC;;;;;;;;;;;;;;;;;;;ACZoC;AACJ;AACJ;AAE9B;AACM,MAAOyG,MAAM;EAAnB9S,YAAA;IACE,KAAA+S,IAAI,GAAW,EAAE;IACjB,KAAAC,SAAS,GAAY,EAAE;IACvB,KAAAC,QAAQ,GAAY,EAAE;IACtB,KAAAC,UAAU,GAAY,EAAE;IACxB,KAAA9R,OAAO,GAAY,EAAE;IACrB,KAAA+R,MAAM,GAAY,EAAE;IACpB,KAAAC,MAAM,GAAY,EAAE;IACpB,KAAAC,aAAa,GAAY,EAAE;IAC3B,KAAAC,WAAW,GAAY,EAAE;IACzB,KAAAvG,EAAE,GAAY,CAAC;IACf,KAAAwG,OAAO,GAAY,EAAE;IACrB,KAAAC,UAAU,GAAY,EAAE;IACxB,KAAA3G,IAAI,GAAY,EAAE;IAIlB,KAAA4G,KAAK,GAAY,EAAE;IAGnB,KAAAC,GAAG,GAAY,EAAE;IAEjB,KAAAvW,KAAK,GAAY,EAAE;IACnB,KAAAwW,WAAW,GAAc,EAAE;IAM3B,KAAAC,QAAQ,GAAU,EAAE;IAIpB,KAAAC,QAAQ,GAAa,KAAK;EAgB5B;EAAC,QAAA1U,CAAA,GAdQ,KAAA2U,oBAAoB,GAAG,IAAIjT,GAAG,CAAS,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;EACzF,OAAOkT,iBAAiBA,CAAC9B,CAAQ;IACtC,OAAOa,MAAM,CAACgB,oBAAoB,CAACzR,GAAG,CAAC4P,CAAC,CAACpF,IAAI,CAAC;EAChD;EAEA,OAAOJ,QAAQA,CAACwF,CAAQ;IACtB,IAAIA,CAAC,CAAC9U,KAAK,EACT8U,CAAC,CAAC9U,KAAK,CAAC6M,GAAG,CAACiC,CAAC,IAAI4G,uCAAI,CAACpG,QAAQ,CAACR,CAAC,CAAC,CAAC;IACpC,IAAIgG,CAAC,CAAC0B,WAAW,EACf1B,CAAC,CAAC0B,WAAW,CAAC3J,GAAG,CAACiC,CAAC,IAAIkC,2CAAM,CAAC1B,QAAQ,CAACR,CAAC,CAAC,CAAC;IAC5C,IAAIgG,CAAC,CAAC+B,QAAQ,EACZ1H,+CAAQ,CAACG,QAAQ,CAACwF,CAAC,CAAC+B,QAAQ,CAAC;IAC/B,OAAO/B,CAAC;EACV;;;;;;;;;;;;;;;;;ACtDkC;AAI9B,MAAOY,IAAI;EAAjB7S,YAAA;IAQE,KAAA4N,SAAS,GAAS,IAAIrG,IAAI,EAAE;EAM9B;EAAC,QAAApI,CAAA,GAJiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIqG,IAAI,EAAE,CAAC;EACrE,OAAOpG,QAAQA,CAACnO,CAAO;IACrB,OAAOuN,4CAAI,CAACO,QAAQ,CAAC9N,CAAC,EAAEuU,IAAI,CAACxG,KAAK,CAAC;EACrC;;;;;;;;;;;;;;;;;ACjBkC;AAE9B,MAAO4H,YAAY;EAAzBjU,YAAA;IACI,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAAU,QAAQ,GAAW,CAAC;IACpB,KAAAyG,QAAQ,GAAW,CAAC;IACpB,KAAAvG,OAAO,GAAW,EAAE;IACpB,KAAAC,SAAS,GAAS,IAAIrG,IAAI,EAAE;IAC5B,KAAAsG,UAAU,GAAY,EAAE;IACxB,KAAAC,UAAU,GAAU,IAAIvG,IAAI,EAAE;IAC9B,KAAA4M,IAAI,GAAY,EAAE;EAKtB;EAAC,QAAAhV,CAAA,GAJmB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIyH,YAAY,EAAE,CAAC;EAC7E,OAAOxH,QAAQA,CAACR,CAAc;IAC1B,OAAOJ,4CAAI,CAACO,QAAQ,CAACH,CAAC,EAAEgI,YAAY,CAAC5H,KAAK,CAAC;EAC/C;;;;;;;;;;;;;;;;;;;;;ACdgC;AAE9B,MAAO+H,eAAe;EAA5BpU,YAAA;IACI,KAAAqU,YAAY,GAAW,CAAC;EAE5B;;AAEM,MAAOC,cAAc;EAA3BtU,YAAA;IACI,KAAAuU,QAAQ,GAAW,EAAE;IACrB,KAAAC,QAAQ,GAAW,CAAC;IACpB,KAAAC,WAAW,GAAW,EAAE;IACxB,KAAAC,QAAQ,GAAW,CAAC;IACpB,KAAAC,eAAe,GAAW,CAAC;IAC3B,KAAAC,iBAAiB,GAAW,EAAE;IAC9B,KAAAC,eAAe,GAAW,EAAE;IAC5B,KAAAC,iBAAiB,GAAW,EAAE;EAClC;;AAEM,MAAOC,kBAAkB;EAA/B/U,YAAA;IACI,KAAAgV,YAAY,GAAW,EAAE;IACzB,KAAAC,aAAa,GAAW,EAAE;EAE9B;;AAEM,MAAOC,cAAc;EAA3BlV,YAAA;IACI,KAAAmV,SAAS,GAAW,CAAC;IACrB,KAAAC,UAAU,GAAW,EAAE;IACvB,KAAAC,QAAQ,GAAW,EAAE;IACrB,KAAAC,YAAY,GAAS,IAAI/N,IAAI,EAAE;IAC/B,KAAAgO,kBAAkB,GAAY,KAAK;EAKvC;EAAC,QAAApW,CAAA,GAJmB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAI0I,cAAc,EAAE,CAAC;EAC/E,OAAOzI,QAAQA,CAAC+I,CAAiB;IAC7B,OAAO3J,4CAAI,CAACO,QAAQ,CAACoJ,CAAC,EAAEN,cAAc,CAAC7I,KAAK,CAAC;EACjD;;AAGE,MAAOyC,WAAW;EAAxB9O,YAAA;IACI,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAA0I,aAAa,GAAW,EAAE;IAC1B,KAAAC,0BAA0B,GAAW,EAAE;IACvC,KAAAC,cAAc,GAAW,CAAC;IAC1B,KAAAC,eAAe,GAAS,IAAIrO,IAAI,EAAE;IAClC,KAAAsO,WAAW,GAAS,IAAItO,IAAI,EAAE;IAC9B,KAAAuO,aAAa,GAAW,CAAC;IACzB,KAAAC,YAAY,GAAW,EAAE;IACzB,KAAAC,YAAY,GAAW,EAAE;IACzB,KAAAC,yBAAyB,GAAW,EAAE;IACtC,KAAAC,oBAAoB,GAAW,CAAC;IAChC,KAAAC,oBAAoB,GAAW,EAAE;IACjC,KAAAC,eAAe,GAAW,EAAE;IAC5B,KAAAC,sBAAsB,GAAW,EAAE;EASvC;EAAC,QAAAlX,CAAA,GANmB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIsC,WAAW,EAAE,CAAC;EAC5E,OAAOrC,QAAQA,CAACyB,CAAc;IAC1B,IAAIA,CAAC,CAACoI,kBAAkB,EACpBpI,CAAC,CAACoI,kBAAkB,CAACC,cAAc,CAACvJ,OAAO,CAACwI,CAAC,IAAIN,cAAc,CAACzI,QAAQ,CAAC+I,CAAC,CAAC,CAAC;IAChF,OAAO3J,4CAAI,CAACO,QAAQ,CAAC,IAAI,EAAE0C,WAAW,CAACzC,KAAK,CAAC;EACjD;;;;;;;;;;;;;;;;;AC1DgC;AAE9B,MAAOmK,WAAW;EAAxBxW,YAAA;IACE,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAA0F,SAAS,GAAW,EAAE;IACtB,KAAAC,OAAO,GAAW,EAAE;IACpB,KAAA+D,SAAS,GAAS,IAAIlP,IAAI,EAAE;IAC5B,KAAAmP,OAAO,GAAS,IAAInP,IAAI,EAAE;IAC1B,KAAAoI,WAAW,GAAW,EAAE;EAO1B;EAAC,QAAAxQ,CAAA,GALiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIgK,WAAW,EAAE,CAAC;EAE5E,OAAO/J,QAAQA,CAACqD,CAAc;IAC5B,OAAOjE,4CAAI,CAACO,QAAQ,CAAC0D,CAAC,EAAE0G,WAAW,CAACnK,KAAK,CAAC;EAC5C;;;;;;;;;;;;;;;;;;;;ACbkC;AAKpC;AACM,MAAOsK,IAAI;AAKjB;AACM,MAAOC,KAAK;AAMlB;AACM,MAAOC,OAAO;AAMpB;AACM,MAAOC,QAAQ;EAArB9W,YAAA;IACE,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAAgK,KAAK,GAAS,IAAIxP,IAAI,EAAE;IACxB,KAAAyP,GAAG,GAAS,IAAIzP,IAAI,EAAE;IACtB,KAAAiG,OAAO,GAAW,EAAE;IACpB,KAAAkF,OAAO,GAAW,EAAE;IACpB,KAAAuE,WAAW,GAAY,EAAE;IACzB,KAAAC,SAAS,GAAY,EAAE;IACvB,KAAAC,QAAQ,GAAY,CAAC;IACrB,KAAAvD,QAAQ,GAAW,EAAE;IACrB,KAAAwD,gBAAgB,GAAW,EAAE;IAC7B,KAAAC,SAAS,GAAc,EAAE;EAS3B;EAAC,QAAAlY,CAAA,GALiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIsK,QAAQ,EAAE,CAAC;EACzE,OAAOrK,QAAQA,CAACnO,CAAW;IACzB,OAAOuN,4CAAI,CAACO,QAAQ,CAAC9N,CAAC,EAAEwY,QAAQ,CAACzK,KAAK,CAAC;EACzC;EAAC,QAAAjN,EAAA,GACM,KAAAkY,OAAO,GAAG,CAAC5K,CAAW,EAAE6K,CAAW,KAAM7K,CAAC,CAACqK,KAAK,GAAGQ,CAAC,CAACR,KAAK,GAAI,CAAC,GAAIrK,CAAC,CAACqK,KAAK,GAAGQ,CAAC,CAACR,KAAK,GAAI,CAAC,CAAC,GAAIrK,CAAC,CAACsK,GAAG,GAAGO,CAAC,CAACP,GAAG,GAAI,CAAC,GAAItK,CAAC,CAACsK,GAAG,GAAGO,CAAC,CAACP,GAAG,GAAI,CAAC,CAAC,GAAGtK,CAAC,CAAC0K,gBAAgB,CAACI,aAAa,CAACD,CAAC,CAACH,gBAAgB,CAAC;;;;;;;;;;;;;;;;;AC9CnK;AAE9B,MAAOK,gBAAgB;EAA7BzX,YAAA;IACE,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAAgK,KAAK,GAAS,IAAIxP,IAAI,EAAE;IACxB,KAAAyP,GAAG,GAAS,IAAIzP,IAAI,EAAE;EAQxB;EAAC,QAAApI,CAAA,GANiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIiL,gBAAgB,EAAE,CAAC;EACjF,OAAOhL,QAAQA,CAACR,CAAmB;IACjC,OAAOJ,4CAAI,CAACO,QAAQ,CAACH,CAAC,EAAEwL,gBAAgB,CAACpL,KAAK,CAAC;EACjD;EAAC,QAAAjN,EAAA,GAEM,KAAAkY,OAAO,GAAG,CAAC5K,CAAkB,EAAE6K,CAAkB,KAAM7K,CAAC,CAACqK,KAAK,GAAGQ,CAAC,CAACR,KAAK,GAAI,CAAC,GAAIrK,CAAC,CAACqK,KAAK,GAAGQ,CAAC,CAACR,KAAK,GAAI,CAAC,CAAC,GAAIrK,CAAC,CAACsK,GAAG,GAAGO,CAAC,CAACP,GAAG,GAAI,CAAC,GAAItK,CAAC,CAACsK,GAAG,GAAGO,CAAC,CAACP,GAAG,GAAI,CAAC,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACZ9H;AACM;AACR;AACE;AAEF;AACa;AACS;AAEjB;AAEvC;AACM,MAAOU,IAAI;EAAjB1X,YAAA;IACE,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAA4K,MAAM,GAAW,IAAI7E,2CAAM,EAAE;IAC7B,KAAA8E,OAAO,GAAa,KAAK;IACzB,KAAAC,OAAO,GAAY,EAAE;IACrB,KAAAC,gBAAgB,GAAY,EAAE;IAC9B,KAAAnI,WAAW,GAAY,EAAE;IACzB,KAAAoI,aAAa,GAAY,EAAE;IAC3B,KAAAC,IAAI,GAAY,EAAE;IAClB,KAAAC,MAAM,GAAS,IAAI1Q,IAAI,EAAE;IACzB,KAAA2Q,MAAM,GAAS,IAAI3Q,IAAI,EAAE;IACzB,KAAA4Q,UAAU,GAAY,EAAE;IACxB,KAAAC,aAAa,GAAY,EAAE;IAC3B,KAAAC,iBAAiB,GAAY,EAAE;IAC/B,KAAAC,YAAY,GAAY,EAAE;IAC1B,KAAAC,cAAc,GAAa,KAAK;IAChC,KAAAC,aAAa,GAAY,EAAE;IAC3B,KAAAC,SAAS,GAAY,CAAC;IACtB,KAAAC,OAAO,GAAY,CAAC;IACpB,KAAAC,MAAM,GAAY,CAAC;IACnB,KAAAC,SAAS,GAAY,CAAC;IACtB,KAAAC,cAAc,GAAY,CAAC;IAC3B,KAAAC,OAAO,GAAY,CAAC;IACpB,KAAAC,MAAM,GAAY,EAAE;IACpB,KAAAC,YAAY,GAAY,EAAE;IAC1B,KAAAC,UAAU,GAAY,EAAE;IACxB,KAAAC,UAAU,GAAa,KAAK;IAC5B,KAAAC,WAAW,GAAY,CAAC;IACxB,KAAAC,SAAS,GAAa,KAAK;IAE3B,KAAAzL,OAAO,GAAW,EAAE;IACpB,KAAAC,SAAS,GAAS,IAAIrG,IAAI,EAAE;IAC5B,KAAAsG,UAAU,GAAW,EAAE;IACvB,KAAAC,UAAU,GAAS,IAAIvG,IAAI,EAAE;IAE7B,KAAAwG,QAAQ,GAAa,IAAI;IACzB,KAAAsL,QAAQ,GAAa,KAAK;IAC1B,KAAAC,SAAS,GAAa,KAAK;IAE3B,KAAAC,YAAY,GAAe,EAAE;IAC7B,KAAAC,QAAQ,GAAkB,EAAE;IAC5B,KAAAC,SAAS,GAAuB,EAAE;IAClC,KAAAzJ,QAAQ,GAAe,EAAE;IACzB,KAAAE,WAAW,GAAkB,EAAE;IAC/B,KAAAwJ,aAAa,GAAoB,EAAE;IACnC,KAAAvJ,OAAO,GAAc,EAAE;IACvB,KAAAwJ,QAAQ,GAAe,EAAE;EAmB3B;EAAC,QAAAxa,CAAA,GAjBiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIkL,IAAI,EAAE,CAAC;EACrE,OAAOjL,QAAQA,CAACyB,CAAO;IACrB,IAAIA,CAAC,CAACqL,YAAY,EAChBrL,CAAC,CAACqL,YAAY,CAACvP,GAAG,CAAC4P,CAAC,IAAI9C,gDAAQ,CAACrK,QAAQ,CAACmN,CAAC,CAAC,CAAC;IAC/C,IAAI1L,CAAC,CAACuL,SAAS,EACbvL,CAAC,CAACuL,SAAS,CAACzP,GAAG,CAAC4P,CAAC,IAAInC,iEAAgB,CAAChL,QAAQ,CAACmN,CAAC,CAAC,CAAC;IACpD,IAAI1L,CAAC,CAAC8B,QAAQ,EACZ9B,CAAC,CAAC8B,QAAQ,CAAChG,GAAG,CAACiC,CAAC,IAAIf,6CAAO,CAACuB,QAAQ,CAACR,CAAC,CAAC,CAAC;IAC1C,IAAIiC,CAAC,CAACwL,aAAa,EACjBxL,CAAC,CAACwL,aAAa,CAAC1P,GAAG,CAACiC,CAAC,IAAIgI,wDAAY,CAACxH,QAAQ,CAACR,CAAC,CAAC,CAAC;IACpD,IAAIiC,CAAC,CAACiC,OAAO,EACXjC,CAAC,CAACiC,OAAO,CAACnG,GAAG,CAACiC,CAAC,IAAIkC,2CAAM,CAAC1B,QAAQ,CAACR,CAAC,CAAC,CAAC;IACxC,IAAIiC,CAAC,CAACgC,WAAW,EACfhC,CAAC,CAACgC,WAAW,CAAClG,GAAG,CAAC9H,CAAC,IAAI4J,mDAAU,CAACW,QAAQ,CAACvK,CAAC,CAAC,CAAC;IAChD,OAAO2J,4CAAI,CAACO,QAAQ,CAAC8B,CAAC,EAAEwJ,IAAI,CAACrL,KAAK,CAAC;EACrC;;;;;;;;;;;;;;;;;AC3EkC;AAEpC;AACM,MAAO0C,cAAc;EAA3B/O,YAAA;IACE,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAA8M,IAAI,GAAY,CAAC;IACjB,KAAAlM,OAAO,GAAY,EAAE;IACrB,KAAAC,SAAS,GAAU,IAAIrG,IAAI,EAAE;IAC7B,KAAAsG,UAAU,GAAY,EAAE;IACxB,KAAAC,UAAU,GAAU,IAAIvG,IAAI,EAAE;IAC9B,KAAAoI,WAAW,GAAW,EAAE;IACxB,KAAAN,MAAM,GAAW,CAAC;IAClB,KAAAwB,OAAO,GAAW,EAAE;EAYtB;EAAC,QAAA1R,CAAA,GARiB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIuC,cAAc,EAAE,CAAC;EAC/E,OAAOtC,QAAQA,CAACR,CAAiB;IAC/B,OAAOJ,4CAAI,CAACO,QAAQ,CAACH,CAAC,EAAE8C,cAAc,CAAC1C,KAAK,CAAC;EAC/C;EAEAyN,QAAQA,CAAA;IACN,OAAO,IAAI,CAACjJ,OAAO,IAAI,IAAI,CAACkJ,IAAI,GAAG,IAAI,IAAI,CAACA,IAAI,IAAI,IAAI,CAACC,IAAI,EAAE,GAAG,EAAE,CAAC;EACvE;;;;;;;;;;;;;;;;;;;;;;ACvBkC;AACW;AACX;AACA;AACM;AACR;AAElC;AACM,MAAO7O,QAAQ;EAArBnL,YAAA;IACI,KAAA+M,EAAE,GAAW,CAAC;IACd,KAAAiC,QAAQ,GAAW,CAAC;IACpB,KAAAC,UAAU,GAAW,EAAE;IACvB,KAAA7N,OAAO,GAAW,EAAE;IACpB,KAAAuM,OAAO,GAAW,EAAE;IACpB,KAAAC,SAAS,GAAS,IAAIrG,IAAI,EAAE;IAC5B,KAAAsG,UAAU,GAAW,EAAE;IACvB,KAAAC,UAAU,GAAS,IAAIvG,IAAI,EAAE;IAC7B,KAAA0S,IAAI,GAAW,EAAE;IACjB,KAAAtK,WAAW,GAAY,EAAE;IACzB,KAAAuK,SAAS,GAAW,CAAC;IACrB,KAAAC,MAAM,GAAS,CAAC;IAEhB,KAAAC,MAAM,GAAS,CAAC;IAChB,KAAAC,SAAS,GAAS,CAAC;EAwBvB;EAAC,QAAAlb,CAAA,GAdmB,KAAAkN,KAAK,GAAaR,4CAAI,CAACW,kBAAkB,CAAC,IAAIrB,QAAQ,EAAE,CAAC;EACzE,OAAOsB,QAAQA,CAACnO,CAAU;IACtB,IAAIA,CAAC,CAAC0R,QAAQ,EACV1R,CAAC,CAAC0R,QAAQ,CAAChG,GAAG,CAACiC,CAAC,IAAEf,6CAAO,CAACuB,QAAQ,CAACR,CAAC,CAAC,CAAC;IAC1C,IAAI3N,CAAC,CAACob,aAAa,EACfpb,CAAC,CAACob,aAAa,CAAC1P,GAAG,CAACiC,CAAC,IAAEgI,wDAAY,CAACxH,QAAQ,CAACR,CAAC,CAAC,CAAC;IACpD,IAAI3N,CAAC,CAACqb,QAAQ,EACVrb,CAAC,CAACqb,QAAQ,CAAC3P,GAAG,CAAC9H,CAAC,IAAE+I,6CAAO,CAACwB,QAAQ,CAACvK,CAAC,CAAC,CAAC;IAC1C,IAAI5D,CAAC,CAAC4R,WAAW,EACb5R,CAAC,CAAC4R,WAAW,CAAClG,GAAG,CAAC9H,CAAC,IAAE4J,mDAAU,CAACW,QAAQ,CAACvK,CAAC,CAAC,CAAC;IAChD,IAAI5D,CAAC,CAAC6R,OAAO,EACT7R,CAAC,CAAC6R,OAAO,CAACnG,GAAG,CAAC9H,CAAC,IAAEiM,2CAAM,CAAC1B,QAAQ,CAACvK,CAAC,CAAC,CAAC;IACxC,OAAO2J,4CAAI,CAACO,QAAQ,CAAC9N,CAAC,EAAC6M,QAAQ,CAACkB,KAAK,CAAC;EAC1C;;;;;;;;;;;;;;;;;;;AC9CuE;AAClB;AACd;;AAGrC,MAAO9C,eAAgB,SAAQN,uDAAY;EAC/CjJ,YAAsCya,QAAkB;IACtD,KAAK,EAAE;IAD6B,KAAAA,QAAQ,GAARA,QAAQ;EAE9C;EAEA,IAAYC,aAAaA,CAAA;IACvB,OAAO,IAAI,CAACD,QAAQ,CAAChZ,GAAG,CAAC+Y,qDAAa,CAAC;EACzC;EAEOG,WAAWA,CAACC,KAAU;IAC3B,IAAIA,KAAK,YAAYL,mEAAiB,EAAE;MACtC,IAAIK,KAAK,CAACT,MAAM,KAAK,CAAC,EAAE;QACtB,IAAI,CAACU,WAAW,CACd,iEAAiE,EACjE,cAAc,CACf;MACH,CAAC,MAAM;QACL,IAAI,CAACA,WAAW,CAACD,KAAK,CAACA,KAAK,IAAIA,KAAK,CAACE,OAAO,IAAI,OAAO,CAAC;MAC3D;IACF,CAAC,MAAM,IAAIF,KAAK,YAAYG,SAAS,EAAE;MACrC,IAAI,CAACF,WAAW,CAACD,KAAK,CAACE,OAAO,EAAE,wBAAwB,CAAC;IAC3D,CAAC,MAAM,IAAIF,KAAK,YAAY/Q,KAAK,EAAE;MACjC,IAAI,CAACgR,WAAW,CAACD,KAAK,CAACE,OAAO,CAAC;IACjC,CAAC,MAAM;MACL,IAAI,CAACD,WAAW,CAAC,kCAAkC,CAAC;IACtD;IACA,KAAK,CAACF,WAAW,CAACC,KAAK,CAAC;EAC1B;EAEQC,WAAWA,CAACG,GAAW,EAAEtd,KAAc;IAC7C,IAAI,CAACgd,aAAa,CAACE,KAAK,CAACI,GAAG,EAAEtd,KAAK,EAAE;MACnCud,WAAW,EAAE,IAAI;MACjBC,OAAO,EAAE,IAAI;MACbC,cAAc,EAAE;KACjB,CAAC;EACJ;EAAC,QAAAhc,CAAA;qBAnCUoK,eAAe,EAAA1J,sDAAA,CACNya,mDAAQ;EAAA;EAAA,QAAAlb,EAAA;WADjBmK,eAAe;IAAAsB,OAAA,EAAftB,eAAe,CAAAuB;EAAA;;;;;;;;;;;;;;;;;;;ACJe;AACH;;AAMlC,MAAOU,gBAAgB;EAH7BxL,YAAA;IAKU,KAAAqb,YAAY,GAAG,IAAID,yCAAO,EAAiB;;EAEnDE,EAAEA,CAAC,GAAGC,UAA0B;IAC9B,OAAO,IAAI,CAACF,YAAY,CAAC1Z,IAAI,CAAC/B,sDAAM,CAACgC,KAAK,IAAI2Z,UAAU,CAACjR,IAAI,CAAC4D,CAAC,IAAItM,KAAK,CAACiL,IAAI,KAAKqB,CAAC,CAAC,CAAC,CAAC;EACxF;EAEAsN,QAAQA,CAAI5Z,KAAkB;IAC5B,IAAI,CAACyZ,YAAY,CAACI,IAAI,CAAC7Z,KAAK,CAAC;EAC/B;EAAC,QAAAzC,CAAA;qBAVUqM,gBAAgB;EAAA;EAAA,QAAApM,EAAA;WAAhBoM,gBAAgB;IAAAX,OAAA,EAAhBW,gBAAgB,CAAAV,IAAA;IAAAC,UAAA,EAFf;EAAM;;;;;;;;;;;;;;;;;;;;ACCd,MAAOhG,aAAa;EAExB,IAAI2W,OAAOA,CAAA;IACT,OAAO;MAAE,GAAG3W,aAAa,CAAC4W;IAAO,CAAE;EACrC;EACOpW,IAAIA,CAAA;IACT,OAAO,IAAI,CAACqW,UAAU,CACnBna,GAAG,CAAoB,YAAY,CAAC,CACpCoa,SAAS,EAAE,CACXve,IAAI,CAAE2O,CAAC,IAAI;MACVlH,aAAa,CAAC4W,OAAO,GAAG1P,CAAC;MACzB,OAAO;QAAE,GAAGlH,aAAa,CAAC4W;MAAO,CAAE;IACrC,CAAC,CAAC,CACDG,KAAK,CAAC,MAAK;MACV/W,aAAa,CAAC4W,OAAO,GAAG,IAAI;MAC5B,OAAO;QAAE,GAAG5W,aAAa,CAAC4W;MAAO,CAAE;IACrC,CAAC,CAAC;EACN;EACA3b,YAA6B4b,UAAsB;IAAtB,KAAAA,UAAU,GAAVA,UAAU;EAAe;EAAC,QAAAzc,CAAA;qBAlB5C4F,aAAa,EAAAlF,sDAAA,CAAAL,4DAAA;EAAA;EAAA,QAAAJ,EAAA;WAAb2F,aAAa;IAAA8F,OAAA,EAAb9F,aAAa,CAAA+F,IAAA;IAAAC,UAAA,EAFZ;EAAM;;;;;;;;;;;;;;;;;;;;;;;;ACH+B;AACT;AAEE;AAEA;AAEiB;;;;AAGvD,MAAOK,eAAe;EACxBpL,YACYkc,IAAgB,EAChBC,KAAuB;IADvB,KAAAD,IAAI,GAAJA,IAAI;IACJ,KAAAC,KAAK,GAALA,KAAK;IAcT,KAAAC,OAAO,GAAG,IAAIJ,iDAAe,CAAU,IAAI9P,MAAM,EAAE,CAAC;IAC5D,KAAAmQ,OAAO,GAAuB,IAAI,CAACD,OAAO,CAACE,YAAY,EAAE;EAdrD;EAEJ;EACAC,MAAMA,CAACC,GAAmB;IACtB,IAAIC,MAAM,GAAG5Q,mCAAI,CAAC6Q,mBAAmB,CAACF,GAAG,CAAC;IAC1C,OAAO,IAAI,CAACN,IAAI,CAACza,GAAG,CAAmB,kBAAkB,EAAE;MAAEgb;IAAM,CAAE,CAAC,CAAC9a,IAAI,CACvEqI,mDAAG,CAAC2S,EAAE,IAAG;MACLA,EAAE,CAACzf,IAAI,CAAC8P,OAAO,CAAC4M,CAAC,IAAI3O,oDAAO,CAACwB,QAAQ,CAACmN,CAAC,CAAC,CAAC;MACzC,OAAO+C,EAAE;IACb,CAAC,CAAC,CACL;EACL;EAKAC,SAASA,CAACC,KAAc;IACpBA,KAAK,CAAC7P,OAAO,CAACkB,CAAC,IAAG;MACd,IAAI,CAACgO,IAAI,CAACza,GAAG,CAAS,uBAAuByM,CAAC,EAAE,CAAC,CAC5CjN,SAAS,CACNqP,CAAC,IAAE,IAAI,CAAC8L,OAAO,CAACX,IAAI,CAACvP,MAAM,CAAC4Q,WAAW,CAAC,CAAC,CAAC5O,CAAC,EAACoC,CAAC,CAAC,CAAC,CAAC,CAAC,EACjDR,CAAC,IAAI,IAAI,CAACsM,OAAO,CAACX,IAAI,CAACvP,MAAM,CAAC4Q,WAAW,CAAC,CAAC,CAAC5O,CAAC,EAAE6O,GAAG,CAAC,CAAC,CAAC,CAAC,CACzD;IACT,CAAC,CAAC;EACN;EAEA;EACAC,aAAaA,CAACnD,IAAY;IACtB,OAAO,IAAI,CAACqC,IAAI,CAACza,GAAG,CAAU,gBAAgBoY,IAAI,EAAE,CAAC,CAAClY,IAAI,CACtDqI,mDAAG,CAAC9H,CAAC,IAAI+I,oDAAO,CAACwB,QAAQ,CAACvK,CAAC,CAAC,CAAC,CAChC;EACL;EAEA;EACA+a,eAAeA,CAACC,EAAW,EAAEC,IAAmB;IAC5C,OAAO,IAAI,CAACjB,IAAI,CAACkB,GAAG,CAAC,gBAAgBF,EAAE,CAACnQ,EAAE,EAAE,EAAEoQ,IAAI,CAAC,CAACxb,IAAI,CACpDsa,mDAAG,CAAE3d,CAAC,IAAG;MACD,IAAI4e,EAAE,CAACjN,aAAa,EAAEzN,MAAM,IAAI,CAAC,EAC7B,IAAI,CAAC2Z,KAAK,CAACX,QAAQ,CAAC,IAAI5O,uDAAQ,CAACD,2DAAY,CAAC0Q,mBAAmB,EAAE,CAACH,EAAE,CAACnQ,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC,CAAC,CACL;EACL;EAEAuQ,mBAAmBA,CAACC,KAAY,EAAEC,KAAsB;IACpD,OAAO,IAAI,CAACtB,IAAI,CAACkB,GAAG,CAAC,gBAAgBG,KAAK,QAAQ,EAAEC,KAAK,CAAC;EAC9D;EAGA;EACAC,eAAeA,CAAC1Q,EAAU;IACtB,OAAO,IAAI,CAACmP,IAAI,CAACwB,MAAM,CAAC,qBAAqB3Q,EAAE,EAAE,CAAC;EACtD;EAEA4Q,0BAA0BA,CAAC5Q,EAAU;IACjC,OAAO,IAAI,CAACmP,IAAI,CAACwB,MAAM,CAAC,wBAAwB3Q,EAAE,EAAE,CAAC;EACzD;EAEA6Q,oBAAoBA,CAAC7Q,EAAU;IAC3B,OAAO,IAAI,CAACmP,IAAI,CAACwB,MAAM,CAAC,oBAAoB3Q,EAAE,EAAE,CAAC;EACrD;EAEA8Q,aAAaA,CAAChE,IAAY,EAAEiE,MAAc;IACtC,OAAO,IAAI,CAAC5B,IAAI,CAAC6B,IAAI,CAAC,gBAAgBlE,IAAI,QAAQiE,MAAM,EAAE,EAAC,IAAI,CAAC;EACpE;EAEA;EACAE,UAAUA,CAACnE,IAAY,EAAErM,OAAe,EAAEyQ,IAAa;IACnD,OAAO,IAAI,CAAC/B,IAAI,CAAC6B,IAAI,CAAS,gBAAgBlE,IAAI,OAAO,EAAE;MAACrM,OAAO;MAACyQ;IAAI,CAAC,CAAC;EAC9E;EAEAC,uBAAuBA,CAACnR,EAAU,EAAES,OAAe;IAC/C,OAAO,IAAI,CAAC0O,IAAI,CAACkB,GAAG,CAAC,oBAAoBrQ,EAAE,EAAE,EAAE;MAACS;IAAO,CAAC,CAAC;EAC7D;EAAC,QAAArO,CAAA;qBA5EQiM,eAAe,EAAAvL,sDAAA,CAAAL,4DAAA,GAAAK,sDAAA,CAAAmD,+CAAA;EAAA;EAAA,QAAA5D,EAAA;WAAfgM,eAAe;IAAAP,OAAA,EAAfO,eAAe,CAAAN;EAAA;;;;;;;;;;;;;;;;;;;;;;ACVuB;AACT;;;;AAUpC,MAAOlG,gBAAgB;EAC3B5E,YACUkc,IAAgB,EACPjc,WAAwB;IADjC,KAAAic,IAAI,GAAJA,IAAI;IACK,KAAAjc,WAAW,GAAXA,WAAW;IAkB9B,KAAAke,QAAQ,GAAwBvZ,gBAAgB,CAACwZ,QAAQ,CAAC9B,YAAY,EAAE;IAExE,KAAA+B,SAAS,GAA6BzZ,gBAAgB,CAAC0Z,SAAS,CAAChC,YAAY,EAAE;IAlB7E,IAAI,CAACrc,WAAW,CAACe,KAAK,CAACC,SAAS,CAACC,IAAI,IAAG;MACtC,IAAIA,IAAI,CAAC6L,EAAE,IAAI7L,IAAI,CAAC6L,EAAE,IAAInI,gBAAgB,CAAC2Z,MAAM,EAAE;QACjD3Z,gBAAgB,CAAC2Z,MAAM,GAAGrd,IAAI,CAAC6L,EAAE;QACjC,IAAI,CAACxH,IAAI,EAAE;MACb;IACF,CAAC,CAAC;EACJ;EAAC,QAAApG,CAAA,GAGc,KAAAqf,OAAO,GAA0B,EAAE;EAClD,IAAIC,SAASA,CAAA;IACX,IAAI,CAAC7Z,gBAAgB,CAAC8Z,MAAM,EAC1B,OAAO,EAAE;IACX,OAAO,CAAC,GAAG9Z,gBAAgB,CAAC8Z,MAAM,CAAC;EACrC;EAAC,QAAAtf,EAAA,GACc,KAAAgf,QAAQ,GAAG,IAAIpC,iDAAe,CAAU,IAAI,CAAC;EAAA,QAAA3c,EAAA,GAE7C,KAAAif,SAAS,GAAG,IAAItC,iDAAe,CAAe,IAAI,CAAC;EAGlEzW,IAAIA,CAAA;IACF,IAAI,CAACX,gBAAgB,CAAC2Z,MAAM,EAC1B;IACF,IAAI,CAACI,aAAa,EAAE;IAEpB,IAAI,CAACC,cAAc,EAAE;IAErB,OAAO,IAAI,CAAC1C,IAAI,CACbza,GAAG,CAAY,cAAc,CAAC,CAC9Boa,SAAS,EAAE,CACXve,IAAI,CAAEoP,CAAC,IAAI;MACV9H,gBAAgB,CAAC4Z,OAAO,GAAG,EAAE;MAC7B,IAAIjhB,CAAC,GAAG,EAAE;MACVmP,CAAC,CAACM,OAAO,CAACwI,CAAC,IAAG;QACVjY,CAAC,CAACsU,IAAI,CAAC2D,CAAC,CAAC;QACT5Q,gBAAgB,CAAC4Z,OAAO,CAAChJ,CAAC,CAACjX,GAAG,CAAC,GAACiX,CAAC;MACrC,CAAC,CAAC;MACFjY,CAAC,CAACshB,IAAI,CAAC,CAAC3c,CAAC,EAAE4c,CAAC,KAAK5c,CAAC,CAACyN,WAAW,CAAC6H,aAAa,CAACsH,CAAC,CAACnP,WAAW,CAAC,CAAC;MAC5D/K,gBAAgB,CAAC8Z,MAAM,GAAGnhB,CAAC;MAC3B,OAAO;QAAC,GAAGqH,gBAAgB,CAAC8Z;MAAM,CAAC;IACrC,CAAC,CAAC,CACD5C,KAAK,CAAC,MAAK;MACVlX,gBAAgB,CAAC8Z,MAAM,GAAG,EAAE;MAC5B9Z,gBAAgB,CAAC4Z,OAAO,GAAG,EAAE;MAC7B,OAAO;QAAE,GAAG5Z,gBAAgB,CAAC8Z;MAAM,CAAE;IACvC,CAAC,CAAC;EACN;EAGAK,SAASA,CAAChS,EAAS;IACjB,OAAO,IAAI,CAACmP,IAAI,CACbza,GAAG,CAAY,gBAAgBsL,EAAE,EAAE,CAAC,CACpCpL,IAAI,CAACqI,mDAAG,CAAE0C,CAAC,IAAI;MACd,IAAInP,CAAC,GAAG,CAAC,GAAGmP,CAAC,CAAC;MACdnP,CAAC,CAACshB,IAAI,CAAC,CAAC3c,CAAC,EAAE4c,CAAC,KAAK5c,CAAC,CAACyN,WAAW,CAAC6H,aAAa,CAACsH,CAAC,CAACnP,WAAW,CAAC,CAAC;MAC5D,OAAOpS,CAAC;IACV,CAAC,CAAC,CACH;EACH;EAEAyhB,UAAUA,CAACzgB,GAAU;IACnB,OAAOqG,gBAAgB,CAAC4Z,OAAO,CAACS,cAAc,CAAC1gB,GAAG,CAAC;EACrD;EAEA2gB,OAAOA,CAAC3gB,GAAU;IAChB,OAAOqG,gBAAgB,CAAC4Z,OAAO,CAACjgB,GAAG,CAAC;EACtC;EAEA4gB,OAAOA,CAACC,GAAY;IAClB,OAAO,IAAI,CAAClD,IAAI,CAAC6B,IAAI,CAAC,cAAc,EAAEqB,GAAG,CAAC,CAACzd,IAAI,CAC7Csa,mDAAG,CAAC3d,CAAC,IAAE;MACLsG,gBAAgB,CAAC8Z,MAAM,CAAC7M,IAAI,CAACuN,GAAG,CAAC;MACjCxa,gBAAgB,CAAC8Z,MAAM,CAACG,IAAI,CAAC,CAAC3c,CAAC,EAAE4c,CAAC,KAAK5c,CAAC,CAACyN,WAAW,CAAC6H,aAAa,CAACsH,CAAC,CAACnP,WAAW,CAAC,CAAC;MAClF/K,gBAAgB,CAAC4Z,OAAO,CAACY,GAAG,CAAC7gB,GAAG,CAAC,GAAC6gB,GAAG;IACvC,CAAC,CAAC,CACH;EACH;EAEAC,UAAUA,CAACD,GAAY;IACrB,OAAO,IAAI,CAAClD,IAAI,CAACkB,GAAG,CAAC,cAAc,EAAEgC,GAAG,CAAC,CAACzd,IAAI,CAC5Csa,mDAAG,CAAC3d,CAAC,IAAE;MACL,IAAIkX,CAAC,GAAG5Q,gBAAgB,CAAC4Z,OAAO,CAACY,GAAG,CAAC7gB,GAAG,CAAC;MACzCiX,CAAC,CAAC7F,WAAW,GAAGyP,GAAG,CAACzP,WAAW;MAC/B/K,gBAAgB,CAAC8Z,MAAM,CAACG,IAAI,CAAC,CAAC3c,CAAC,EAAE4c,CAAC,KAAK5c,CAAC,CAACyN,WAAW,CAAC6H,aAAa,CAACsH,CAAC,CAACnP,WAAW,CAAC,CAAC;IACpF,CAAC,CAAC,CACH;EACH;EAEA2P,OAAOA,CAACF,GAAY;IAClB,OAAO,IAAI,CAAClD,IAAI,CAACwB,MAAM,CAAC,cAAc,EAAE;MAACxM,IAAI,EAACkO;IAAG,CAAC,CAAC,CAACzd,IAAI,CACtDsa,mDAAG,CAAC3d,CAAC,IAAE;MACL,IAAIkX,CAAC,GAAG5Q,gBAAgB,CAAC4Z,OAAO,CAACY,GAAG,CAAC7gB,GAAG,CAAC;MACzC,IAAImO,CAAC,GAAG9H,gBAAgB,CAAC8Z,MAAM;MAC/BhS,CAAC,CAAC6S,MAAM,CAAC7S,CAAC,CAAC8S,OAAO,CAAChK,CAAC,CAAC,EAAC,CAAC,CAAC;MACxB,OAAO5Q,gBAAgB,CAAC4Z,OAAO,CAACY,GAAG,CAAC7gB,GAAG,CAAE;IAC3C,CAAC,CAAC,CACH;EACH;EAEAkhB,UAAUA,CAAC1S,EAAW;IACpB,OAAO,IAAI,CAACmP,IAAI,CACbza,GAAG,CAAW,gBAAgBsL,EAAE,IAAE,EAAE,EAAE,CAAC,CACvCpL,IAAI,CAACqI,mDAAG,CAAE0C,CAAC,IAAI;MACd,IAAInP,CAAC,GAAG,CAAC,GAAGmP,CAAC,CAAC;MACdnP,CAAC,CAACshB,IAAI,CAAC,CAAC3c,CAAC,EAAE4c,CAAC,KAAK5c,CAAC,CAAC6Q,IAAI,CAACyE,aAAa,CAACsH,CAAC,CAAC/L,IAAI,CAAC,CAAC;MAC9C,OAAOxV,CAAC;IACV,CAAC,CAAC,CACD;EACL;EAEAmiB,SAASA,CAAC3S,EAAS;IACjB,OAAO,IAAI,CAACmP,IAAI,CAAC6B,IAAI,CAAC,gBAAgBhR,EAAE,EAAE,EAAE,IAAI,CAAC;EACnD;EAEA4S,YAAYA,CAAC5S,EAAS;IACpB,OAAO,IAAI,CAACmP,IAAI,CAACwB,MAAM,CAAC,gBAAgB3Q,EAAE,EAAE,CAAC;EAC/C;EAEA4R,aAAaA,CAAA;IACX,IAAI,CAACzC,IAAI,CAACza,GAAG,CAAU,kBAAkB,CAAC,CACvCoa,SAAS,EAAE,CACXve,IAAI,CAAEwU,KAAK,IAAI;MACdlN,gBAAgB,CAACwZ,QAAQ,CAAC3C,IAAI,CAAC3J,KAAK,CAAC;IACvC,CAAC,CAAC;EACN;EAEA8N,SAASA,CAAC7S,EAAW;IACnB,OAAO,IAAI,CAACmP,IAAI,CAACza,GAAG,CAAU,oBAAoBsL,EAAE,IAAI,EAAE,EAAE,CAAC;EAC/D;EAGA8S,cAAcA,CAAC/N,KAAe;IAC5B,OAAO,IAAI,CAACoK,IAAI,CAACkB,GAAG,CAAC,gBAAgB,EAACtL,KAAK,CAAC;EAC9C;EAEA8M,cAAcA,CAAA;IACZ,OAAO,IAAI,CAAC1C,IAAI,CAACza,GAAG,CAAe,cAAc,CAAC,CAC/Coa,SAAS,EAAE,CACXve,IAAI,CAAEwiB,QAAQ,IAAI;MACjBlb,gBAAgB,CAAC0Z,SAAS,CAAC7C,IAAI,CAACqE,QAAQ,CAAC;IAC3C,CAAC,CAAC;EACN;EAEAC,QAAQA,CAACX,GAAe;IACtB,OAAO,IAAI,CAAClD,IAAI,CAAC6B,IAAI,CAAC,cAAc,EAAEqB,GAAG,CAAC;EAC5C;EAEAY,WAAWA,CAACZ,GAAe;IACzB,OAAO,IAAI,CAAClD,IAAI,CAACkB,GAAG,CAAC,cAAc,EAAEgC,GAAG,CAAC;EAC3C;EAEAa,QAAQA,CAACb,GAAe;IACtB,OAAO,IAAI,CAAClD,IAAI,CAACwB,MAAM,CAAC,cAAc,EAAE;MAAExM,IAAI,EAAE;QAACnE,EAAE,EAACqS,GAAG,CAACrS;MAAE;IAAC,CAAE,CAAC;EAChE;EAAC,QAAAmT,EAAA;qBA9JUtb,gBAAgB,EAAA/E,sDAAA,CAAAL,4DAAA,GAAAK,sDAAA,CAAAmD,sDAAA;EAAA;EAAA,QAAAmd,EAAA;WAAhBvb,gBAAgB;IAAAiG,OAAA,EAAhBjG,gBAAgB,CAAAkG,IAAA;IAAAC,UAAA,EAFf;EAAM;;;;;;;;;;;;;;;;;;ACGd,MAAOvB,uBAAuB;EAClC4W,SAASA,CACPC,GAAqB,EACrB5E,IAAiB;IAQjB,MAAM6E,OAAO,GAAGD,GAAG,CAACE,KAAK,CAAC;MACxBC,OAAO,EAAEH,GAAG,CAACG,OAAO,CACjBC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAChCA,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CACzBA,GAAG,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAC/CA,GAAG,CAAC,mBAAmB,EAAE,GAAG;KAChC,CAAC;IAEF,OAAOhF,IAAI,CAACiF,MAAM,CAACJ,OAAO,CAAC;EAC7B;EAAC,QAAAnhB,CAAA;qBApBUqK,uBAAuB;EAAA;EAAA,QAAApK,EAAA;WAAvBoK,uBAAuB;IAAAqB,OAAA,EAAvBrB,uBAAuB,CAAAsB;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACL9B,MAAO/H,oBAAoB;EAC/B/C,YACUG,MAAc,EACLyb,UAAsB,EACtB3b,WAAwB,EACxB0gB,MAAqB;IAH9B,KAAAxgB,MAAM,GAANA,MAAM;IACG,KAAAyb,UAAU,GAAVA,UAAU;IACV,KAAA3b,WAAW,GAAXA,WAAW;IACX,KAAA0gB,MAAM,GAANA,MAAM;EACtB;EAEHxY,WAAWA,CAACyY,sBAA8B,EAAEriB,GAAW;IACrD,IAAI,CAACqiB,sBAAsB,EAAE;MAC3B;IACF;IACAriB,GAAG,GAAGA,GAAG,IAAE,MAAM;IACjB,MAAMsiB,OAAO,GAAG;MAAErY,MAAM,EAAEoY;IAAsB,CAAE;IAClD,IAAI,CAAChF,UAAU,CAACmC,IAAI,CAAC,uBAAuB,EAAE8C,OAAO,CAAC,CAAC5f,SAAS,CAACiB,CAAC,IAAG;MACnE,IAAIA,CAAC,EAAE;QACL,IAAI,CAACjC,WAAW,CAACmF,OAAO,EAAE,CAAC9H,IAAI,CAAC,MAAK;UACnC,IAAI,CAAC6C,MAAM,CAACoK,aAAa,CAAChM,GAAG,EAAE;YAAEuiB,UAAU,EAAE;UAAI,CAAE,CAAC;QACtD,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,IAAI,CAACH,MAAM,CAAC/F,KAAK,CAAC,0BAA0BgG,sBAAsB,GAAG,CAAC;MACxE;IACF,CAAC,CAAC;EACJ;EAEAhe,eAAeA,CAAA;IACb,IAAI,CAACgZ,UAAU,CAACmC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC9c,SAAS,CAACiB,CAAC,IAAG;MACrE,IAAIA,CAAC,EAAE;QACL,IAAI,CAACjC,WAAW,CAACmF,OAAO,EAAE,CAAC9H,IAAI,CAAC,MAAK;UACnC,IAAI,CAAC6C,MAAM,CAACoK,aAAa,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,IAAI,CAACoW,MAAM,CAAC/F,KAAK,CAAC,uCAAuC,CAAC;MAC5D;IACF,CAAC,CAAC;EACJ;EAAC,QAAAzb,CAAA;qBAnCU4D,oBAAoB,EAAAlD,sDAAA,CAAAL,mDAAA,GAAAK,sDAAA,CAAAmD,4DAAA,GAAAnD,sDAAA,CAAAsD,sDAAA,GAAAtD,sDAAA,CAAAwD,qDAAA;EAAA;EAAA,QAAAjE,EAAA;WAApB2D,oBAAoB;IAAA8H,OAAA,EAApB9H,oBAAoB,CAAA+H,IAAA;IAAAC,UAAA,EAFnB;EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLoD;AACA;AACV;AACR;AAElB;AACU;;;;AAMxC,MAAOU,oBAAoB;EAC/BzL,YACYkc,IAAgB,EACPjc,WAAwB;IADjC,KAAAic,IAAI,GAAJA,IAAI;IACK,KAAAjc,WAAW,GAAXA,WAAW;IAchC,KAAAihB,IAAI,GAAG,IAAIlF,iDAAe,CAAO,KAAK,CAAC,CAAC;IACxC,KAAAmF,OAAO,GAAoB,IAAI,CAACD,IAAI,CAAC5E,YAAY,EAAE;IAbjD,IAAI,CAAC4E,IAAI,CAACE,MAAM,GAAG,IAAI;IACvB,IAAI,CAACnhB,WAAW,CAACe,KAAK,CAACC,SAAS,CAAEoJ,CAAC,IAAI;MACrC,IAAIA,CAAC,EAAE0C,EAAE,EAAE;QACT,IAAI,CAACmU,IAAI,CAACE,MAAM,GAAG,KAAK;QACxB,IAAI,CAACC,UAAU,GAAG,IAAIJ,oEAA4B,EAAE,CAACM,OAAO,CAAC,YAAY,CAAC,CAACC,KAAK,EAAE;QAClF,IAAI,CAACH,UAAU,CAAC/F,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC4F,IAAI,CAACzF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC4F,UAAU,CAACI,KAAK,EAAE,CAAC3F,KAAK,CAAC4F,GAAG,IAAIC,OAAO,CAAC/G,KAAK,CAAC8G,GAAG,CAAC9W,QAAQ,EAAE,CAAC,CAAC;MACrE;IACF,CAAC,CAAC;EAEJ;EAKAgX,GAAGA,CAAA;IACD,OAAO,IAAI,CAAC1F,IAAI,CAACza,GAAG,CAAuE,eAAe,CAAC,CAACE,IAAI,CAC9GqI,mDAAG,CAACyE,GAAG,IAAG;MACRA,GAAG,CAACoT,aAAa,CAAC7U,OAAO,CAAC4M,CAAC,IAAI5I,sEAAgB,CAACvE,QAAQ,CAACmN,CAAC,CAAC,CAAC;MAC5D,OAAOnL,GAAG;IACZ,CAAC,CAAC,CACH;EACH;EAEAhN,GAAGA,CAAC+a,GAAmB;IACrB,IAAIC,MAAM,GAAG5Q,4CAAI,CAAC6Q,mBAAmB,CAACF,GAAG,CAAC;IAC1C,OAAO,IAAI,CAACN,IAAI,CAACza,GAAG,CAA4B,WAAW,EAAE;MAAEgb;IAAM,CAAE,CAAC,CAAC9a,IAAI,CAC3EqI,mDAAG,CAAC2S,EAAE,IAAG;MACPA,EAAE,CAACzf,IAAI,CAAC8P,OAAO,CAAC4M,CAAC,IAAI5I,sEAAgB,CAACvE,QAAQ,CAACmN,CAAC,CAAC,CAAC;MAClD,OAAO+C,EAAE;IACX,CAAC,CAAC,CACH;EACH;EAEAmF,QAAQA,CAACtF,GAAmB;IAC1B,IAAIC,MAAM,GAAG5Q,4CAAI,CAAC6Q,mBAAmB,CAACF,GAAG,CAAC;IAC1C,OAAO,IAAI,CAACN,IAAI,CAACza,GAAG,CAA4B,eAAe,EAAE;MAAEgb;IAAM,CAAE,CAAC,CAAC9a,IAAI,CAC/EqI,mDAAG,CAAC2S,EAAE,IAAG;MACPA,EAAE,CAACzf,IAAI,CAAC8P,OAAO,CAAC4M,CAAC,IAAI5I,sEAAgB,CAACvE,QAAQ,CAACmN,CAAC,CAAC,CAAC;MAClD,OAAO+C,EAAE;IACX,CAAC,CAAC,CACH;EACH;EAEAoF,IAAIA,CAAChV,EAAS;IACZ,OAAO,IAAI,CAACmP,IAAI,CAACza,GAAG,CAAe,aAAasL,EAAE,EAAE,CAAC,CAACpL,IAAI,CACxDqI,mDAAG,CAACgY,EAAE,IAAG;MACP/Q,8DAAY,CAACxE,QAAQ,CAACuV,EAAE,CAAC;MACzB,OAAOA,EAAE;IACX,CAAC,CAAC,CACH;EACH;EAEAC,MAAMA,CAAClV,EAAS;IACd,OAAO,IAAI,CAACmP,IAAI,CAACkB,GAAG,CAAC,aAAarQ,EAAE,EAAE,EAAC,IAAI,CAAC,CAACpL,IAAI,CAC/Csa,mDAAG,CAAC,MAAM,IAAI,CAACiF,IAAI,CAACzF,IAAI,CAAC,IAAI,CAACyF,IAAI,CAACgB,QAAQ,EAAE,CAAC,CAAC,CAChD;EACH;EAEAxE,MAAMA,CAACyE,GAAY;IACjB,OAAO,IAAI,CAACjG,IAAI,CAACwB,MAAM,CAAC,WAAW,EAAC;MAACxM,IAAI,EAACiR;IAAG,CAAC,CAAC,CAACxgB,IAAI,CAClDsa,mDAAG,CAAC,MAAM,IAAI,CAACiF,IAAI,CAACzF,IAAI,CAAC,IAAI,CAACyF,IAAI,CAACgB,QAAQ,EAAE,CAAC,CAAC,EAC/ClB,yDAAS,CAAC,MAAID,wCAAE,CAACoB,GAAG,CAAC3f,MAAM,CAAC,CAAC,CAC9B;EACH;EAEA+O,MAAMA,CAACiL,GAAmC;IAExC,OAAO,IAAI,CAACN,IAAI,CAAC6B,IAAI,CAAC,kBAAkB,EAAElS,4CAAI,CAACuW,iBAAiB,CAAC5F,GAAG,CAAC,EAAE;MAAE6F,YAAY,EAAE;IAAM,CAAE,CAAC;EAClG;EAEAC,YAAYA,CAACvV,EAAS;IACpB,OAAO,IAAI,CAACmP,IAAI,CAACza,GAAG,CAAC,kBAAkBsL,EAAE,EAAE,EAAE;MAAEsV,YAAY,EAAE;IAAM,CAAE,CAAC;EACxE;EAAC,QAAAljB,CAAA;qBA9EUsM,oBAAoB,EAAA5L,uDAAA,CAAAL,6DAAA,GAAAK,uDAAA,CAAAmD,sDAAA;EAAA;EAAA,QAAA5D,EAAA;WAApBqM,oBAAoB;IAAAZ,OAAA,EAApBY,oBAAoB,CAAAX,IAAA;IAAAC,UAAA,EAFnB;EAAM;;;;;;;;;;;;;;;;;;ACZ0C;;;AAQxD,MAAOQ,YAAY;EAEvBvL,YACmBkc,IAAgB;IAAhB,KAAAA,IAAI,GAAJA,IAAI;EACpB;EAEHsG,MAAMA,CAACC,GAAW;IAChB,IAAIhG,MAAM,GAAG,IAAI8F,4DAAU,EAAE,CAC1BG,MAAM,CAAC,KAAK,EAAED,GAAG,CAAC;IACrB,OAAO,IAAI,CAACvG,IAAI,CAACza,GAAG,CAAU,kBAAkB,EAAE;MAAEgb;IAAM,CAAE,CAAC;EAC/D;EAAC,QAAAtd,CAAA;qBAVUoM,YAAY,EAAA1L,sDAAA,CAAAL,4DAAA;EAAA;EAAA,QAAAJ,EAAA;WAAZmM,YAAY;IAAAV,OAAA,EAAZU,YAAY,CAAAT,IAAA;IAAAC,UAAA,EAFX;EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;ACL0C;AACX;AACd;AACiB;AACJ;AACd;AACM;AAEE;AACE;;;;AAMxC,MAAOO,aAAa;EACxBtL,YACmBkc,IAAgB,EAChBjc,WAAwB;IADxB,KAAAic,IAAI,GAAJA,IAAI;IACJ,KAAAjc,WAAW,GAAXA,WAAW;IAY9B,KAAA0iB,SAAS,GAAuBrX,aAAa,CAACsX,SAAS,CAACtG,YAAY,EAAE;IAEtE,KAAAuG,SAAS,GAAyBvX,aAAa,CAACwX,SAAS,CAACxG,YAAY,EAAE;IAZtE,IAAI,CAACrc,WAAW,CAACe,KAAK,CAACC,SAAS,CAACC,IAAI,IAAG;MACtC,IAAIA,IAAI,CAAC6L,EAAE,IAAI7L,IAAI,CAAC6L,EAAE,IAAIzB,aAAa,CAACiT,MAAM,EAAE;QAC9CjT,aAAa,CAACiT,MAAM,GAAGrd,IAAI,CAAC6L,EAAE;QAC9B,IAAI,CAACxH,IAAI,EAAE;MACb;IACF,CAAC,CAAC;EACJ;EAAC,QAAApG,CAAA,GAGc,KAAAyjB,SAAS,GAAG,IAAI5G,iDAAe,CAAS,CAAC,CAAC;EAAA,QAAA5c,EAAA,GAE1C,KAAA0jB,SAAS,GAAG,IAAI9G,iDAAe,CAAW,EAAE,CAAC;EAG5DzW,IAAIA,CAAA;IACF+F,aAAa,CAACwX,SAAS,CAACrH,IAAI,CAAC,EAAE,CAAC;IAChCnQ,aAAa,CAACsX,SAAS,CAACnH,IAAI,CAAC,CAAC,CAAC;IAC/B,IAAI,CAACnQ,aAAa,CAACiT,MAAM,EACvB;IACF,IAAI,CAACwE,cAAc,EAAE;EAEvB;EAEA;EACAC,WAAWA,CAACjW,EAAU;IACpB,OAAO,IAAI,CAACmP,IAAI,CAACza,GAAG,CAAY,mBAAmBsL,EAAE,EAAE,CAAC,CAACpL,IAAI,CAC3DqI,mDAAG,CAACiZ,KAAK,IAAG;MACVA,KAAK,CAACjW,OAAO,CAACf,CAAC,IAAEf,gEAAO,CAACuB,QAAQ,CAACR,CAAC,CAAC,CAAC;MACrC,OAAOgX,KAAK;IACd,CAAC,CAAC,CACH;EACH;EAEAjF,UAAUA,CAACjR,EAAU,EAAES,OAAe;IACpC,OAAO,IAAI,CAAC0O,IAAI,CAAC6B,IAAI,CAAC,cAAchR,EAAE,OAAO,EAAE;MAAES;IAAO,CAAE,CAAC;EAC7D;EAEA;EACA0V,aAAaA,CAACnW,EAAS;IACrB,OAAO,IAAI,CAACmP,IAAI,CAACwB,MAAM,CAAC,mBAAmB3Q,EAAE,EAAE,CAAC;EAClD;EAEA;EACAoW,UAAUA,CAAA;IACR,OAAO,IAAI,CAACjH,IAAI,CAACza,GAAG,CAAY,gBAAgB,CAAC,CAACE,IAAI,CACpDqI,mDAAG,CAACoZ,KAAK,IAAG;MACV,OAAOA,KAAK,CAACpZ,GAAG,CAACqZ,CAAC,IAAItX,oDAAO,CAACC,QAAQ,CAACqX,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CACH;EACH;EAEA;EACAC,QAAQA,CAACvW,EAAS;IAChB,OAAO,IAAI,CAACmP,IAAI,CAACza,GAAG,CAAY,cAAcsL,EAAE,MAAM,CAAC,CAACpL,IAAI,CAC1DqI,mDAAG,CAACoZ,KAAK,IAAG;MACVA,KAAK,CAACpW,OAAO,CAACqW,CAAC,IAAIvX,0DAAU,CAACW,QAAQ,CAAC4W,CAAC,CAAC,CAAC;MAC1C,OAAOD,KAAK;IACd,CAAC,CAAC,CACH;EACH;EAEAG,WAAWA,CAACpB,GAAY;IACtB,IAAI1F,MAAM,GAAG5Q,4CAAI,CAAC6Q,mBAAmB,CAAC;MAACyF;IAAG,CAAC,CAAC;IAC5C,OAAO,IAAI,CAACjG,IAAI,CAACwB,MAAM,CAAC,gBAAgB,EAAC;MAACjB;IAAM,CAAC,CAAC;EACpD;EAEA+G,QAAQA,CAACzW,EAAS,EAAC3L,OAAc;IAC/B,IAAIqb,MAAM,GAAG5Q,4CAAI,CAAC6Q,mBAAmB,CAAC;MAAC3P,EAAE;MAAC3L;IAAO,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC8a,IAAI,CAAC6B,IAAI,CAAC,mBAAmB,EAACtB,MAAM,CAAC;EACnD;EAEAgH,QAAQA,CAAC1W,EAAS,EAAC3L,OAAc;IAC/B,IAAIqb,MAAM,GAAG5Q,4CAAI,CAAC6Q,mBAAmB,CAAC;MAAC3P,EAAE;MAAC3L;IAAO,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC8a,IAAI,CAAC6B,IAAI,CAAC,mBAAmB,EAACtB,MAAM,CAAC;EACnD;EAEAiH,UAAUA,CAAC3W,EAAS,EAACgG,IAAW;IAC9B,IAAI0J,MAAM,GAAG5Q,4CAAI,CAAC6Q,mBAAmB,CAAC;MAAC3P,EAAE;MAACgG;IAAI,CAAC,CAAC;IAChD,OAAO,IAAI,CAACmJ,IAAI,CAACkB,GAAG,CAAC,mBAAmB,EAACX,MAAM,CAAC;EAClD;EAEAkH,gBAAgBA,CAACN,CAAS;IACxB,OAAO,IAAI,CAACnH,IAAI,CAACkB,GAAG,CAAC,qBAAqB,EAAC;MAACrQ,EAAE,EAACsW,CAAC,CAACtW,EAAE;MAAC6W,GAAG,EAACP,CAAC,CAACO,GAAG;MAACC,KAAK,EAACR,CAAC,CAACQ;IAAK,CAAC,CAAC;EAC/E;EAEArB,MAAMA,CAACC,GAAW;IAChB,IAAIhG,MAAM,GAAG,IAAI8F,4DAAU,EAAE,CAC1BG,MAAM,CAAC,KAAK,EAAED,GAAG,CAAC;IACrB,OAAO,IAAI,CAACvG,IAAI,CAACza,GAAG,CAAW,mBAAmB,EAAE;MAAEgb;IAAM,CAAE,CAAC;EACjE;EAEAqH,MAAMA,CAAC1iB,OAAe;IACpB,IAAIqb,MAAM,GAAG,IAAI8F,4DAAU,EAAE;IAC7B,IAAInhB,OAAO,EACTqb,MAAM,GAAGA,MAAM,CAACiG,MAAM,CAAC,SAAS,EAAEthB,OAAO,CAAC;IAC5C,OAAO,IAAI,CAAC8a,IAAI,CAACza,GAAG,CAAS,mBAAmB,EAAE;MAAEgb;IAAM,CAAE,CAAC;EAC/D;EAEAsH,cAAcA,CAACtB,GAAW;IACxB,IAAIhG,MAAM,GAAG,IAAI8F,4DAAU,EAAE,CAACG,MAAM,CAAC,KAAK,EAAED,GAAG,CAAC;IAChD,OAAO,IAAI,CAACvG,IAAI,CAACza,GAAG,CAAW,eAAe,EAAE;MAAEgb;IAAM,CAAE,CAAC;EAC7D;EAEAuH,cAAcA,CAACvB,GAAW;IACxB,IAAIhG,MAAM,GAAG,IAAI8F,4DAAU,EAAE,CAACG,MAAM,CAAC,KAAK,EAAED,GAAG,CAAC;IAChD,OAAO,IAAI,CAACvG,IAAI,CAACza,GAAG,CAAW,qBAAqB,EAAE;MAAEgb;IAAM,CAAE,CAAC;EACnE;EAEAwH,WAAWA,CAAA;IACT,OAAO,IAAI,CAAC/H,IAAI,CAACza,GAAG,CAAW,eAAe,CAAC;EACjD;EAEAyiB,SAASA,CAACC,WAAkB;IAC1B,IAAI1H,MAAM,GAAG,IAAI8F,4DAAU,EAAE,CAACG,MAAM,CAAC,IAAI,EAAEyB,WAAW,CAAC;IACvD,OAAO,IAAI,CAACjI,IAAI,CAACza,GAAG,CAAW,iBAAiB,EAAE;MAACgb;IAAM,CAAC,CAAC;EAC7D;EAEAsG,cAAcA,CAAA;IACZ,IAAI,CAAC7G,IAAI,CAACza,GAAG,CAAS,gBAAgB,CAAC,CACpCoa,SAAS,EAAE,CACXve,IAAI,CAAE8mB,GAAG,IAAI;MACZ9Y,aAAa,CAACsX,SAAS,CAACnH,IAAI,CAAC2I,GAAG,CAAC;MACjC,IAAIA,GAAG,GAAG,CAAC,IAAIA,GAAG,GAAG,GAAG,EAAE;QACxB,IAAI,CAACH,WAAW,EAAE,CAAChjB,SAAS,CAC1BojB,GAAG,IAAG;UAAG/Y,aAAa,CAACwX,SAAS,CAACrH,IAAI,CAAC4I,GAAG,CAAC;QAAE,CAAC,CAC9C;MACH;IAEF,CAAC,CAAC;EACN;EAEAC,SAASA,CAACvX,EAAU;IAClB,OAAO,IAAI,CAACmP,IAAI,CAACza,GAAG,CAAS,cAAcsL,EAAE,EAAE,CAAC;EAClD;EAEAwX,YAAYA,CAAA;IACV,OAAO,IAAI,CAACrI,IAAI,CAACza,GAAG,CAAiC,kBAAkB,CAAC,CAACE,IAAI,CAC3EqI,mDAAG,CAAC7M,KAAK,IAAG;MACV,IAAI6M,GAAG,GAAG,IAAIwa,GAAG,EAAsB;MACvC,KAAK,IAAIC,GAAG,IAAItnB,KAAK,EAAE;QACrB6M,GAAG,CAACyW,GAAG,CAAC,CAACgE,GAAG,EAAEtnB,KAAK,CAACsnB,GAAG,CAAC,CAAC;MAC3B;MACA,OAAOza,GAAG;IACZ,CAAC,CAAC,CACH;EACH;EAEA0a,YAAYA,CAACtjB,OAAe;IAC1B,OAAO,IAAI,CAAC8a,IAAI,CAACza,GAAG,CAAS,oBAAoBL,OAAO,EAAE,CAAC,CAACO,IAAI,CAC9DqI,mDAAG,CAACiI,CAAC,IAAIa,kDAAM,CAACrG,QAAQ,CAACwF,CAAC,CAAC,CAAC,CAC7B;EACH;EAEA0S,cAAcA,CAACvjB,OAAe,EAAEjE,KAAe;IAC7C,OAAO,IAAI,CAAC+e,IAAI,CAAC6B,IAAI,CAAC,oBAAoB3c,OAAO,EAAE,EAAEjE,KAAK,CAAC;EAC7D;EAEAynB,gBAAgBA,CAACxjB,OAAe,EAAEyjB,MAAc,EAAEC,MAAgB;IAChE,OAAO,IAAI,CAAC5I,IAAI,CAAC6B,IAAI,CAAC,oBAAoB3c,OAAO,IAAIyjB,MAAM,EAAE,EAAEC,MAAM,CAAC;EACxE;EAEAC,UAAUA,CAACF,MAAc;IACvB,OAAO,IAAI,CAAC3I,IAAI,CAACwB,MAAM,CAAC,oBAAoBmH,MAAM,EAAE,CAAC;EACvD;EAEAG,aAAaA,CAACC,OAAe;IAC3B,OAAO,IAAI,CAAC/I,IAAI,CAAC6B,IAAI,CAAS,YAAY,EAAEkH,OAAO,CAAC;EACtD;EAEAC,aAAaA,CAACD,OAAe;IAC3B,OAAO,IAAI,CAAC/I,IAAI,CAACkB,GAAG,CAAC,YAAY,EAAE6H,OAAO,CAAC,CACxCtjB,IAAI,CACHqI,mDAAG,CAAC,MAAMib,OAAO,CAAClY,EAAE,CAAC,CACtB;EACL;EAEAoY,YAAYA,CAACpY,EAAU;IACrB,OAAO,IAAI,CAACmP,IAAI,CAACza,GAAG,CAAa,cAAcsL,EAAE,MAAM,CAAC,CAACpL,IAAI,CAC3DqI,mDAAG,CAACob,EAAE,IAAIA,EAAE,CAACpb,GAAG,CAACiI,CAAC,IAAIM,sDAAQ,CAAC9F,QAAQ,CAACwF,CAAC,CAAC,CAAC,CAAC,CAC7C;EACH;EAEAoT,YAAYA,CAACtY,EAAU,EAAEuY,GAAa;IACpC,IAAIA,GAAG,CAACvY,EAAE,EACR,OAAO,IAAI,CAACmP,IAAI,CAACkB,GAAG,CAAC,gBAAgB,EAAEkI,GAAG,CAAC,CAAC,KAE5C,OAAO,IAAI,CAACpJ,IAAI,CAAC6B,IAAI,CAAC,cAAchR,EAAE,MAAM,EAAEuY,GAAG,CAAC;EACtD;EAEAC,cAAcA,CAACxY,EAAU;IACvB,OAAO,IAAI,CAACmP,IAAI,CAACwB,MAAM,CAAC,kBAAkB3Q,EAAE,EAAE,CAAC;EACjD;EAAC,QAAA1N,EAAA;qBApMUiM,aAAa,EAAAzL,uDAAA,CAAAL,4DAAA,GAAAK,uDAAA,CAAAmD,sDAAA;EAAA;EAAA,QAAAkd,EAAA;WAAb5U,aAAa;IAAAT,OAAA,EAAbS,aAAa,CAAAR,IAAA;IAAAC,UAAA,EAFZ;EAAM;;;;;;;;;;;;;;;;;;;;ACPU;AAGO;;;AAG/B,MAAOrB,kBAAkB;EAC7B1J,YACUK,aAA4B;IAA5B,KAAAA,aAAa,GAAbA,aAAa;EACpB;EAEH+f,SAASA,CACPS,OAA6B,EAC7BpF,IAAiB;IAEjB,IAAI8E,KAAS;IACb,IAAI,CAAC,CAAOkF,MAAO,CAACC,iBAAiB,EAAE;MACrC,IAAIA,iBAAiB,GAAiCD,MAAO,CAACC,iBAAiB;MAC/EnF,KAAK,GAAGM,OAAO,CAACN,KAAK,EAAE;MACvB,IAAIA,KAAK,CAACrP,IAAI,YAAYyU,QAAQ,EAAE;QAClC,IAAIzU,IAAI,GAAG,EAAE;QACb,KAAK,IAAIpB,CAAC,IAAIyQ,KAAK,CAACrP,IAAI,CAAC0U,OAAO,EAAE,EAChC1U,IAAI,CAACpB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC;QACnByQ,KAAK,CAACrP,IAAI,GAAGA,IAAI;MACnB;MACAwU,iBAAiB,CAAC7T,IAAI,CAAC0O,KAAK,CAAC;IAC/B;IAEA,OAAO9E,IAAI,CAACiF,MAAM,CAACG,OAAO,CAAC,CAAClf,IAAI,CAC9Bsa,mDAAG,CAAC;MACFR,IAAI,EAAE7Z,KAAK,IAAG;QACZ,IAAI,CAAC2e,KAAK,EACR;QACF,IAAI3e,KAAK,YAAY4jB,8DAAY,EAC/BjF,KAAK,CAACsF,QAAQ,GAAGjkB,KAAK,CAAC2e,KAAK,EAAE;MAClC;KACD,CAAC,CACH;EACH;EAAC,QAAAphB,CAAA;qBAhCUuK,kBAAkB,EAAA7J,sDAAA,CAAAL,6DAAA;EAAA;EAAA,QAAAJ,EAAA;WAAlBsK,kBAAkB;IAAAmB,OAAA,EAAlBnB,kBAAkB,CAAAoB;EAAA;;;;;;;;;;;;;;;;;;;;ACRzB,MAAOc,cAAc;EACzB5L,YACUK,aAA4B;IAA5B,KAAAA,aAAa,GAAbA,aAAa;EAEvB;EAEA,IAAIK,OAAOA,CAAA;IACT,OAAO,CAAC,CAAC,IAAI,CAACL,aAAa,CAACoB,GAAG,CAAC,MAAM,CAAC;EACzC;EAAC,QAAAtC,CAAA;qBARUyM,cAAc,EAAA/L,sDAAA,CAAAL,6DAAA;EAAA;EAAA,QAAAJ,EAAA;WAAdwM,cAAc;IAAAf,OAAA,EAAde,cAAc,CAAAd,IAAA;IAAAC,UAAA,EADF;EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;ACFO;AACA;AAEF;AACiB;AAIP;AACQ;;;AAGhD,MAAOY,WAAW;EACtB3L,YACUkc,IAAgB;IAAhB,KAAAA,IAAI,GAAJA,IAAI;IAEZ,IAAIhQ,MAAM,CAAC4Z,IAAI,CAACna,WAAW,CAACoa,UAAU,CAAC,CAACvjB,MAAM,IAAI,CAAC,EAAE;MACnD,IAAI,CAACwjB,cAAc,EAAE,CAAC/kB,SAAS,EAAE;IACnC;EACF;EAAC,QAAA9B,CAAA,GAEc,KAAA4mB,UAAU,GAA0B,EAAE;EACrD,WAAWE,SAASA,CAAA;IAClB,OAAOpa,4CAAI,CAACqa,OAAO,CAAUva,WAAW,CAACoa,UAAU,EAAE,CAAC,CAACI,CAAC,EAAE7V,CAAC,CAAC,MAAc;MAAE8V,IAAI,EAAED,CAAC;MAAEpT,IAAI,EAAEzC,CAAC,CAACyC;IAAI,CAAE,GAAE9G,CAAC,IAAEA,CAAC,CAAC8G,IAAI,CAAC;EACjH;EAEA,OAAOsT,cAAcA,CAACD,IAAW;IAC/B,OAAOza,WAAW,CAACoa,UAAU,CAACK,IAAI,CAAC,EAAErT,IAAI,IAAEqT,IAAI;EACjD;EAEA;EACA7J,MAAMA,CAACC,GAAmB;IACxB,IAAIC,MAAM,GAAG5Q,4CAAI,CAAC6Q,mBAAmB,CAACF,GAAG,CAAC;IAC1C,OAAO,IAAI,CAACN,IAAI,CAACza,GAAG,CAAgB,eAAe,EAAE;MAAEgb;IAAM,CAAE,CAAC,CAAC9a,IAAI,CACnEqI,mDAAG,CAAC2S,EAAE,IAAG;MACP,IAAIA,EAAE,CAACzf,IAAI,EACTyf,EAAE,CAACzf,IAAI,CAAC8P,OAAO,CAAC1O,CAAC,IAAIoZ,8CAAI,CAACjL,QAAQ,CAACnO,CAAC,CAAC,CAAC;MACxC,OAAOqe,EAAE;IACX,CAAC,CAAC,CACH;EACH;EAEA2J,cAAcA,CAACC,MAAc;IAC3B,OAAO,IAAI,CAACrK,IAAI,CAACza,GAAG,CAAO,aAAa8kB,MAAM,EAAE,CAAC,CAAC5kB,IAAI,CACpDqI,mDAAG,CAAC9H,CAAC,IAAIwV,8CAAI,CAACjL,QAAQ,CAACvK,CAAC,CAAC,CAAC,CAC3B;EACH;EAEAskB,MAAMA,CAACC,KAAW;IAChB,OAAO,IAAI,CAACvK,IAAI,CAAC6B,IAAI,CAAS,YAAY,EAAE0I,KAAK,CAAC;EACpD;EAEAC,MAAMA,CAACD,KAAW;IAChB,OAAO,IAAI,CAACvK,IAAI,CAACkB,GAAG,CAAC,YAAY,EAAEqJ,KAAK,CAAC;EAC3C;EAEA5I,aAAaA,CAAC8I,KAAa,EAAE7I,MAAc;IACzC,OAAO,IAAI,CAAC5B,IAAI,CAAC6B,IAAI,CAAS,aAAa4I,KAAK,QAAQ7I,MAAM,EAAE,EAAE,IAAI,CAAC;EACzE;EAEAyF,WAAWA,CAACpB,GAAa;IACvB,IAAI1F,MAAM,GAAG5Q,4CAAI,CAAC6Q,mBAAmB,CAAC;MAAEyF;IAAG,CAAE,CAAC;IAC9C,OAAO,IAAI,CAACjG,IAAI,CAACwB,MAAM,CAAC,gBAAgB,EAAE;MAAEjB;IAAM,CAAE,CAAC;EACvD;EAEAuB,UAAUA,CAACnE,IAAY,EAAErM,OAAe,EAAEyQ,IAAa;IACrD,OAAO,IAAI,CAAC/B,IAAI,CAAC6B,IAAI,CAAC,aAAalE,IAAI,OAAO,EAAE;MAAErM,OAAO;MAAEyQ;IAAI,CAAE,CAAC;EACpE;EAEA2I,YAAYA,CAACL,MAAc;IACzB,OAAO,IAAI,CAACrK,IAAI,CAACza,GAAG,CAAC,qBAAqB,GAAG8kB,MAAM,EAAE;MAAClE,YAAY,EAAE;IAAM,CAAC,CAAC;EAC9E;EAEAwE,YAAYA,CAACC,GAAU;IACrB,OAAO,IAAI,CAAC5K,IAAI,CAACza,GAAG,CAAW,iBAAiB,GAAGqlB,GAAG,CAAC;EACzD;EAEAC,UAAUA,CAACR,MAAc,EAAES,MAAe,EAAEC,UAAmB;IAC7D,OAAO,IAAI,CAAC/K,IAAI,CAAC6B,IAAI,CAAS,cAAc,EAAE;MAAChR,EAAE,EAACwZ,MAAM;MAAES,MAAM;MAAEC;IAAU,CAAC,CAAC;EAChF;EAEAC,UAAUA,CAACX,MAAc;IACvB,OAAO,IAAI,CAACrK,IAAI,CAACwB,MAAM,CAAU,YAAY,GAAC6I,MAAM,CAAC;EACvD;EAEAY,QAAQA,CAACZ,MAAc;IACrB,OAAO,IAAI,CAACrK,IAAI,CAAC6B,IAAI,CAAS,iBAAiB,GAACwI,MAAM,EAAE,IAAI,CAAC;EAC/D;EAEAa,UAAUA,CAAChB,IAAY;IACrBA,IAAI,GAAGA,IAAI,IAAE,KAAK;IAClB,IAAIza,WAAW,CAACoa,UAAU,CAAC9G,cAAc,CAACmH,IAAI,CAAC,EAAE;MAC/C,IAAI1T,OAAO,GAAG/G,WAAW,CAACoa,UAAU,CAACK,IAAI,CAAC;MAC1C,IAAI1T,OAAO,CAAC2U,MAAM,EAAEpI,cAAc,CAAC,QAAQ,CAAC,IAAI/S,MAAM,CAAC4Z,IAAI,CAACpT,OAAO,CAAC2U,MAAM,CAAC,CAAC7kB,MAAM,EAChF,OAAOue,wCAAE,CAACrO,OAAO,CAAC,CAAC,KAErB,OAAO,IAAI,CAACwJ,IAAI,CAACza,GAAG,CAAU,mBAAmB,GAAG2kB,IAAI,CAAC,CAACzkB,IAAI,CAC1Dqf,yDAAS,CAACqG,MAAM,IAAG;QACjB,IAAIpb,CAAC,GAAGN,WAAW,CAACoa,UAAU,CAACK,IAAI,CAAC;QACpCna,CAAC,CAACob,MAAM,GAAGnb,MAAM,CAAC4Q,WAAW,CAACuK,MAAM,CAACrd,GAAG,CAACsd,CAAC,IAAE,CAACA,CAAC,CAAClB,IAAI,EAACkB,CAAC,CAAC,CAAC,CAAC;QACxD,OAAOvG,wCAAE,CAAC9U,CAAC,CAAC;MACd,CAAC,CAAC,CACH;IACL,CAAC,MACD,IAAIC,MAAM,CAAC4Z,IAAI,CAACna,WAAW,CAACoa,UAAU,CAAC,CAACvjB,MAAM,IAAI,CAAC,EAAE;MACnD,OAAO,IAAI,CAACwjB,cAAc,EAAE,CAACrkB,IAAI,CAC/Bqf,yDAAS,CAACuG,EAAE,IAAG;QACb5b,WAAW,CAACoa,UAAU,GAAGwB,EAAE;QAC3B,OAAO,IAAI,CAACH,UAAU,CAAChB,IAAI,CAAC;MAC9B,CAAC,CAAC,CACH;IACH,CAAC,MAAM;MACL,MAAMvc,KAAK,CAAC,+BAA+Buc,IAAI,GAAG,CAAC;IACrD;EACF;EAEAJ,cAAcA,CAAA;IACZ,OAAO,IAAI,CAAC9J,IAAI,CAACza,GAAG,CAAyB,qBAAqB,CAAC,CAACE,IAAI,CACtEsa,mDAAG,CAACsL,EAAE,IAAI5b,WAAW,CAACoa,UAAU,GAAGwB,EAAE,CAAC,CACvC;EACH;EAEAC,SAASA,CAACtQ,SAAiB;IACzB,OAAO,IAAI,CAACkQ,UAAU,CAAC,KAAK,CAAC,CAACzlB,IAAI,CAChCqf,yDAAS,CAAC/U,CAAC,IAAG;MACZ,IAAI,CAACA,CAAC,CAACob,MAAM,CAACpI,cAAc,CAAC/H,SAAS,CAAC,EACrC,MAAMrN,KAAK,CAAC,6BAA6BqN,SAAS,GAAG,CAAC;MACxD,IAAIoQ,CAAC,GAAGrb,CAAC,CAACob,MAAM,CAACnQ,SAAS,CAAC;MAC3B,IAAIoQ,CAAC,CAACG,MAAM,EAAEjlB,MAAM,EAClB,OAAOue,wCAAE,CAACuG,CAAC,CAACG,MAAM,CAAC,MAEnB,OAAO,IAAI,CAACvL,IAAI,CAACza,GAAG,CAAS,oBAAoB6lB,CAAC,CAAClB,IAAI,EAAE,CAAC,CAACzkB,IAAI,CAC7Dsa,mDAAG,CAAChQ,CAAC,IAAIqb,CAAC,CAACG,MAAM,GAAGxb,CAAC,CAAC,CACvB;IACL,CAAC,CAAC,CACH;EACH;EAEAyb,wBAAwBA,CAACzQ,WAAkB,EAAEC,SAAiB;IAO1D,IAAIyQ,MAAM,GAAG;MAAC1B,SAAS,EAAC,EAAE;MAAEoB,MAAM,EAAC,EAAE;MAAEI,MAAM,EAAC;IAAE,CAAC;IACjD,OAAO,IAAI,CAACL,UAAU,CAACnQ,WAAW,CAAC,CAACtV,IAAI,CACxCqf,yDAAS,CAAC/U,CAAC,IAAG;MACZ0b,MAAM,CAAC1B,SAAS,GAAGta,WAAW,CAACsa,SAAS;MACxC0B,MAAM,CAACN,MAAM,GAAGxb,4CAAI,CAACqa,OAAO,CAAQja,CAAC,CAACob,MAAM,EAAE,CAAC,CAAClB,CAAC,EAAE7V,CAAC,CAAC,MAAY;QAAE8V,IAAI,EAAED,CAAC;QAAEpT,IAAI,EAAEzC,CAAC,CAACyC;MAAI,CAAE,GAAEuU,CAAC,IAAIA,CAAC,CAACvU,IAAI,CAAC;MACxG,IAAI9G,CAAC,CAACma,IAAI,IAAI,KAAK,IAAIlP,SAAS,EAC9B,OAAO,IAAI,CAACsQ,SAAS,CAACtQ,SAAS,CAAC,MAEhC,OAAO6J,wCAAE,CAAC,EAAE,CAAC;IACjB,CAAC,CAAC,EACFC,yDAAS,CAACuG,EAAE,IAAG;MACbI,MAAM,CAACF,MAAM,GAAGF,EAAE;MAClB,OAAOxG,wCAAE,CAAC4G,MAAM,CAAC;IACnB,CAAC,CAAC,CACH;EACH;EAEAC,WAAWA,CAAC1Q,SAAiB;IAC3B,OAAO,IAAI,CAACgF,IAAI,CAACza,GAAG,CAAW,qBAAqB,GAAGyV,SAAS,CAAC;EACnE;EAEAiO,YAAYA,CAACoB,MAAc;IACzB,OAAO,IAAI,CAACrK,IAAI,CAACza,GAAG,CAAa,aAAa8kB,MAAM,MAAM,CAAC,CAAC5kB,IAAI,CAC9DqI,mDAAG,CAACob,EAAE,IAAIA,EAAE,CAACpb,GAAG,CAACiI,CAAC,IAAIM,sDAAQ,CAAC9F,QAAQ,CAACwF,CAAC,CAAC,CAAC,CAAC,CAC7C;EACH;EAEAoT,YAAYA,CAACkB,MAAc,EAAEtU,CAAW;IACtC,IAAIA,CAAC,CAAClF,EAAE,EACN,OAAO,IAAI,CAACmP,IAAI,CAACkB,GAAG,CAAC,aAAamJ,MAAM,MAAM,EAAEtU,CAAC,CAAC,CAAC,KAEnD,OAAO,IAAI,CAACiK,IAAI,CAAC6B,IAAI,CAAC,aAAawI,MAAM,MAAM,EAAEtU,CAAC,CAAC;EACvD;EAEAsT,cAAcA,CAACgB,MAAc,EAAExZ,EAAU;IACvC,OAAO,IAAI,CAACmP,IAAI,CAACwB,MAAM,CAAC,aAAa6I,MAAM,QAAQxZ,EAAE,EAAE,CAAC;EAC1D;EAEA8a,eAAeA,CAAA;IACb,OAAO,IAAI,CAAC3L,IAAI,CAACza,GAAG,CAAgB,gBAAgB,CAAC,CAACE,IAAI,CACxDqI,mDAAG,CAACob,EAAE,IAAIA,EAAE,CAACpb,GAAG,CAACiI,CAAC,IAAIuE,8DAAW,CAAC/J,QAAQ,CAACwF,CAAC,CAAC,CAAC,CAAC,CAChD;EACH;EAEA6V,YAAYA,CAACvQ,CAAc;IACzB,IAAIA,CAAC,CAACxK,EAAE,EACN,OAAO,IAAI,CAACmP,IAAI,CAACkB,GAAG,CAAC,iBAAiB7F,CAAC,CAACxK,EAAE,EAAE,EAAEwK,CAAC,CAAC,CAAC,KAEjD,OAAO,IAAI,CAAC2E,IAAI,CAAC6B,IAAI,CAAC,eAAe,EAAExG,CAAC,CAAC;EAC7C;EAEAwQ,cAAcA,CAAChb,EAAU;IACvB,OAAO,IAAI,CAACmP,IAAI,CAACwB,MAAM,CAAC,iBAAiB3Q,EAAE,EAAE,CAAC;EAChD;EAAC,QAAA3N,EAAA;qBA1LUuM,WAAW,EAAA9L,sDAAA,CAAAL,4DAAA;EAAA;EAAA,QAAAH,EAAA;WAAXsM,WAAW;IAAAd,OAAA,EAAXc,WAAW,CAAAb;EAAA;;;;;;;;;;;;;;;;;;;;;ACNoB;AACV;;;;AAK5B,MAAOrB,uBAAuB;EAClCzJ,YACmBoG,YAA0B,EACnCjG,MAAc;IADL,KAAAiG,YAAY,GAAZA,YAAY;IACrB,KAAAjG,MAAM,GAANA,MAAM;EACb;EAEHigB,SAASA,CACPS,OAA6B,EAC7BpF,IAAiB;IAEjB,OAAOA,IAAI,CAACiF,MAAM,CAACG,OAAO,CAAC,CAAClf,IAAI,CAC9BqmB,0DAAU,CAAEtG,GAAG,IAAI;MACjB,IAAInjB,GAAG,GAAGsiB,OAAO,CAACtiB,GAAG;MACrB,IAAI,CAACA,GAAG,CAAC2pB,WAAW,EAAE,CAACC,UAAU,CAAC,MAAM,CAAC,EACvC5pB,GAAG,GAAG,UAAU,GAAGA,GAAG;MACxB,IAAImjB,GAAG,CAACvH,MAAM,KAAK,GAAG,IAAI,CAAE,IAAIiO,GAAG,CAAC3C,MAAM,CAAC4C,QAAQ,CAACC,MAAM,GAAG,GAAG,GAAEzH,OAAO,CAACtiB,GAAG,CAAC,CAACgqB,QAAQ,CAACJ,UAAU,CAAC,MAAM,CAAE,EAAE;QAC3G,IAAI,CAAC/hB,YAAY,CAACgE,SAAS,GAAG,IAAI,CAACjK,MAAM,CAAC5B,GAAG;QAC7C,IAAI,CAAC6H,YAAY,CAACC,KAAK,EAAE;MAC3B;MACA,OAAO4hB,gDAAU,CAACvG,GAAG,CAAC;IACxB,CAAC,CAAC,CACH;EACH;EAAC,QAAAviB,CAAA;qBAtBUsK,uBAAuB,EAAA5J,sDAAA,CAAAL,6DAAA,GAAAK,sDAAA,CAAAmD,mDAAA;EAAA;EAAA,QAAA5D,EAAA;WAAvBqK,uBAAuB;IAAAoB,OAAA,EAAvBpB,uBAAuB,CAAAqB;EAAA;;;;;;;;;;;;;;;;;;;;ACZyB;AACV;;;AAK7C,MAAOhI,WAAW;EAItB9C,YAA6B4b,UAAsB;IAAtB,KAAAA,UAAU,GAAVA,UAAU;IAH/B,KAAA4M,KAAK,GAAG,IAAIxM,iDAAe,CAAkB,IAAIhR,qEAAe,EAAE,CAAC;IAC3E,KAAAhK,KAAK,GAAgC,IAAI,CAACwnB,KAAK,CAAClM,YAAY,EAAE;EAER;EAEtDlX,OAAOA,CAAA;IACL,IAAIlE,IAAI,GAAG,IAAI8J,qEAAe,EAAE;IAChC,OAAO,IAAI,CAAC4Q,UAAU,CACnBna,GAAG,CAAkB,cAAc,CAAC,CACpCoa,SAAS,EAAE,CACXve,IAAI,CAAC4E,CAAC,IAAG;MACR,IAAIA,CAAC,EAAE;QACLhB,IAAI,GAAG,IAAI8J,qEAAe,CACxB9I,CAAC,CAAC6K,EAAE,EACJ7K,CAAC,CAACd,OAAO,EACTc,CAAC,CAACZ,YAAY,EACdY,CAAC,CAAC/E,KAAK,CACR;MACH;MACA,IAAI,CAACqrB,KAAK,CAAC/M,IAAI,CAACva,IAAI,CAAC;MACrB,OAAOA,IAAI;IACb,CAAC,CAAC,CACD4a,KAAK,CAAC,MAAK;MACV,IAAI,CAAC0M,KAAK,CAAC/M,IAAI,CAACva,IAAI,CAAC;MACrB,OAAOA,IAAI;IACb,CAAC,CAAC;EACN;EAAC,QAAA/B,CAAA;qBA3BU2D,WAAW,EAAAjD,sDAAA,CAAAL,4DAAA;EAAA;EAAA,QAAAJ,EAAA;WAAX0D,WAAW;IAAA+H,OAAA,EAAX/H,WAAW,CAAAgI,IAAA;IAAAC,UAAA,EAFV;EAAM;;;;;;;;;;;;;;;;;;;;ACEd,MAAOW,UAAU;EACrB1L,YAA6Bkc,IAAgB;IAAhB,KAAAA,IAAI,GAAJA,IAAI;EAAgB;EAEjDuM,OAAOA,CAAA;IACL,OAAO,IAAI,CAACvM,IAAI,CAACza,GAAG,CAAW,cAAc,CAAC;EAChD;EAAC,QAAAtC,CAAA;qBALUuM,UAAU,EAAA7L,sDAAA,CAAAL,4DAAA;EAAA;EAAA,QAAAJ,EAAA;WAAVsM,UAAU;IAAAb,OAAA,EAAVa,UAAU,CAAAZ,IAAA;IAAAC,UAAA,EAFT;EAAM;;;;;;;;;;;;;;;;;;;;;;;;;ACHsB;AAEP;AAEW;AAEe;AACF;;;;AAGrD,MAAOM,gBAAgB;EACzBrL,YACYkc,IAAgB,EAChBC,KAAuB;IADvB,KAAAD,IAAI,GAAJA,IAAI;IACJ,KAAAC,KAAK,GAALA,KAAK;EACb;EAEJ;EACAI,MAAMA,CAACC,GAAmB;IACtB,IAAIC,MAAM,GAAG5Q,mCAAI,CAAC6Q,mBAAmB,CAACF,GAAG,CAAC;IAC1C,OAAO,IAAI,CAACN,IAAI,CAACza,GAAG,CAAoB,mBAAmB,EAAE;MAAEgb;IAAM,CAAE,CAAC,CAAC9a,IAAI,CACzEqI,mDAAG,CAAC2S,EAAE,IAAG;MACL,IAAIA,EAAE,CAACzf,IAAI,EACPyf,EAAE,CAACzf,IAAI,CAAC8P,OAAO,CAAC1O,CAAC,IAAI6M,sDAAQ,CAACsB,QAAQ,CAACnO,CAAC,CAAC,CAAC;MAC9C,OAAOqe,EAAE;IACb,CAAC,CAAC,CACL;EACL;EAEA;EACA+L,aAAaA,CAAC/B,KAAa,EAAEgC,GAAa;IACtC,IAAIpqB,GAAG,GAAGoqB,GAAG,GAAG,qBAAqBhC,KAAK,EAAE,GAAG,iBAAiBA,KAAK,EAAE;IACvE,OAAO,IAAI,CAACzK,IAAI,CAACza,GAAG,CAAWlD,GAAG,CAAC,CAACoD,IAAI,CACpCqI,mDAAG,CAAC1L,CAAC,IAAG;MACJA,CAAC,CAACqb,QAAQ,GAAGrb,CAAC,CAACqb,QAAQ,CAAC3P,GAAG,CAAC8F,CAAC,IAAE;QAC3BA,CAAC,GAAG5D,MAAM,CAACC,MAAM,CAAC,IAAIlB,sCAAO,EAAE,EAAC6E,CAAC,CAAC;QAClCA,CAAC,CAACG,aAAa,GAAGH,CAAC,CAACG,aAAa,CAACjG,GAAG,CAAC4P,CAAC,IAAE1N,MAAM,CAACC,MAAM,CAAC,IAAI4C,mEAAc,EAAE,EAAC6K,CAAC,CAAC,CAAC;QAC/E,OAAO9J,CAAC;MACZ,CAAC,CAAC;MACF,OAAO3E,sDAAQ,CAACsB,QAAQ,CAACnO,CAAC,CAAC;IAC/B,CAAC,CAAC,CACL;EACL;EAEA;EACAsqB,WAAWA,CAACC,QAAe,EAAEC,KAAc;IACvC,OAAO,IAAI,CAAC5M,IAAI,CAACkB,GAAG,CAAS,mBAAmB,EAAC;MAACyL,QAAQ;MAACC;IAAK,CAAC,CAAC;EACtE;EAEA;EACAC,cAAcA,CAACF,QAAgB,EAAEC,KAAe;IAC5C,OAAO,IAAI,CAAC5M,IAAI,CAACkB,GAAG,CAAS,kBAAkB,EAAE;MAAEyL,QAAQ;MAAEC;IAAK,CAAE,CAAC;EACzE;EAEA;EACAE,iBAAiBA,CAACH,QAAgB,EAAEI,IAAY;IAC5C,OAAO,IAAI,CAAC/M,IAAI,CAAC6B,IAAI,CAAS,oBAAoB,EAAElS,mCAAI,CAACuW,iBAAiB,CAAC;MAAEyG,QAAQ;MAAEI;IAAI,CAAE,CAAC,CAAC;EACnG;EAEA;EACAC,gBAAgBA,CAACL,QAAgB;IAC/B,OAAO,IAAI,CAAC3M,IAAI,CAACza,GAAG,CAAW,yBAAyB,GAAConB,QAAQ,CAAC;EACpE;EAEA;EACA9B,UAAUA,CAAC8B,QAAgB;IACzB,OAAO,IAAI,CAAC3M,IAAI,CAAC6B,IAAI,CAAS,mBAAmB,GAAC8K,QAAQ,EAAC,IAAI,CAAC,CAAClnB,IAAI,CACnEsa,mDAAG,CACC3d,CAAC,IAAE,IAAI,CAAC6d,KAAK,CAACX,QAAQ,CAAC,IAAI5O,uDAAQ,CAACD,2DAAY,CAACwc,yBAAyB,EAACN,QAAQ,CAAC,CAAC,CACxF,CACF;EACH;EAEAO,SAASA,CAACP,QAAgB;IACxB,OAAO,IAAI,CAAC3M,IAAI,CAAC6B,IAAI,CAAS,sBAAsB,GAAC8K,QAAQ,EAAC,IAAI,CAAC,CAAClnB,IAAI,CACtEsa,mDAAG,CACC3d,CAAC,IAAE,IAAI,CAAC6d,KAAK,CAACX,QAAQ,CAAC,IAAI5O,uDAAQ,CAACD,2DAAY,CAACwc,yBAAyB,EAACN,QAAQ,CAAC,CAAC,CACxF,CACF;EACH;EAEA;EACAQ,QAAQA,CAACtc,EAAU,EAAE4M,QAAkB;IACrC,OAAO,IAAI,CAACuC,IAAI,CAAC6B,IAAI,CAAS,oBAAoB,GAAGhR,EAAE,EAAElB,mCAAI,CAACuW,iBAAiB,CAAC;MAAEzI;IAAQ,CAAE,CAAC,CAAC;EAChG;EAEA;EACAqE,UAAUA,CAACnE,IAAY,EAAErM,OAAe,EAAEyQ,IAAa;IACnD,OAAO,IAAI,CAAC/B,IAAI,CAAC6B,IAAI,CAAC,iBAAiBlE,IAAI,OAAO,EAAE;MAAErM,OAAO;MAAEyQ;IAAI,CAAE,CAAC;EAC1E;EAEAJ,aAAaA,CAAC8I,KAAa,EAAE7I,MAAc;IACvC,OAAO,IAAI,CAAC5B,IAAI,CAAC6B,IAAI,CAAS,iBAAiB4I,KAAK,QAAQ7I,MAAM,EAAE,EAAE,IAAI,CAAC;EAC/E;EAEAyF,WAAWA,CAACpB,GAAa;IACrB,IAAI1F,MAAM,GAAG5Q,mCAAI,CAAC6Q,mBAAmB,CAAC;MAAEyF;IAAG,CAAE,CAAC;IAC9C,OAAO,IAAI,CAACjG,IAAI,CAACwB,MAAM,CAAC,gBAAgB,EAAE;MAAEjB;IAAM,CAAE,CAAC;EACzD;EAGA6M,UAAUA,CAAC9M,GAKV;IACG,OAAO,IAAI,CAACN,IAAI,CAACkB,GAAG,CAAC,mBAAmB,EAAEZ,GAAG,CAAC;EAClD;EAAC,QAAArd,CAAA;qBAjGQkM,gBAAgB,EAAAxL,sDAAA,CAAAL,4DAAA,GAAAK,sDAAA,CAAAmD,iEAAA;EAAA;EAAA,QAAA5D,EAAA;WAAhBiM,gBAAgB;IAAAR,OAAA,EAAhBQ,gBAAgB,CAAAP;EAAA;;;;;;;;;;;;;;;;;;ACZ6E;;AASpG,MAAOnB,qBAAsB,SAAQL,+DAAkB;EAH7DtJ,YAAA;;IAIU,KAAAupB,YAAY,GAAG,IAAI/E,GAAG,EAA+B;;EAE7DgF,QAAQA,CAACtf,KAA6B;IACpC,MAAMua,GAAG,GAAG,IAAI,CAACgF,WAAW,CAACvf,KAAK,CAAC;IACnC;IACA,IAAIwW,MAAM,GAAG,IAAI,CAAC6I,YAAY,CAAC9nB,GAAG,CAACgjB,GAAG,CAAC;IACvC,IAAI/D,MAAM,EAAE;MACV,IAAIzU,CAAC,GAAIyU,MAAc,CAACgJ,YAAY,EAAEC,QAAQ;MAC9C,IAAI1d,CAAC,IAAIA,CAAC,CAAC2d,QAAQ,EAChBC,UAAU,CAAC,MAAI5d,CAAC,CAAC2d,QAAQ,EAAE,CAAC;IACjC;IACA,OAAOlJ,MAAM;EACf;EAEAoJ,YAAYA,CAAC5f,KAA6B;IACxC,IAAI,CAACA,KAAK,CAAChN,IAAI,CAAC6sB,KAAK,EACnB,OAAO,KAAK;IACd,IAAItF,GAAG,GAAG,IAAI,CAACgF,WAAW,CAACvf,KAAK,CAAC;IACjC,IAAIyd,MAAM,GAAI,IAAI,CAAC4B,YAAY,CAAClnB,GAAG,CAACoiB,GAAG,CAAC;IACxC;IACA,OAAOkD,MAAM;EACf;EAEAqC,YAAYA,CAAC9f,KAA6B;IACxC,OAAOA,KAAK,CAAChN,IAAI,CAAC6sB,KAAK;EACzB;EAEAE,gBAAgBA,CAACC,MAA8B,EAAEC,IAA4B;IAC3E,IAAIxC,MAAM,GAAIuC,MAAM,CAAC9nB,WAAW,KAAK+nB,IAAI,CAAC/nB,WAAW;IACrD;IACA,OAAOulB,MAAM;EACf;EAEAyC,KAAKA,CAAClgB,KAA6B,EAAEwW,MAAkC;IACrE,MAAM+D,GAAG,GAAG,IAAI,CAACgF,WAAW,CAACvf,KAAK,CAAC;IACnC;IACA,MAAMnN,IAAI,GAAG,IAAI,CAACstB,YAAY,CAACngB,KAAK,CAAC;IACrC,KAAK,MAAMic,CAAC,IAAI,IAAI,CAACoD,YAAY,CAACzD,IAAI,EAAE,EAAE;MACxC,IAAIK,CAAC,IAAE1B,GAAG,IAAI0B,CAAC,CAACgC,UAAU,CAACprB,IAAI,CAAC,EAAE;QAChC,MAAMutB,MAAM,GAAG,IAAI,CAACf,YAAY,CAAC9nB,GAAG,CAAC0kB,CAAC,CAAC;QACvC,IAAImE,MAAM,IAAE,IAAI,IAAK5J,MAAc,CAACgJ,YAAY,EAAEC,QAAQ,KAAMW,MAAc,CAACZ,YAAY,EAAEC,QAAQ,EACnG,IAAI,CAACJ,YAAY,CAAC7L,MAAM,CAACyI,CAAC,CAAC,CAAC,KAE5B,IAAI,CAACoE,gBAAgB,CAACpE,CAAC,CAAC;MAC5B;IACF;IACA,IAAI,CAACoD,YAAY,CAAC9I,GAAG,CAACgE,GAAG,EAAE/D,MAAM,CAAC;EACpC;EAEA2J,YAAYA,CAACngB,KAA6B;IACxC,OAAOA,KAAK,CAACsgB,YAAY,CAAC5qB,MAAM,CAACyK,CAAC,IAAIA,CAAC,CAAC9L,GAAG,CAAC,CAACyL,GAAG,CAACK,CAAC,IAAIA,CAAC,CAAC9L,GAAG,CAAC,CAACksB,IAAI,CAAC,GAAG,CAAC;EACxE;EACQhB,WAAWA,CAACvf,KAA6B;IAC/C,IAAIuS,MAAM,GAAU;MAAC,GAAGvS,KAAK,CAACwgB;IAAW,CAAC;IAC1C,IAAIxgB,KAAK,CAAChN,IAAI,CAACytB,WAAW,EACxBzgB,KAAK,CAAChN,IAAI,CAACytB,WAAW,CAAC3d,OAAO,CAACiF,CAAC,IAAE,OAAOwK,MAAM,CAACxK,CAAC,CAAE,CAAC;IACtD,OAAO,IAAI,CAACoY,YAAY,CAACngB,KAAK,CAAC,GAAE0gB,IAAI,CAACC,SAAS,CAACpO,MAAM,CAAC;EACzD;EAEO8N,gBAAgBA,CAAC9F,GAAW;IACjC;IACA,MAAM/D,MAAM,GAAG,IAAI,CAAC6I,YAAY,CAAC9nB,GAAG,CAACgjB,GAAG,CAAC;IACzC,IAAI/D,MAAM,EAAE;MACTA,MAAc,CAACgJ,YAAY,CAACoB,OAAO,EAAE;IACxC;IAEA,IAAI,CAACvB,YAAY,CAAC7L,MAAM,CAAC+G,GAAG,CAAC;EAC/B;EAAC,QAAAtlB,CAAA;;;8JApEUwK,qBAAqB,IAAAuE,CAAA,IAArBvE,qBAAqB;IAAA;EAAA;EAAA,QAAAvK,EAAA;WAArBuK,qBAAqB;IAAAkB,OAAA,EAArBlB,qBAAqB,CAAAmB,IAAA;IAAAC,UAAA,EAFpB;EAAM;;;;;;;;;;;;;;;;;;ACP8B;;AAElD,IAAKggB,GAQJ;AARD,WAAKA,GAAG;EACJA,GAAA,CAAAA,GAAA,0BAAU;EACVA,GAAA,CAAAA,GAAA,0BAAM;EACNA,GAAA,CAAAA,GAAA,4BAAO;EACPA,GAAA,CAAAA,GAAA,gCAAS;EACTA,GAAA,CAAAA,GAAA,8BAAQ;EACRA,GAAA,CAAAA,GAAA,0BAAM;EACNA,GAAA,CAAAA,GAAA,8BAAQ;AACZ,CAAC,EARIA,GAAG,KAAHA,GAAG;AAQP;AAKK,MAAOlf,IAAI;EAAA,QAAA1M,CAAA,GACN,KAAA6rB,YAAY,GAA0C,EAAE;EAC/D,OAAOC,QAAQA,CAAC/jB,IAAY;IACxB,IAAI,IAAI,CAAC8jB,YAAY,CAAC/L,cAAc,CAAC/X,IAAI,CAAC,EACtC,OAAO,IAAI,CAAC8jB,YAAY,CAAC9jB,IAAI,CAAC;IAClC,IAAIuH,GAAG,GAAG,CACN,CAAC,MAAI;MACD,IAAIyc,EAAE,GAAG,IAAI3jB,IAAI,CAACL,IAAI,EAAC,CAAC,EAAC,CAAC,CAAC;MAC3B,IAAIgkB,EAAE,CAACC,MAAM,EAAE,IAAIJ,GAAG,CAACK,MAAM,EACzBF,EAAE,GAAG,IAAI3jB,IAAI,CAACL,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KACzB,IAAIgkB,EAAE,CAACC,MAAM,EAAE,IAAEJ,GAAG,CAACM,QAAQ,EAC9BH,EAAE,GAAG,IAAI3jB,IAAI,CAACL,IAAI,GAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;MACjC,OAAOgkB,EAAE;IACb,CAAC,EAAC,CAAE,EACJ,CAAC,MAAK;MACF,IAAII,IAAI,GAAG,IAAI/jB,IAAI,CAACL,IAAI,EAAC,CAAC,EAAC,CAAC,CAAC;MAC7B,OAAO2E,IAAI,CAAC0f,KAAK,CAAC,EAAE,EAAC,CAAC,CAAC,CAClBvhB,GAAG,CAAC4P,CAAC,IAAI/N,IAAI,CAAC2f,OAAO,CAAC5R,CAAC,EAAE0R,IAAI,CAAC,CAAC,CAAC1rB,MAAM,CAACga,CAAC,IAAEA,CAAC,CAACuR,MAAM,EAAE,IAAEJ,GAAG,CAACU,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC,EAAC,CAAE,EACJ,CAAC,MAAK;MACF,IAAIC,IAAI,GAAG,IAAInkB,IAAI,CAACL,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;MAC/B,OAAO2E,IAAI,CAAC0f,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CACnBvhB,GAAG,CAAC4P,CAAC,IAAI/N,IAAI,CAAC2f,OAAO,CAAC5R,CAAC,EAAE8R,IAAI,CAAC,CAAC,CAAC9rB,MAAM,CAACga,CAAC,IAAIA,CAAC,CAACuR,MAAM,EAAE,IAAIJ,GAAG,CAACU,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC,EAAC,CAAE,EACJ,IAAIlkB,IAAI,CAACL,IAAI,EAAC,CAAC,EAAC,CAAC,CAAC;IAAE;IACpB,CAAC,MAAK;MACF,IAAIykB,IAAI,GAAG,IAAIpkB,IAAI,CAACL,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;MAC/B,OAAO2E,IAAI,CAAC0f,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAClBvhB,GAAG,CAAC4P,CAAC,IAAI/N,IAAI,CAAC2f,OAAO,CAAC5R,CAAC,EAAE+R,IAAI,CAAC,CAAC,CAAC/rB,MAAM,CAACga,CAAC,IAAIA,CAAC,CAACuR,MAAM,EAAE,IAAIJ,GAAG,CAACU,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC,EAAC,CAAE,EACJ,CAAC,MAAK;MACF,IAAIG,IAAI,GAAG,IAAIrkB,IAAI,CAACL,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;MAChC,OAAO2E,IAAI,CAAC0f,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CACnBvhB,GAAG,CAAC4P,CAAC,IAAI/N,IAAI,CAAC2f,OAAO,CAAC5R,CAAC,EAAEgS,IAAI,CAAC,CAAC,CAAChsB,MAAM,CAACga,CAAC,IAAIA,CAAC,CAACuR,MAAM,EAAE,IAAIJ,GAAG,CAACc,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC,EAAC,CAAE,EACJ,CAAC,MAAK;MACF,IAAID,IAAI,GAAG,IAAIrkB,IAAI,CAACL,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;MAChC,OAAO2E,IAAI,CAAC0f,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CACnBvhB,GAAG,CAAC4P,CAAC,IAAI/N,IAAI,CAAC2f,OAAO,CAAC5R,CAAC,EAAEgS,IAAI,CAAC,CAAC,CAAChsB,MAAM,CAACga,CAAC,IAAIA,CAAC,CAACuR,MAAM,EAAE,IAAIJ,GAAG,CAACe,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC,EAAC,CAAE,EACJ,CAAC,MAAK;MACF,IAAIC,IAAI,GAAG,IAAIxkB,IAAI,CAACL,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;MACjC,IAAI6kB,IAAI,CAACZ,MAAM,EAAE,IAAIJ,GAAG,CAACK,MAAM,EAC3BW,IAAI,GAAG,IAAIxkB,IAAI,CAACL,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAC7B,IAAI6kB,IAAI,CAACZ,MAAM,EAAE,IAAIJ,GAAG,CAACM,QAAQ,EAClCU,IAAI,GAAG,IAAIxkB,IAAI,CAACL,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;MACjC,OAAO6kB,IAAI;IACf,CAAC,EAAC,CAAE,EACJ,CAAC,MAAK;MACF,IAAIC,KAAK,GAAG,IAAIzkB,IAAI,CAACL,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;MAClC,IAAI8kB,KAAK,CAACb,MAAM,EAAE,IAAIJ,GAAG,CAACkB,SAAS,IAAID,KAAK,CAACb,MAAM,EAAE,IAAIJ,GAAG,CAACM,QAAQ,EACjEW,KAAK,GAAG,IAAIzkB,IAAI,CAACL,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;MAClC,OAAO8kB,KAAK;IAChB,CAAC,EAAC,CAAE,CACP,CAAC3b,MAAM,CAAC,CAAC6b,IAAI,EAACC,IAAI,KAAG;MAACD,IAAI,CAACC,IAAI,CAACC,WAAW,EAAE,CAAC,GAAC,CAAC;MAAC,OAAOF,IAAI;IAAC,CAAC,EAAC,EAAE,CAAC;IACnE,IAAI,CAAClB,YAAY,CAAC9jB,IAAI,CAAC,GAACuH,GAAG;IAC3B,OAAOA,GAAG;EACd;EAEA,OAAO4d,MAAMA,CAACF,IAAS;IACnB,IAAIA,IAAI,CAAChB,MAAM,EAAE,IAAIJ,GAAG,CAACM,QAAQ,IAAIc,IAAI,CAAChB,MAAM,EAAE,IAAIJ,GAAG,CAACK,MAAM,EAC5D,OAAO,KAAK;IAChB,IAAIH,QAAQ,GAAGpf,IAAI,CAACof,QAAQ,CAACkB,IAAI,CAAC3kB,WAAW,EAAE,CAAC;IAChD,IAAIyjB,QAAQ,CAAChM,cAAc,CAAC,IAAI1X,IAAI,CAAC4kB,IAAI,CAACG,QAAQ,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAACF,WAAW,EAAE,CAAC,EACvE,OAAO,KAAK;IAChB,OAAO,IAAI;EACf;EAGA,WAAW9kB,KAAKA,CAAA;IACZ,OAAO,IAAIC,IAAI,CAAC,IAAIA,IAAI,EAAE,CAAC+kB,QAAQ,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;EACjD;EAEO,OAAOd,OAAOA,CAACe,IAAY,EAAEJ,IAAW;IAC3CA,IAAI,GAAGA,IAAI,IAAEtgB,IAAI,CAACvE,KAAK;IACvB,OAAO,IAAIC,IAAI,CAAC,IAAIA,IAAI,CAAC4kB,IAAI,CAAC,CAACK,OAAO,CAACL,IAAI,CAACM,OAAO,EAAE,GAAGF,IAAI,CAAC,CAAC;EAClE;EAEO,OAAOG,QAAQA,CAACH,IAAW,EAAEJ,IAAW;IAC3CA,IAAI,GAAGA,IAAI,IAAItgB,IAAI,CAACvE,KAAK;IACzB,IAAIilB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAACF,MAAM,CAACF,IAAI,CAAC,EAC/BI,IAAI,GAAG,CAAC;IACZ,KAAK,IAAII,KAAK,GAAC,CAAC,EAAEA,KAAK,GAAGJ,IAAI,GAAG;MAC7BJ,IAAI,GAAGtgB,IAAI,CAAC2f,OAAO,CAAC,CAAC,EAACW,IAAI,CAAC;MAC3B,IAAI,IAAI,CAACE,MAAM,CAACF,IAAI,CAAC,EACjBQ,KAAK,EAAE;IACf;IACA,OAAOR,IAAI;EACf;EAEO,OAAOS,SAASA,CAACC,MAAc,EAAEV,IAAW;IAC/CA,IAAI,GAAGA,IAAI,IAAItgB,IAAI,CAACvE,KAAK;IACzB,OAAO,IAAIC,IAAI,CAAC,IAAIA,IAAI,CAAC4kB,IAAI,CAAC,CAACW,QAAQ,CAACX,IAAI,CAACY,QAAQ,EAAE,GAAGF,MAAM,CAAC,CAAC;EACtE;EAEO,OAAOG,OAAOA,CAACC,EAAO,EAACC,EAAO;IACjC,OAAO,IAAI3lB,IAAI,CAAC4lB,IAAI,CAACC,GAAG,CAACC,MAAM,CAACJ,EAAE,CAAC,EAACI,MAAM,CAACH,EAAE,CAAC,CAAC,CAAC;EACpD;EAEO,OAAOI,OAAOA,CAACL,EAAO,EAACC,EAAO;IACjC,OAAO,IAAI3lB,IAAI,CAAC4lB,IAAI,CAACI,GAAG,CAACF,MAAM,CAACJ,EAAE,CAAC,EAACI,MAAM,CAACH,EAAE,CAAC,CAAC,CAAC;EACpD;EAEO,OAAOM,gBAAgBA,CAAClG,CAAQ;IACnC,IAAI1N,CAAC,GAAG,IAAIrS,IAAI,CAAC+f,CAAC,CAAC;IACnB,OAAO,IAAI/f,IAAI,CAAC,IAAIA,IAAI,CAACqS,CAAC,CAAC,CAAC6T,UAAU,CAAC7T,CAAC,CAAC8T,UAAU,EAAE,GAAG9T,CAAC,CAAC+T,iBAAiB,EAAE,CAAC,CAAC;EACnF;EAAC,QAAAvuB,EAAA,GACM,KAAAwuB,QAAQ,GAAG,IAAIC,IAAI,CAACC,cAAc,CAAC,IAAI,EAAE;IAAEC,KAAK,EAAE;EAAM,CAAE,CAAC;EAC3D,OAAOC,SAASA,CAACD,KAAY;IAChC,OAAOliB,IAAI,CAAC+hB,QAAQ,CAACK,MAAM,CAAC,IAAI1mB,IAAI,EAAE,CAACulB,QAAQ,CAACiB,KAAK,CAAC,CAAC;EAC3D;EAAC,QAAA1uB,EAAA,GAEM,KAAA6uB,OAAO,GAA+B;IACzCC,GAAG,EAAE,SAAS;IACdJ,KAAK,EAAE,SAAS;IAChB7mB,IAAI,EAAE;GACT;EACM,OAAOknB,UAAUA,CAACjC,IAAS;IAC9B,OAAOA,IAAI,IAAIA,IAAI,CAACkC,kBAAkB,CAAC,OAAO,EAAExiB,IAAI,CAACqiB,OAAO,CAAC,IAAI,EAAE;EACvE;EAAC,QAAAhO,EAAA,GAEM,KAAAoO,cAAc,GAAG,IAAIT,IAAI,CAACC,cAAc,CAAC,IAAI,EAAE;IAAES,SAAS,EAAE,OAAO;IAAEC,SAAS,EAAE;EAAO,CAAE,CAAC;EAE1F,OAAO9f,cAAcA,CAACyd,IAAU;IACnC,OAAOA,IAAI,IAAItgB,IAAI,CAACyiB,cAAc,CAACL,MAAM,CAAC9B,IAAI,CAAC,IAAI,EAAE;EACzD;EAEO,OAAOsC,SAASA,CAACtC,IAAS;IAC7B,OAAOA,IAAI,IAAI;MAACjlB,IAAI,EAACilB,IAAI,CAAC3kB,WAAW,EAAE;MAACumB,KAAK,EAAC5B,IAAI,CAACY,QAAQ,EAAE,GAAC,CAAC;MAACoB,GAAG,EAAChC,IAAI,CAACM,OAAO;IAAE,CAAC,IAAI,IAAI;EAC/F;EAEO,OAAOiC,WAAWA,CAACC,IAAkD;IACxE,OAAOA,IAAI,IAAI,IAAIpnB,IAAI,CAAConB,IAAI,CAACznB,IAAI,EAACynB,IAAI,CAACZ,KAAK,GAAC,CAAC,EAACY,IAAI,CAACR,GAAG,CAAC,IAAI,IAAI;EACpE;EAEO,OAAOS,eAAeA,CAACzC,IAAS;IACnC,OAAOA,IAAI,IAAEA,IAAI,CAACC,WAAW,EAAE,CAACyC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAE,EAAE;EACrD;EAAC,QAAA1O,EAAA,GAEM,KAAA2O,QAAQ,GAAG,IAAIjB,IAAI,CAACkB,YAAY,CAAC,OAAO,EAAE;IAAEC,KAAK,EAAE,UAAU;IAAEF,QAAQ,EAAE;EAAK,CAAG,CAAC;EAClF,OAAOG,cAAcA,CAAC3e,CAAQ;IACjC,OAAOzE,IAAI,CAACijB,QAAQ,CAACb,MAAM,CAAC3d,CAAC,CAAC;EAClC;EAEO,OAAOlE,QAAQA,CAAI8iB,CAAI,EAAEpJ,IAAsB;IAClDA,IAAI,CAAC9Y,OAAO,CAACmZ,CAAC,IAAG;MAAG+I,CAAC,CAAC/I,CAAC,CAAC,GAAG+I,CAAC,CAAC/I,CAAC,CAAC,IAAG,IAAI5e,IAAI,CAAC2nB,CAAC,CAAC/I,CAAC,CAAC,CAAE;IAAA,CAAC,CAAE;IACpD,OAAO+I,CAAC;EACZ;EAEO,OAAO1iB,kBAAkBA,CAAC0iB,CAAS;IACtC,IAAIvH,MAAM,GAAY,EAAE;IACxBzb,MAAM,CAAC4Z,IAAI,CAACoJ,CAAC,CAAC,CAACliB,OAAO,CAACmZ,CAAC,IAAG;MAAE,IAAI+I,CAAC,CAAC/I,CAAC,CAAC,YAAY5e,IAAI,EAAEogB,MAAM,CAAC9V,IAAI,CAACsU,CAAC,CAAC;IAAA,CAAC,CAAC;IACvE,OAAOwB,MAAM;EACjB;EAEA,OAAO4D,KAAKA,CAAE9J,KAAY,EAAEkL,KAAY;IACpC,OAAOwC,KAAK,CAACxC,KAAK,CAAC,CAACyC,IAAI,CAAC,CAAC,CAAC,CAACplB,GAAG,CAAC,CAAC9H,CAAC,EAAEmtB,CAAC,KAAK5N,KAAK,GAAG4N,CAAC,CAAC;EACxD;EAAC,QAAAC,EAAA,GAEa,KAAAC,cAAc,GAAG,IAAI1B,IAAI,CAAC2B,QAAQ,CAAC,OAAO,EAAE;IAAEC,WAAW,EAAE;EAAM,CAAE,CAAC;EAC3E,OAAOC,mBAAmBA,CAACxtB,CAAQ,EAAE4c,CAAS;IACjD,OAAOjT,IAAI,CAAC0jB,cAAc,CAACjY,OAAO,CAACpV,CAAC,EAAC4c,CAAC,CAAC;EAC3C;EAEA,OAAO6Q,MAAMA,CAAClO,KAAY,EAAEmO,IAAY,EAAEC,IAAa;IACnDA,IAAI,GAAGA,IAAI,KAAMpO,KAAK,GAACmO,IAAI,GAAE,CAAC,GAAC,CAAC,CAAC,CAAC;IAClC,IAAIjD,KAAK,GAAGQ,IAAI,CAAC2C,IAAI,CAAC3C,IAAI,CAAC4C,GAAG,CAAC,CAACH,IAAI,GAACnO,KAAK,IAAEoO,IAAI,CAAC,CAAC;IAClD,OAAOV,KAAK,CAACxC,KAAK,CAAC,CAACyC,IAAI,CAAC,CAAC,CAAC,CAACplB,GAAG,CAAC,CAAC9H,CAAC,EAACmtB,CAAC,KAAG5N,KAAK,GAAC4N,CAAC,GAACQ,IAAI,CAAC;EACxD;EAEA,OAAOG,KAAKA,CAAA;IACR,OAAO3C,MAAM,CAAC4C,gBAAgB,CAACC,QAAQ,CAAChf,IAAI,EAAE,IAAI,CAAC,CAACif,QAAQ,CAACzoB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;EACvF;EAEA,OAAOgV,mBAAmBA,CAACF,GAAO;IAC9B,IAAIC,MAAM,GAAG,IAAI8F,4DAAU,EAAE;IAC7BrW,MAAM,CAAC4Z,IAAI,CAACtJ,GAAG,CAAC,CAACxP,OAAO,CAACmZ,CAAC,IAAG;MACzB,IAAIiK,GAAG,GAAG5T,GAAG,CAAC2J,CAAC,CAAC;MAChB,IAAIiK,GAAG,YAAY7oB,IAAI,EACnB6oB,GAAG,GAAG,IAAI,CAACxB,eAAe,CAACwB,GAAG,CAAC;MACnC,IAAIjB,KAAK,CAACkB,OAAO,CAACD,GAAG,CAAC,EAClBA,GAAG,CAACpjB,OAAO,CAAC8C,CAAC,IAAG;QACZ,IAAIA,CAAC,YAAYvI,IAAI,EACjBuI,CAAC,GAAG,IAAI,CAAC8e,eAAe,CAAC9e,CAAC,CAAC;QAC/B2M,MAAM,GAAGA,MAAM,CAACiG,MAAM,CAACyD,CAAC,EAAErW,CAAC,CAAC;MAChC,CAAC,CAAC,CAAC,KAEH2M,MAAM,GAAGA,MAAM,CAACiG,MAAM,CAACyD,CAAC,EAAEiK,GAAG,CAAC;IACtC,CAAC,CAAC;IACF,OAAO3T,MAAM;EACjB;EAEA,OAAO6T,eAAeA,CAAC9T,GAAO;IAC1B,IAAIC,MAAM,GAAC,EAAE;IACbvQ,MAAM,CAAC4Z,IAAI,CAACtJ,GAAG,CAAC,CAACxP,OAAO,CAACmZ,CAAC,IAAG;MACzB,IAAIiK,GAAG,GAAG5T,GAAG,CAAC2J,CAAC,CAAC;MAChB,IAAIiK,GAAG,YAAY7oB,IAAI,EACnB6oB,GAAG,GAAG,IAAI,CAACxB,eAAe,CAACwB,GAAG,CAAC,CAAC,KAEpC,IAAIjB,KAAK,CAACkB,OAAO,CAACD,GAAG,CAAC,EAClBA,GAAG,GAAGA,GAAG,CAACpmB,GAAG,CAAC8F,CAAC,IAAKA,CAAC,YAAYvI,IAAI,GAAG,IAAI,CAACqnB,eAAe,CAAC9e,CAAC,CAAC,GAACA,CAAC,CAAC;MACtE2M,MAAM,CAAC0J,CAAC,CAAC,GAAEiK,GAAG;IAClB,CAAC,CAAC;IACF,OAAO3T,MAAM;EACjB;EAEA,OAAO2F,iBAAiBA,CAAC5F,GAAQ;IAC7B,IAAI+T,QAAQ,GAAG,IAAI5K,QAAQ,EAAE;IAC7BzZ,MAAM,CAAC4Z,IAAI,CAACtJ,GAAG,CAAC,CAACxP,OAAO,CAACmZ,CAAC,IAAG;MACzB,IAAIiK,GAAG,GAAG5T,GAAG,CAAC2J,CAAC,CAAC;MAChB,IAAIiK,GAAG,YAAY7oB,IAAI,EACnB6oB,GAAG,GAAG,IAAI,CAACxB,eAAe,CAACwB,GAAG,CAAC;MACnC,IAAIjB,KAAK,CAACkB,OAAO,CAACD,GAAG,CAAC,EAClBA,GAAG,CAACpjB,OAAO,CAAC8C,CAAC,IAAG;QACZ,IAAIA,CAAC,YAAYvI,IAAI,EACjBuI,CAAC,GAAG,IAAI,CAAC8e,eAAe,CAAC9e,CAAC,CAAC;QAC/BygB,QAAQ,CAAC7N,MAAM,CAACyD,CAAC,EAAErW,CAAC,CAAC;MACzB,CAAC,CAAC,CAAC,KAEHygB,QAAQ,CAAC7N,MAAM,CAACyD,CAAC,EAAEiK,GAAG,CAAC;IAC/B,CAAC,CAAC;IACF,OAAOG,QAAQ;EACnB;EAEA,OAAOC,iBAAiBA,CAACC,EAAS,EAACC,EAAS;IACxC,OAAOxkB,MAAM,CAAC4Z,IAAI,CAAC2K,EAAE,CAAC,CAACE,KAAK,CAACxK,CAAC,IAAI,CAACuK,EAAE,CAACzR,cAAc,CAACkH,CAAC,CAAC,KAClDsK,EAAE,CAACtK,CAAC,CAAC,YAAY5e,IAAI,GAAI,CAACmpB,EAAE,CAACvK,CAAC,CAAC,IAAI,CAACsK,EAAE,CAACtK,CAAC,CAAC,GACzC,OAAQsK,EAAE,CAACtK,CAAC,CAAE,IAAI,QAAQ,GAAIta,IAAI,CAAC+kB,YAAY,CAACH,EAAE,CAACtK,CAAC,CAAC,EAAEuK,EAAE,CAACvK,CAAC,CAAC,CAAC,GAC9DuK,EAAE,CAACvK,CAAC,CAAC,IAAIsK,EAAE,CAACtK,CAAC,CAAC,CACjB,CAAC;EACN;EAEA,OAAOyK,YAAYA,CAACH,EAAS,EAACC,EAAS;IACnC,OAAOD,EAAE,IAAI,IAAI,IAAIC,EAAE,IAAI,IAAI,IAC3BD,EAAE,IAAG,IAAI,IAAIC,EAAE,IAAI,IAAI,IACvBxkB,MAAM,CAAC4Z,IAAI,CAAC2K,EAAE,CAAC,CAACjuB,MAAM,KAAK0J,MAAM,CAAC4Z,IAAI,CAAC4K,EAAE,CAAC,CAACluB,MAAM,IAC9C0J,MAAM,CAAC4Z,IAAI,CAAC2K,EAAE,CAAC,CAACE,KAAK,CAACxK,CAAC,IACrBsK,EAAE,CAACtK,CAAC,CAAC,YAAY5e,IAAI,GAAI,CAACmpB,EAAE,CAACvK,CAAC,CAAC,IAAI,CAACsK,EAAE,CAACtK,CAAC,CAAC,GACzC,OAAQsK,EAAE,CAACtK,CAAC,CAAE,IAAI,QAAQ,GAAIta,IAAI,CAAC+kB,YAAY,CAACH,EAAE,CAACtK,CAAC,CAAC,EAACuK,EAAE,CAACvK,CAAC,CAAC,CAAC,GAC7DuK,EAAE,CAACvK,CAAC,CAAC,IAAIsK,EAAE,CAACtK,CAAC,CAAC,CAErB;EACL;EAEA,OAAO0K,WAAWA,CAACC,EAAW,EAACC,EAAW;IACtC,OAAOD,EAAE,CAACtuB,MAAM,KAAKuuB,EAAE,CAACvuB,MAAM,IAAIsuB,EAAE,CAACH,KAAK,CAAC,CAACzB,CAAC,EAAExe,GAAG,KAAK7E,IAAI,CAAC+kB,YAAY,CAAC1B,CAAC,EAAE6B,EAAE,CAACrgB,GAAG,CAAC,CAAC,CAAC;EACzF;EAEA,OAAOsgB,YAAYA,CAACtP,GAAG;IACnB,IAAI,OAAOA,GAAG,IAAI,QAAQ,EACtB,OAAOA,GAAG;IACd,IAAIA,GAAG,CAAC9G,KAAK,IAAI,OAAO8G,GAAG,CAAC9G,KAAK,IAAI,QAAQ,EACzC,OAAO8G,GAAG,CAAC9G,KAAK;IACpB,IAAI+M,MAAM,GAAG,EAAE;IACf,IAAIjG,GAAG,CAAC5G,OAAO,EACX6M,MAAM,GAAGjG,GAAG,CAAC5G,OAAO;IACxB,IAAI4G,GAAG,CAAC9G,KAAK,IAAI8G,GAAG,CAAC9G,KAAK,CAACqW,OAAO,EAC9BtJ,MAAM,IAAI,CAACA,MAAM,IAAI,IAAI,IAAIjG,GAAG,CAAC9G,KAAK,CAACqW,OAAO;IAClD,OAAOtJ,MAAM;EACjB;EAEA,OAAOuJ,eAAeA,CAACzO,GAAW;IAC9B,IAAIA,GAAG,KAAKtgB,SAAS,EACjBsgB,GAAG,GAAGgD,MAAM,CAAC4C,QAAQ,CAAC7F,MAAM;IAChCC,GAAG,GAAGA,GAAG,CAAC/a,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAC5B,IAAI+G,GAAG,GAAG,EAAE;IACZ,KAAK,IAAI0iB,GAAG,IAAI1O,GAAG,CAACoM,KAAK,CAAC,GAAG,CAAC,EAAE;MAC5B,IAAIuC,EAAE,GAACD,GAAG,CAACtC,KAAK,CAAC,GAAG,CAAC;MACrBpgB,GAAG,CAAC2iB,EAAE,CAAC,CAAC,CAAC,CAAC,GAACA,EAAE,CAAC,CAAC,CAAC;IACpB;IACA,OAAO3iB,GAAG;EACd;EAEA,OAAO4iB,IAAIA,CAACC,GAAU,EAACC,GAAU;IAC7BrlB,MAAM,CAAC4Z,IAAI,CAACyL,GAAG,CAAC,CAACvkB,OAAO,CAACmZ,CAAC,IAAE;MACxB,IAAImL,GAAG,CAACrS,cAAc,CAACkH,CAAC,CAAC,EACrBoL,GAAG,CAACpL,CAAC,CAAC,GAACmL,GAAG,CAACnL,CAAC,CAAC;IACrB,CAAC,CAAC;EACN;EAEA,OAAOqL,KAAKA,CAACtC,CAAQ;IACjBhjB,MAAM,CAAC4Z,IAAI,CAACoJ,CAAC,CAAC,CAACliB,OAAO,CAACmZ,CAAC,IAAG;MACvB+I,CAAC,CAAC/I,CAAC,CAAC,GAAChkB,SAAS;IAClB,CAAC,CAAC;EACN;EAEA,OAAO+jB,OAAOA,CAAIgJ,CAAS,EAAEuC,GAAkC,EAAEC,KAAiB;IAC9E,OAAOxlB,MAAM,CAAC0Z,OAAO,CAACsJ,CAAC,CAAC,CAACllB,GAAG,CAACynB,GAAG,CAAC,CAAC5S,IAAI,CAAC,CAACnS,CAAC,EAAE6K,CAAC,KAAKma,KAAK,CAAChlB,CAAC,CAAC,CAAC8K,aAAa,CAACka,KAAK,CAACna,CAAC,CAAC,CAAC,CAAC;EACtF;EAEA,OAAOoa,OAAOA,CAACzC,CAAQ,EAAEjd,CAAiB;IACtC,IAAIlV,IAAa;IACjB,IAAI,OAAOkV,CAAE,IAAE,QAAQ,EACnBlV,IAAI,GAAGkV,CAAC,CAAC4c,KAAK,CAAC,GAAG,CAAC,CAAC,KAEpB9xB,IAAI,GAAGkV,CAAC;IACZ,IAAI3B,CAAC,GAAG4e,CAAC,CAACnyB,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,IAAIA,IAAI,CAACyF,MAAM,IAAI,CAAC,EAChB,OAAO8N,CAAC;IACZ,OAAO,IAAI,CAACqhB,OAAO,CAACrhB,CAAC,EAACvT,IAAI,CAACyB,KAAK,CAAC,CAAC,CAAC,CAAC;EACxC;EAEA,OAAOozB,cAAcA,CAAChO,GAAU,EAAClX,CAAS;IACtC,IAAInP,CAAC,GAAGmP,CAAC,CAACmiB,KAAK,CAAC,GAAG,CAAC;IACpB,IAAI/I,IAAI,GAAG5Z,MAAM,CAAC4Z,IAAI,CAAClC,GAAG,CAAC;IAC3B,KAAK,IAAIyL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG9xB,CAAC,CAACiF,MAAM,EAAE6sB,CAAC,EAAE,EAAE;MAC/B,IAAI,CAAC,CAAC9xB,CAAC,CAAC8xB,CAAC,CAAC,EACNzL,GAAG,CAACkC,IAAI,CAACuJ,CAAC,CAAC,CAAC,GAAG9xB,CAAC,CAAC8xB,CAAC,CAAC;IAC3B;IACA,OAAOzL,GAAG;EACd;EAAC,QAAAiO,EAAA;qBAtTQhmB,IAAI;EAAA;EAAA,QAAAimB,EAAA;WAAJjmB,IAAI;IAAAhB,OAAA,EAAJgB,IAAI,CAAAf,IAAA;IAAAC,UAAA,EAFD;EAAM;;;;;;;;;;;;;;;;;;;;;;ACbyB;;;;;;;;;ICO3ClL,4DAAA,WAAoD;IAAAA,oDAAA,oBAAa;IAAAA,0DAAA,EAAI;;;IAAlEA,wDAAA,eAAAA,6DAAA,IAAAmyB,GAAA,EAAgC;;;ADEjC,MAAOn3B,aAAa;EAExBmF,YACmBC,WAAwB,EACjCgyB,cAA8B;IADrB,KAAAhyB,WAAW,GAAXA,WAAW;IACpB,KAAAgyB,cAAc,GAAdA,cAAc;IAMf,KAAAC,SAAS,GAAa,CAC7B,UAAU,EACV,IAAI,EACJ,WAAW;IACX;IACA,UAAU,EACV,UAAU,EACV,OAAO,EACP,YAAY,EACZ,SAAS,CACV;IACD,KAAAp1B,MAAM,GAAGA,uDAAM,CAAC,CAAC,CAAC,CAACM,QAAQ;EAhBxB;EACH,IAAIsD,OAAOA,CAAA;IACT,OAAO,IAAI,CAACuxB,cAAc,CAACvxB,OAAO;EACpC;EAAC,QAAAvB,CAAA;qBARUtE,aAAa,EAAAgF,+DAAA,CAAAL,8CAAA,GAAAK,+DAAA,CAAAL,iDAAA;EAAA;EAAA,QAAAJ,EAAA;UAAbvE,aAAa;IAAA0I,SAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAwuB,uBAAAtuB,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCRpBhE,4DAFN,aAA0D,aAC9C,YACwB;QAC5BA,oDAAA,kBACF;QAAAA,0DAAA,EAAK;QACLA,uDAAA,YAAmB;QACrBA,0DAAA,EAAS;QACTA,uDAAA,uBAAyE;QACzEA,wDAAA,IAAAuyB,0BAAA,eAAoD;QACxDvyB,0DAAA,EAAM;;;QAFaA,uDAAA,GAAiB;QAACA,wDAAlB,WAAAiE,GAAA,CAAAhH,MAAA,CAAiB,cAAAgH,GAAA,CAAAouB,SAAA,CAAwB;QACnBryB,uDAAA,EAAa;QAAbA,wDAAA,SAAAiE,GAAA,CAAApD,OAAA,CAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFX;AACI;;;;;;;;;;;;ICSrCb,4DAAA,WAAuB;IAAAA,oDAAA,gBAAS;IAAAA,0DAAA,EAAO;;;;;IAWvCA,uDAAA,kBAMW;;;;IAHTA,wDADA,SAAA8yB,OAAA,CAAAz1B,IAAA,CAAAS,IAAA,CAAuB,oBACJ;;;;;IAIrBkC,4DAAA,WAAuB;IAAAA,oDAAA,GAAqB;IAAAA,0DAAA,EAAO;;;;IAA5BA,uDAAA,EAAqB;IAArBA,+DAAA,CAAA8yB,OAAA,CAAAz1B,IAAA,CAAAO,KAAA,CAAqB;;;;;IAb9CoC,4DADF,YAAoD,YAMjD;IAQCA,wDAPA,IAAA+yB,uCAAA,sBAMC,IAAAC,oCAAA,kBACsB;IAE3BhzB,0DADE,EAAI,EACD;;;;;IAZDA,uDAAA,EAA4B;IAA5BA,mEAAA,eAAA8yB,OAAA,CAAA51B,IAAA,CAA4B;IAC5B8C,wDAAA,UAAA8yB,OAAA,CAAAz1B,IAAA,CAAAO,KAAA,CAAyB;IAGtBoC,uDAAA,EAAoB;IAApBA,wDAAA,SAAA8yB,OAAA,CAAAz1B,IAAA,CAAAS,IAAA,CAAoB;IAMhBkC,uDAAA,EAAc;IAAdA,wDAAA,SAAAoI,MAAA,CAAA6qB,QAAA,CAAc;;;ADxB/B,MAAMZ,SAAS,GAAG,IAAIrxB,GAAG,CAAS,CAChC,UAAU,EACV,IAAI,EACJ,WAAW,EACX,KAAK,EACL,OAAO,EACP,UAAU,EACV,UAAU,EACV,OAAO,EACP,YAAY,EACZ,SAAS,CACV,CAAC;AAOI,MAAOhE,eAAe;EAO1BmD,YACmBC,WAAwB,EACjCE,MAAc,EACdC,cAA8B;IAFrB,KAAAH,WAAW,GAAXA,WAAW;IACpB,KAAAE,MAAM,GAANA,MAAM;IACN,KAAAC,cAAc,GAAdA,cAAc;IATxB,KAAA2yB,QAAQ,GAAGT,gFAAQ;IACnB,KAAAU,UAAU,GAAGR,iFAAU;IACvB,KAAAS,YAAY,GAAGP,gFAAY;IAC3B;IACA,KAAAQ,SAAS,GAAU,EAAE;IACrB,KAAAJ,QAAQ,GAAG,IAAI;EAKZ;EAEHK,eAAeA,CAAA;IACb,IAAI,CAAClzB,WAAW,CAACe,KAAK,CAACC,SAAS,CAACoJ,CAAC,IAAEwf,UAAU,CAAC,MAAI;MACjD,IAAI,CAACqJ,SAAS,GAAGp2B,uDAAM,CAAC,CAAC,CAAC,CAACM,QAAQ,CAACwC,MAAM,CAACtB,CAAC,IAC1C4zB,SAAS,CAAC7vB,GAAG,CAAC/D,CAAC,CAACvB,IAAI,CAAC,KAAKuB,CAAC,CAACpB,IAAI,EAAEC,KAAK,EAAEmN,IAAI,CAAChM,CAAC,IAAE+L,CAAC,CAAClN,KAAK,CAACkF,GAAG,CAAC/D,CAAC,CAAC,CAAC,IAAE,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,CAAC8B,cAAc,CAAC0B,QAAQ,CAAC1E,QAAQ,CAACoF,MAAM,IAAI,CAAC,EACnD,IAAI,CAACrC,MAAM,CAACizB,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;EACvC;EAAC,QAAAj0B,CAAA;qBApBUtC,eAAe,EAAAgD,+DAAA,CAAAL,8CAAA,GAAAK,+DAAA,CAAAmD,mDAAA,GAAAnD,+DAAA,CAAAmD,2DAAA;EAAA;EAAA,QAAA5D,EAAA;UAAfvC,eAAe;IAAA0G,SAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAA0vB,yBAAAxvB,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCxBpBhE,4DAJR,aAA8B,aACiD,YAC/C,YACL,WAOlB;QACCA,uDAAA,iBAIW;QACXA,wDAAA,IAAAyzB,+BAAA,kBAAuB;QAE3BzzB,0DADE,EAAI,EACD;QAELA,wDAAA,IAAA0zB,6BAAA,gBAAoD;QAiBpD1zB,4DAAA,WAAwF;QAA7BA,wDAAA,mBAAA2zB,4CAAA;UAAA,OAAA1vB,GAAA,CAAAgvB,QAAA,IAAAhvB,GAAA,CAAAgvB,QAAA;QAAA,EAA4B;QACrFjzB,uDAAA,iBAAoG;QAK1GA,0DAJI,EAAI,EAED,EAED;QACNA,4DAAA,cAAkF;QAChFA,uDAAA,qBAA+B;QAEnCA,0DADE,EAAM,EACF;QACNA,uDAAA,qBAA+B;;;QAzCrBA,uDAAA,GAA2C;QAA3CA,wDAAA,4BAAAA,6DAAA,IAAAmyB,GAAA,EAA2C;QAKzCnyB,uDAAA,EAAiB;QACjBA,wDADA,SAAAiE,GAAA,CAAAivB,QAAA,CAAiB,oBACE;QAGdlzB,uDAAA,EAAc;QAAdA,wDAAA,SAAAiE,GAAA,CAAAgvB,QAAA,CAAc;QAIajzB,uDAAA,EAAY;QAAZA,wDAAA,YAAAiE,GAAA,CAAAovB,SAAA,CAAY;QAiB9BrzB,uDAAA,EAAsC;QAAtCA,wDAAA,UAAAiE,GAAA,CAAAgvB,QAAA,yBAAsC;QAC/CjzB,uDAAA,EAAyC;QAACA,wDAA1C,SAAAiE,GAAA,CAAAgvB,QAAA,GAAAhvB,GAAA,CAAAmvB,YAAA,GAAAnvB,GAAA,CAAAkvB,UAAA,CAAyC,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCtB;;;;;;;;;ICQdnzB,4DAApC,SAAoC,YAA+F;IAAAA,oDAAA,GAAa;IAAIA,0DAAJ,EAAI,EAAK;;;;;IAA7EA,uDAAA,EAAwB;IAAxBA,wDAAA,CAAAoI,MAAA,CAAAyrB,WAAA,CAAAC,IAAA,EAAwB;IAAC9zB,wDAAA,2BAAA8zB,IAAA,CAAA5mB,EAAA,CAA6B;IAAClN,uDAAA,EAAa;IAAbA,+DAAA,CAAA8zB,IAAA,CAAAriB,OAAA,CAAa;;;ADHtJ,MAAMsiB,MAAM;EAAZ5zB,YAAA;IACE,KAAA6zB,GAAG,GAAY1xB,SAAS;IACxB,KAAA2xB,OAAO,GAAY3xB,SAAS;IAC5B,KAAAqN,UAAU,GAAYrN,SAAS;IAC/B,KAAA4xB,OAAO,GAAY5xB,SAAS;IAC5B;EACF;;AAOM,MAAO6xB,iBAAiB;EAM5Bh0B,YACUG,MAAc,EACd8zB,KAAsB,EACtB9X,KAAuB,EACdlc,WAAwB,EACxBi0B,mBAAyC;IAJlD,KAAA/zB,MAAM,GAANA,MAAM;IACN,KAAA8zB,KAAK,GAALA,KAAK;IACL,KAAA9X,KAAK,GAALA,KAAK;IACI,KAAAlc,WAAW,GAAXA,WAAW;IACX,KAAAi0B,mBAAmB,GAAnBA,mBAAmB;IARtC,KAAAC,YAAY,GAAG,CAAC;EASd;EAEFrzB,QAAQA,CAAA;IACN,IAAI,CAACqb,KAAK,CAACb,EAAE,CAAC3O,gEAAY,CAAC0Q,mBAAmB,CAAC,CAC5Cpc,SAAS,CAAC6O,CAAC,IAAE,IAAI,CAACskB,OAAO,EAAE,CAAC;IAC/B,IAAI,CAACn0B,WAAW,CAACe,KAAK,CAACC,SAAS,CAAEoJ,CAAC,IAAG;MACpC,IAAIA,CAAC,EAAE0C,EAAE,EAAC;QACR,IAAI,CAACqnB,OAAO,EAAE;QACd,IAAI,CAACC,oBAAoB,EAAE;MAC7B;IACF,CAAC,CAAC;IACF,IAAI,CAACJ,KAAK,CAAC5X,OAAO,CAACpb,SAAS,CAACiuB,CAAC,IAAE;MAC9BhjB,MAAM,CAAC4Z,IAAI,CAACoJ,CAAC,CAAC,CAACliB,OAAO,CAACkB,CAAC,IAAG;QACzB,IAAI,CAAComB,MAAM,CAACpmB,CAAC,CAAC,GAACghB,CAAC,CAAChhB,CAAC,CAAC;MACrB,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,IAAI,CAACgmB,mBAAmB,CAAC/S,OAAO,CAAClgB,SAAS,CAAC,MAAI;MAC7C,IAAI,CAACozB,oBAAoB,EAAE;IAC7B,CAAC,CAAC;EACJ;EAEAD,OAAOA,CAAA;IACL,IAAI,CAACE,MAAM,GAAG,IAAIV,MAAM,EAAE;IAC1B,IAAI,CAACK,KAAK,CAACrX,SAAS,CAAC1Q,MAAM,CAAC4Z,IAAI,CAAC,IAAI,CAACwO,MAAM,CAAC,CAAC;EAChD;EAEAD,oBAAoBA,CAAA;IAClB,IAAI,CAACH,mBAAmB,CAACtS,GAAG,EAAE,CAAC3gB,SAAS,CACtCwN,GAAG,IAAE;MACH,IAAI,CAAC8lB,aAAa,GAAG9lB,GAAG,CAAC+lB,MAAM;MAC/B,IAAI,CAACL,YAAY,GAAG1lB,GAAG,CAACgmB,KAAK;MAC7B,IAAI,CAAC5S,aAAa,GAAGpT,GAAG,CAACoT,aAAa;IACxC,CAAC,CACF;EACH;EAEAjT,IAAIA,CAACygB,CAAK;IACR,OAAQA,CAAC,IAAIltB,SAAS,GAAG,GAAG,GAACktB,CAAC,CAACzkB,QAAQ,EAAE;EAC3C;EAEA8pB,MAAMA,CAAA;IACJ,OAAQ,CAAC,IAAI,CAACP,YAAY,GAAI,iBAAiB,GAAI,CAAC,IAAI,CAACI,aAAa,GAAI,4BAA4B,IAAI,CAACJ,YAAY,QAAQ,GAAG,GAAG,IAAI,CAACI,aAAa,uBAAwB,IAAI,CAACA,aAAa,GAAC,CAAC,GAAE,GAAG,GAAC,EAAE,WAAW,IAAI,CAACJ,YAAY,QAAQ;EACjP;EAEAQ,SAASA,CAACtF,CAAM;IACd,OAAQA,CAAC,IAAIltB,SAAS,GAAI,UAAU,GAAG,EAAE;EAC3C;EAEAuxB,WAAWA,CAACkB,CAAkB;IAC1B,OAAQ,CAACA,CAAC,CAACzjB,QAAQ,GAAG,SAAS,GAAC,EAAE;EACtC;EAEAiiB,QAAQA,CAACyB,MAAa;IACpB,IAAI,CAAC10B,MAAM,CAACizB,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,EAAEyB,MAAM,CAAC,CAAC;EAC3C;EAAC,QAAA11B,CAAA;qBAlEU60B,iBAAiB,EAAAn0B,+DAAA,CAAAL,mDAAA,GAAAK,+DAAA,CAAAmD,kDAAA,GAAAnD,+DAAA,CAAAsD,+EAAA,GAAAtD,+DAAA,CAAAmD,8CAAA,GAAAnD,+DAAA,CAAAmD,uDAAA;EAAA;EAAA,QAAA5D,EAAA;UAAjB40B,iBAAiB;IAAAzwB,SAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAmxB,2BAAAjxB,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCpB5BhE,4DADF,aAAgF,mBACqG;QAA1BA,wDAAA,mBAAAk1B,sDAAA;UAAA,OAASjxB,GAAA,CAAAsvB,QAAA,CAAS,KAAK,CAAC;QAAA,EAAC;QAACvzB,0DAAA,EAAY;QAC/LA,4DAAA,mBAAwM;QAA9BA,wDAAA,mBAAAm1B,sDAAA;UAAA,OAASlxB,GAAA,CAAAsvB,QAAA,CAAS,SAAS,CAAC;QAAA,EAAC;QAACvzB,0DAAA,EAAY;QACpNA,4DAAA,mBAAoN;QAAjCA,wDAAA,mBAAAo1B,sDAAA;UAAA,OAASnxB,GAAA,CAAAsvB,QAAA,CAAS,YAAY,CAAC;QAAA,EAAC;QAACvzB,0DAAA,EAAY;QAChOA,4DAAA,mBAAiM;QAA9BA,wDAAA,mBAAAq1B,sDAAA;UAAA,OAASpxB,GAAA,CAAAsvB,QAAA,CAAS,SAAS,CAAC;QAAA,EAAC;QAACvzB,0DAAA,EAAY;QAE7MA,4DAAA,cAAwB;QACxBA,uDAAA,mBAAmP;QAE/OA,4DADF,YAAiE,YACW;QAAAA,oDAAA,4CAAqC;QAAAA,0DAAA,EAAK;QACpHA,4DAAA,UAAI;QAAAA,uDAAA,aAA6B;QAAAA,0DAAA,EAAK;QACtCA,wDAAA,KAAAs1B,gCAAA,iBAAoC;QAI1Ct1B,0DAHI,EAAK,EAEA,EACH;;;QAdOA,uDAAA,EAA0B;QAAgFA,wDAA1G,2BAA0B,SAAAiE,GAAA,CAAA8K,IAAA,CAAA9K,GAAA,CAAAwwB,MAAA,CAAAT,GAAA,EAA0B,mBAAmB,cAAA/vB,GAAA,CAAA6wB,SAAA,CAAA7wB,GAAA,CAAAwwB,MAAA,CAAAT,GAAA,EAAsE;QAC7Ih0B,uDAAA,EAA0B;QAA6FA,wDAAvH,2BAA0B,SAAAiE,GAAA,CAAA8K,IAAA,CAAA9K,GAAA,CAAAwwB,MAAA,CAAAR,OAAA,EAA8B,wBAAwB,cAAAhwB,GAAA,CAAA6wB,SAAA,CAAA7wB,GAAA,CAAAwwB,MAAA,CAAAR,OAAA,EAA8E;QAC9Jj0B,uDAAA,EAA0B;QAAmGA,wDAA7H,2BAA0B,SAAAiE,GAAA,CAAA8K,IAAA,CAAA9K,GAAA,CAAAwwB,MAAA,CAAA9kB,UAAA,EAAiC,wBAAwB,cAAA1L,GAAA,CAAA6wB,SAAA,CAAA7wB,GAAA,CAAAwwB,MAAA,CAAA9kB,UAAA,EAAoF;QACvK3P,uDAAA,EAA0B;QAAsFA,wDAAhH,2BAA0B,SAAAiE,GAAA,CAAA8K,IAAA,CAAA9K,GAAA,CAAAwwB,MAAA,CAAAP,OAAA,EAA8B,gBAAgB,cAAAjwB,GAAA,CAAA6wB,SAAA,CAAA7wB,GAAA,CAAAwwB,MAAA,CAAAP,OAAA,EAA+E;QAGvJl0B,uDAAA,GAAoB;QAAqGA,wDAAzH,qBAAoB,SAAAiE,GAAA,CAAA8K,IAAA,CAAA9K,GAAA,CAAAywB,aAAA,EAA6B,UAAAzwB,GAAA,CAAA4wB,MAAA,GAAmB,cAAA5wB,GAAA,CAAA6wB,SAAA,CAAA7wB,GAAA,CAAA+d,aAAA,EAAoD,2BAA2B;QAEzGhiB,uDAAA,GAAuB;QAAvBA,wDAAA,wBAAuB;QAEtDA,uDAAA,GAAgB;QAAhBA,wDAAA,YAAAiE,GAAA,CAAA+d,aAAA,CAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVO;AACU;AAChB;AACO;AACD;;AAqBzC,MAAO7c,cAAc;EAAA,QAAA7F,CAAA;qBAAd6F,cAAc;EAAA;EAAA,QAAA5F,EAAA;UAAd4F;EAAc;EAAA,QAAA3F,EAAA;eALd,CACT+L,kDAAe,EACfS,uCAAI,CACL;IAAAtM,OAAA,GAVC2J,yDAAY,EACZhE,iDAAY,EACZtK,yDAAY;EAAA;;;sHAUHoK,cAAc;IAAAkB,YAAA,GAfvB8tB,kEAAiB;IAAAz0B,OAAA,GAGjB2J,yDAAY,EACZhE,iDAAY,EACZtK,yDAAY;IAAA6E,OAAA,GAGZu0B,kEAAiB;EAAA;AAAA;;;;;;;;;;;;;;;;;;AClBkC;AACC;;;AAExD,MAAMl3B,MAAM,GAAW,CACrB;EAAEC,IAAI,EAAE,EAAE;EAAEC,SAAS,EAAEo4B,iEAAgBA;AAAA,CAAE,EACzC;EAAEr4B,IAAI,EAAE,UAAU;EAAEC,SAAS,EAAEo4B,iEAAgBA;AAAA,CAAE,CAClD;AAMK,MAAOC,oBAAoB;EAAA,QAAAl2B,CAAA;qBAApBk2B,oBAAoB;EAAA;EAAA,QAAAj2B,EAAA;UAApBi2B;EAAoB;EAAA,QAAAh2B,EAAA;cAHrBzE,yDAAY,CAAC06B,QAAQ,CAACx4B,MAAM,CAAC,EAC7BlC,yDAAY;EAAA;;;sHAEXy6B,oBAAoB;IAAA91B,OAAA,GAAAC,yDAAA;IAAAC,OAAA,GAFrB7E,yDAAY;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJwB;AACtB;AACgE;;;;;;;;;;;;;;;;;;;ICLlFiF,uDAAA,uBAAgE;;;;IAAnCA,wDAAA,UAAAoI,MAAA,CAAAstB,SAAA,CAAmB;;;;;;IAIpD11B,4DAAA,YAAwF;IAAzBA,wDAAA,mBAAA21B,iDAAA;MAAA31B,2DAAA,CAAA8I,GAAA;MAAA,MAAAV,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAAwtB,YAAA,EAAc;IAAA,EAAC;IAAC51B,oDAAA,+DAAwD;IAAAA,0DAAA,EAAI;;;;;IACpJA,uDAAA,aAAoC;;;;;IACpCA,uDAAA,aAAsC;;;;;;IAQhCA,4DADF,SAA4B,YACsE;IAA1CA,wDAAA,mBAAA61B,mDAAAptB,MAAA;MAAA,MAAAqtB,IAAA,GAAA91B,2DAAA,CAAA+1B,GAAA,EAAAC,SAAA;MAAA,MAAA5tB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA6tB,WAAA,CAAY;QAAAxtB,MAAA,EAAAA,MAAA;QAAA/J,GAAA,EAAAo3B,IAAA,CAAAp3B;MAAA,CAAkB,CAAC;IAAA,EAAC;IAACsB,0DAAA,EAAI;IAAAA,4DAAA,YAC9B;IAAAA,oDAAA,GAAiB;IACzFA,0DADyF,EAAI,EACxF;;;;;IADDA,uDAAA,GAAgC;IAACA,wDAAjC,eAAAoI,MAAA,CAAA8tB,UAAA,CAAAJ,IAAA,CAAAp3B,GAAA,EAAgC,gBAAA0J,MAAA,CAAA+tB,WAAA,CAAAL,IAAA,CAAAp3B,GAAA,EAAmC;IAACsB,uDAAA,EAAiB;IAAjBA,+DAAA,CAAA81B,IAAA,CAAAhmB,WAAA,CAAiB;;;;;;IAQvF9P,4DAAA,YAAgJ;IAArEA,wDAAA,mBAAAo2B,wDAAA;MAAAp2B,2DAAA,CAAAq2B,GAAA;MAAA,MAAAjuB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAAkuB,WAAA,EAAa;IAAA,EAAC;IAA8Ct2B,0DAAA,EAAI;;;;;;IAFxJA,4DADF,cAAwC,SAClC;IAAAA,oDAAA,cACF;IAAAA,4DAAA,UAAK;IACHA,wDAAA,IAAAu2B,oCAAA,gBAAgJ;IAEpJv2B,0DADE,EAAM,EACH;IACLA,4DAAA,qBAMC;IAFCA,wDADA,4BAAAw2B,sEAAA/tB,MAAA;MAAAzI,2DAAA,CAAAy2B,GAAA;MAAA,MAAAruB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAkBoI,MAAA,CAAAsuB,YAAA,CAAAjuB,MAAA,CAAoB;IAAA,EAAC,yBAAAkuB,mEAAAluB,MAAA;MAAAzI,2DAAA,CAAAy2B,GAAA;MAAA,MAAAruB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CACxBoI,MAAA,CAAAwuB,mBAAA,CAAAnuB,MAAA,CAA2B;IAAA,EAAC;IAG/CzI,0DADG,EAAa,EACV;;;;IAVoGA,uDAAA,GAA0C;IAA1CA,wDAAA,SAAAoI,MAAA,CAAAyuB,QAAA,GAAAzuB,MAAA,CAAA0uB,SAAA,CAAAn0B,MAAA,KAAAyF,MAAA,CAAA0P,MAAA,CAA0C;IAIhJ9X,uDAAA,EAAoB;IAIpBA,wDAJA,WAAAoI,MAAA,CAAA0uB,SAAA,CAAoB,gBAAA1uB,MAAA,CAAA0P,MAAA,CACE,+BAGQ;;;;;;IAW5B9X,4DAAA,uBAWC;IADCA,wDANA,0BAAA+2B,qFAAAtuB,MAAA;MAAAzI,2DAAA,CAAAg3B,GAAA;MAAA,MAAA5uB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAgBoI,MAAA,CAAA6uB,YAAA,CAAAxuB,MAAA,EAAqB,IAAI,CAAC;IAAA,EAAC,gCAAAyuB,2FAAAzuB,MAAA;MAAAzI,2DAAA,CAAAg3B,GAAA;MAAA,MAAA5uB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CACrBoI,MAAA,CAAA+uB,kBAAA,CAAA1uB,MAAA,CAA0B;IAAA,EAAC,yBAAA2uB,oFAAA3uB,MAAA;MAAAzI,2DAAA,CAAAg3B,GAAA;MAAA,MAAA5uB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAGlCoI,MAAA,CAAAwuB,mBAAA,CAAAnuB,MAAA,CAA2B;IAAA,EAAC,4BAAA4uB,uFAAA5uB,MAAA;MAAAzI,2DAAA,CAAAg3B,GAAA;MAAA,MAAA5uB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAEzBoI,MAAA,CAAAsuB,YAAA,CAAAjuB,MAAA,CAAoB;IAAA,EAAC;IACxCzI,0DAAA,EAAe;;;;;IAFdA,wDARA,YAAAs3B,KAAA,CAAAC,KAAA,CAAyB,iBACT,sBACK,oBAGF,qBAAAnvB,MAAA,CAAA0P,MAAA,CACQ,qCAES;;;;;;IAf1C9X,4DADF,cAAuC,SACjC;IAAAA,oDAAA,aACF;IACEA,4DADF,UAAK,YACuG;IAA7BA,wDAAA,mBAAAw3B,oDAAA;MAAAx3B,2DAAA,CAAAy3B,GAAA;MAAA,MAAArvB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAAsvB,gBAAA,EAAkB;IAAA,EAAC;IAE7G13B,0DAF8G,EAAI,EAC1G,EACH;IACLA,4DAAA,cAAqE;IACjEA,wDAAA,IAAA23B,+CAAA,2BAWC;;IAEP33B,0DADE,EAAM,EACF;;;;IAb4BA,uDAAA,GAAsB;IAAtBA,wDAAA,YAAAA,yDAAA,OAAAoI,MAAA,CAAAwvB,QAAA,EAAsB;;;;;IAoBxD53B,oDAAA,aACF;;;;;IAEEA,oDAAA,eACF;;;;;;IAKEA,4DADF,aAA8C,gBACvB;IAAAA,oDAAA,oBACnB;IAAAA,4DAAA,gBAAuC;IAApBA,8DAAA,2BAAA63B,wEAAApvB,MAAA;MAAAzI,2DAAA,CAAA83B,IAAA;MAAA,MAAA1vB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAA2vB,KAAA,EAAAtvB,MAAA,MAAAL,MAAA,CAAA2vB,KAAA,GAAAtvB,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAmB;IAE1CzI,0DAFI,EAAuC,EACjC,EACL;;;;IAFkBA,uDAAA,GAAmB;IAAnBA,8DAAA,YAAAoI,MAAA,CAAA2vB,KAAA,CAAmB;;;;;;IAM1C/3B,oDAAA,GACE;IAAAA,4DAAA,4BAAmH;IAA1CA,wDAAA,wBAAAg4B,iFAAAvvB,MAAA;MAAAzI,2DAAA,CAAAi4B,IAAA;MAAA,MAAA7vB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAAoI,MAAA,CAAA8vB,UAAA,CAAApgB,MAAA,GAAArP,MAAA;IAAA,EAAyC;IAACzI,0DAAA,EAAoB;;;;IADzIA,gEAAA,MAAAoI,MAAA,CAAA8vB,UAAA,CAAAnpB,IAAA,MACE;IAAmB/O,uDAAA,EAA0B;IAACA,wDAA3B,YAAAoI,MAAA,CAAA8vB,UAAA,CAAA1T,GAAA,CAA0B,eAAApc,MAAA,CAAAyuB,QAAA,MAA2B;;;;;;IAOpE72B,4DADF,SAA+C,uBAQ5C;IAFCA,wDADA,0BAAAm4B,mFAAA1vB,MAAA;MAAAzI,2DAAA,CAAAo4B,IAAA;MAAA,MAAAhwB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAgBoI,MAAA,CAAA6uB,YAAA,CAAAxuB,MAAA,EAAqB,KAAK,CAAC;IAAA,EAAC,gCAAA4vB,yFAAA5vB,MAAA;MAAAzI,2DAAA,CAAAo4B,IAAA;MAAA,MAAAhwB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CACtBoI,MAAA,CAAA+uB,kBAAA,CAAA1uB,MAAA,CAA0B;IAAA,EAAC;IAGrDzI,0DADG,EAAe,EACb;;;;IAPDA,uDAAA,EAAmB;IAKnBA,wDALA,YAAAs4B,KAAA,CAAAf,KAAA,CAAmB,gBACJ,uBACO,qBAGF;;;;;IAR1Bv3B,4DADF,cAA4B,aAC2D;IACnFA,wDAAA,IAAAu4B,6CAAA,iBAA+C;;IAWnDv4B,0DADE,EAAK,EACD;;;;IAXgBA,uDAAA,GAA2B;IAA3BA,wDAAA,YAAAA,yDAAA,OAAAoI,MAAA,CAAAowB,OAAA,CAAAvmB,KAAA,EAA2B;;;ADzE7C,MAAOsjB,gBAAgB;EAS3Bp1B,YACUG,MAAc,EACdC,cAA8B,EAC9Bk4B,kBAAsC,EACtCC,KAAmB,EACnBC,MAAwB,EACfv4B,WAAwB,EACjCw4B,OAAsB,EACtBC,MAAkB;IAPlB,KAAAv4B,MAAM,GAANA,MAAM;IACN,KAAAC,cAAc,GAAdA,cAAc;IACd,KAAAk4B,kBAAkB,GAAlBA,kBAAkB;IAClB,KAAAC,KAAK,GAALA,KAAK;IACL,KAAAC,MAAM,GAANA,MAAM;IACG,KAAAv4B,WAAW,GAAXA,WAAW;IACpB,KAAAw4B,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;IAfhB,KAAAC,UAAU,GAAG,KAAK;IAClB,KAAAjC,QAAQ,GAAG,CAAC;IACZ,KAAAkC,QAAQ,GAAY,EAAE;IACtB,KAAAjC,SAAS,GAAa,EAAE;IAExB,KAAAkC,SAAS,GAAG,KAAK;IACjB,KAAApB,QAAQ,GAAa,EAAE;IAavB,KAAAqB,gBAAgB,GAAG,KAAK;IACxB,KAAAC,QAAQ,GAAG,KAAK;IAChB,KAAAC,UAAU,GAAG,KAAK;IA2FlB,KAAApB,KAAK,GAAC,EAAE;IAwCR,KAAAG,UAAU,GAKN,EAAE;EA7IF;EAMJj3B,QAAQA,CAAA;IACN,IAAI,CAACm4B,KAAK,GAAG,IAAI,CAACT,MAAM,CAAC/Z,SAAS;IAClC,IAAI,CAACxe,WAAW,CAACe,KAAK,CAACC,SAAS,CAACC,IAAI,IAAG;MACtC,IAAI,CAAC63B,QAAQ,GAAG73B,IAAI,CAACiM,OAAO,EAAE;MAC9B,IAAI,CAAC2rB,gBAAgB,GAAG53B,IAAI,CAACmM,eAAe,EAAE;MAC9C,IAAI,CAAC2rB,UAAU,GAAG,IAAI,CAACD,QAAQ,IAAI,IAAI,CAACD,gBAAgB;MACxD,IAAI,CAACpC,QAAQ,GAAG,CAAC;IACnB,CAAC,CAAC;IAEF,IAAI,CAAC+B,OAAO,CAAC9V,SAAS,CAAC1hB,SAAS,CAACmjB,GAAG,IAAE;MACpC,IAAI,CAACsS,QAAQ,GAAGtS,GAAG;MACnB,IAAI,CAACuU,UAAU,GAAGvU,GAAG,GAAG,CAAC;IAC3B,CAAC,CAAC;IACF,IAAI,CAACqU,OAAO,CAAC5V,SAAS,CAAC5hB,SAAS,CAACojB,GAAG,IAAG;MACrC,IAAI,CAACuU,QAAQ,GAAGvU,GAAG;IACrB,CAAC,CAAC;IAEF,IAAI,CAACmU,MAAM,CAACra,QAAQ,CAACld,SAAS,CAACi4B,OAAO,IAAE,IAAI,CAACC,YAAY,CAACD,OAAO,CAAC,CAAC;IAEnE,IAAI,CAAC94B,cAAc,CAACqc,MAAM,CAACxb,SAAS,CAACgR,CAAC,IAAI4X,UAAU,CAAC,MAAK;MACxD,IAAIzoB,OAAO,GAAG6Q,CAAC,CAAC,SAAS,CAAC;MAC1B,IAAI,CAAC7Q,OAAO,EAAE;QACZyoB,UAAU,CAAC,MAAK;UACd,IAAI,CAACoP,KAAK,GAAG,IAAI,CAACT,MAAM,CAAC/Z,SAAS;QACpC,CAAC,CAAC;QACF,IAAI,CAAC+Z,MAAM,CAAC/Y,UAAU,EAAE,CAACxe,SAAS,CAChCojB,GAAG,IAAE,IAAI,CAACsS,SAAS,GAAGtS,GAAG,EACzBvU,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE,CACrC;QACD,IAAI,CAACu3B,MAAM,CAAC7Z,aAAa,EAAE;QAC3B;MACF,CAAC,MAAM;QACL,IAAI,CAAC8Z,OAAO,CAAC3U,MAAM,CAAC1iB,OAAO,CAAC,CAACH,SAAS,CACpCgR,CAAC,IAAG;UACF,IAAI,CAAC0F,MAAM,GAAG1F,CAAC;UACf,IAAI,CAACumB,MAAM,CAACzZ,SAAS,CAAC9M,CAAC,CAAClF,EAAE,CAAC,CAAC9L,SAAS,CACnCoiB,CAAC,IAAE,IAAI,CAAC4V,KAAK,GAAG5V,CAAC,EACjBvT,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,CAAC,MAAM,IAAI,CAACd,MAAM,CAACizB,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAC9E;UACD,IAAI,CAACoF,MAAM,CAAC/Y,UAAU,CAACxN,CAAC,CAAClF,EAAE,CAAC,CAAC9L,SAAS,CACpCojB,GAAG,IAAI,IAAI,CAACsS,SAAS,GAAGtS,GAAG,EAC3BvU,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,CAAC,MAAM,IAAI,CAACd,MAAM,CAACizB,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAC9E;UACD,IAAI,CAACoF,MAAM,CAAC5Y,SAAS,CAAC3N,CAAC,CAAClF,EAAE,CAAC,CAAC9L,SAAS,CAACi4B,OAAO,IAAI,IAAI,CAACC,YAAY,CAACD,OAAO,CAAC,CAAC;QAC9E,CAAC,EACDppB,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,CAAC,MAAM,IAAI,CAACd,MAAM,CAACizB,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAC9E;MACH;IACF,CAAC,CAAC,CAAC;EAEL;EAEA,IAAImC,SAASA,CAAA;IACX,OAAO,IAAI,CAAC5d,MAAM,GAAG,gBAAgB,IAAI,CAACA,MAAM,CAAC5E,IAAI,EAAE,GAAG,cAAc;EAC1E;EAEAgjB,UAAUA,CAACx3B,GAAU;IACnB,IAAIiX,CAAC,GAAG,IAAI4S,GAAG,CAAC3C,MAAM,CAAC4C,QAAQ,CAACC,MAAM,GAAC/pB,GAAG,CAAC;IAC3C,OAAOiX,CAAC,CAAC+S,QAAQ;EACnB;EAEAyN,WAAWA,CAACz3B,GAAU;IACpB,IAAIiX,CAAC,GAAG,IAAI4S,GAAG,CAAC3C,MAAM,CAAC4C,QAAQ,CAACC,MAAM,GAAC/pB,GAAG,CAAC;IAC3C,IAAI2wB,CAAC,GAAU,EAAE;IACjB,KAAK,IAAIpf,CAAC,IAAI0F,CAAC,CAAC4jB,YAAY,CAACxT,OAAO,EAAE,EAAE;MACtC,IAAIsJ,CAAC,CAACjQ,cAAc,CAACnP,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;QACzB,IAAI,CAACqf,KAAK,CAACkB,OAAO,CAACnB,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzBof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAACof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrBof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC+B,IAAI,CAAC/B,CAAC,CAAC,CAAC,CAAC,CAAC;MACpB,CAAC,MACCof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,GAACA,CAAC,CAAC,CAAC,CAAC;IAChB;IACA,OAAOof,CAAC;EACV;EAGA4G,WAAWA,CAACl0B,KAA0C;IACpD,IAAI,IAAI,CAAC+V,MAAM,EACb;IACF,IAAI,CAAC2gB,kBAAkB,CAACe,IAAI,CAAC5d,IAAI,CAAC;MAChC7Z,KAAK,EAAEA,KAAK,CAAC0G,MAAM;MACnBgxB,WAAW,EAAE,IAAI,CAACC,OAAO;MACzBC,IAAI,EAAE53B,KAAK,CAACrD,GAAG;MACfk7B,aAAa,EAAE73B,KAAK,CAAC0G,MAAM,CAACoxB;KAC7B,CAAC;IACF93B,KAAK,CAAC0G,MAAM,CAACqxB,cAAc,EAAE;IAC7B/3B,KAAK,CAAC0G,MAAM,CAACsxB,eAAe,EAAE;EAChC;EAIAC,OAAOA,CAACt7B,GAAU;IAChB,IAAI,IAAI,CAACoZ,MAAM,EACb;IACF,IAAInC,CAAC,GAAG,IAAI,CAACgjB,MAAM,CAACtZ,OAAO,CAAC3gB,GAAG,CAAC;IAChC,IAAI,CAACq5B,KAAK,GAAGpiB,CAAC,CAAC7F,WAAW;IAC1B,IAAI,CAAC4oB,KAAK,CAACc,IAAI,CAAC;MACd37B,KAAK,EAAE,eAAe;MACtBo8B,SAAS,EAAE,QAAQ;MACnBn2B,QAAQ,EAAE,IAAI,CAACo2B;KAChB,CAAC,CAAC94B,SAAS,CACVwN,GAAG,IAAG;MACJ,IAAI,CAACA,GAAG,EACN;MACF+G,CAAC,CAAC7F,WAAW,GAAG,IAAI,CAACioB,KAAK;MAC1B,IAAI,CAACY,MAAM,CAACnZ,UAAU,CAAC7J,CAAC,CAAC,CAACvU,SAAS,CACjCwN,GAAG,IAAG;QACJ,IAAI,CAACwqB,KAAK,GAAG,IAAI,CAACT,MAAM,CAAC/Z,SAAS;MACpC,CAAC,CACF;IACH,CAAC,CAAC;EACN;EAEAub,SAASA,CAACz7B,GAAU;IAClB,IAAI,IAAI,CAACoZ,MAAM,EACb;IACF,IAAInC,CAAC,GAAG,IAAI,CAACgjB,MAAM,CAACtZ,OAAO,CAAC3gB,GAAG,CAAC;IAChC,IAAI,CAACg6B,KAAK,CAAC0B,GAAG,CAAC,iBAAiB,EAAE,WAAWzkB,CAAC,CAAC7F,WAAW,mBAAmB,CAAC,CAC7E1O,SAAS,CACRwN,GAAG,IAAG;MACJ,IAAI,CAACA,GAAG,EACN;MACF,IAAI,CAAC+pB,MAAM,CAAClZ,OAAO,CAAC9J,CAAC,CAAC,CAACvU,SAAS,CAC9BwN,GAAG,IAAG;QACJ,IAAI,CAACwqB,KAAK,GAAG,IAAI,CAACT,MAAM,CAAC/Z,SAAS;MACpC,CAAC,CACF;IACH,CAAC,CAAC;EACN;EAUAgX,YAAYA,CAAA;IACV,IAAI,CAACiD,MAAM,CAACjQ,OAAO,EAAE,CACpB9mB,IAAI,CACHqf,yDAAS,CAACkZ,IAAI,IAAE;MACd,IAAIA,IAAI,CAAC13B,MAAM,IAAE,CAAC,EAChB,OAAOue,wCAAE,CAAC,CAAC,CAAC;MACd,IAAI,CAACgX,UAAU,CAAC1T,GAAG,GAAG6V,IAAI;MAC1B,IAAI,CAACnC,UAAU,CAAC32B,OAAO,GAAG84B,IAAI,CAAC,CAAC,CAAC,CAAC94B,OAAO;MACzC,IAAI,CAAC22B,UAAU,CAACnpB,IAAI,GAAG,kDAAkD;MACzE,OAAO,IAAI,CAAC2pB,KAAK,CAACc,IAAI,CAAC;QACrB37B,KAAK,EAAE,6BAA6B;QACpCo8B,SAAS,EAAE,QAAQ;QACnBn2B,QAAQ,EAAE,IAAI,CAACw2B;OAChB,CAAC;IACJ,CAAC,CAAC,CACH,CAACl5B,SAAS,CACTwN,GAAG,IAAG;MACJ,IAAI,CAACA,GAAG,EACN;MACF,IAAI,CAACtO,MAAM,CAACizB,QAAQ,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC2E,UAAU,CAACpgB,MAAM,CAACvW,OAAO,CAAC,CAAC;IACvE,CAAC,EACD0O,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE,CACrC;EACH;EAGAk1B,WAAWA,CAAA;IACT,IAAI,IAAI,CAACxe,MAAM,EACb;IACF,IAAI,CAACogB,UAAU,CAACnpB,IAAI,GAAG,+BAA+B;IACtD,IAAK,IAAI,CAACgqB,QAAQ,CAACp2B,MAAM,EAAG;MAC1B,IAAI,CAACu1B,UAAU,CAAC1T,GAAG,GAAG,IAAI,CAACuU,QAAQ,CAACh5B,MAAM,CAACqS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC0kB,SAAS,CAACyD,SAAS,CAACC,EAAE,IAAIA,EAAE,CAACttB,EAAE,IAAIkF,CAAC,CAAClF,EAAE,CAAC,CAAC;MAClG,IAAI,CAACgrB,UAAU,CAAC32B,OAAO,GAAG,IAAI,CAAC22B,UAAU,CAAC1T,GAAG,CAAC,CAAC,CAAC,CAACjjB,OAAO;IAC1D,CAAC,MACC,IAAI,CAAC22B,UAAU,CAAC1T,GAAG,GAAG,EAAE;IAC1B,IAAI,CAACkU,KAAK,CAACc,IAAI,CAAC;MACd37B,KAAK,EAAE,cAAc;MACrBo8B,SAAS,EAAE,QAAQ;MACnBn2B,QAAQ,EAAE,IAAI,CAACw2B;KAChB,CAAC,CAACl5B,SAAS,CACVwN,GAAG,IAAG;MACJ,IAAI,CAACA,GAAG,EACN;MACF,IAAI,CAAC+pB,MAAM,CAAC9Y,SAAS,CAAC,IAAI,CAACqY,UAAU,CAACpgB,MAAM,CAAC5K,EAAE,CAAC,CAAC9L,SAAS,CACxD,MAAI;QACF,IAAI,CAACu3B,MAAM,CAAC/Y,UAAU,EAAE,CAACxe,SAAS,CAChCojB,GAAG,IAAI,IAAI,CAACsS,SAAS,GAAGtS,GAAG,EAC3BvU,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE,CACrC;MACH,CAAC,EACD6O,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE,CACrC;IACH,CAAC,EACD6O,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE,CACrC;EACH;EAEAs1B,YAAYA,CAACtkB,CAAQ;IACnB,IAAI,IAAI,CAAC0F,MAAM,EACb;IACF,IAAI,CAAC4gB,KAAK,CAAC0B,GAAG,CAAC,uBAAuB,EAAE,UAAUhoB,CAAC,CAACc,IAAI,uBAAuB,CAAC,CAC7EpR,IAAI,CACHqf,yDAAS,CAACvS,GAAG,IAAG;MACd,OAAOA,GAAG,GACR,IAAI,CAAC+pB,MAAM,CAAC7Y,YAAY,CAAC1N,CAAC,CAAClF,EAAE,CAAC,GAC5BgU,wCAAE,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CACH,CACA9f,SAAS,CACRwN,GAAG,IAAG;MACJ,IAAIA,GAAG,KAAK,CAAC,EACX,IAAI,CAAC+pB,MAAM,CAAC/Y,UAAU,EAAE,CAACxe,SAAS,CAChCojB,GAAG,IAAG;QACJ,IAAI,CAACsS,SAAS,GAAGtS,GAAG;QACpB,IAAI,CAACoT,QAAQ,CAACzqB,OAAO,CAAC3C,CAAC,IAAEgI,mEAAY,CAAChI,CAAC,EAACA,CAAC,IAAEA,CAAC,CAACiwB,MAAM,IAAEjwB,CAAC,CAACiwB,MAAM,CAACttB,OAAO,CAAC9K,CAAC,IAAE;UAAC,IAAGA,CAAC,CAACd,OAAO,IAAE6Q,CAAC,CAAC7Q,OAAO,EAACc,CAAC,CAAC2R,QAAQ,GAAC,KAAK;QAAA,CAAC,CAAC,CAAC,CAAC;MACxH,CAAC,EACD/D,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE,CACrC;IACL,CAAC,EACD6O,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE,CACrC;EACL;EAEAk4B,YAAYA,CAACD,OAAe;IAC1B,IAAI,CAACb,OAAO,GAAGa,OAAO;IACtB,IAAI,CAACL,SAAS,GAAGK,OAAO,IAAIA,OAAO,CAACpnB,KAAK,IAAI5F,MAAM,CAAC4Z,IAAI,CAACoT,OAAO,CAACpnB,KAAK,CAAC,CAACtP,MAAM,GAAG,CAAC;IAClF,IAAI,CAACi1B,QAAQ,GAAI,CAACyB,OAAO,EAAEpnB,KAAK,GAAI,EAAE,GACpC5F,MAAM,CAAC8F,MAAM,CAACknB,OAAO,CAACpnB,KAAK,CAAC,CAACzB,MAAM,CACjC,CAAC4B,CAAY,EAAEhG,CAAU,KAAI;MAC3B,OAAOgG,CAAC,CAACF,MAAM,CAACN,kEAAW,CAACxF,CAAC,EAAE5B,CAAC,IAAIA,CAAC,CAACwJ,QAAQ,CAAC,CAAC;IAClD,CAAC,EACD,EAAE,CACH;IACH,IAAI,CAAC4jB,QAAQ,CAAC5Y,IAAI,CAAC,CAAC3c,CAAC,EAAE4c,CAAC,KAAK5c,CAAC,CAACiiB,WAAW,CAAC3M,aAAa,CAACsH,CAAC,CAACqF,WAAW,CAAC,CAAC;EAC1E;EAGAoT,gBAAgBA,CAAA;IACd,IAAI,IAAI,CAAC5f,MAAM,EACb;IACF,IAAI8J,KAAK,GAAGvP,kEAAW,CAAC,IAAI,CAACmmB,OAAO,EAAE,CAACpmB,CAAW,EAAEhG,CAAC,KAAI;MAAG,IAAIA,CAAC,CAAC4H,QAAQ,EAAE5B,CAAC,CAACJ,IAAI,CAAC5F,CAAC,CAACkY,WAAW,CAAC;MAAE,OAAOlS,CAAC;IAAE,CAAC,EAAE,EAAE,CAAC,CAChH4M,IAAI,CAAC,CAAC3c,CAAC,EAAE4c,CAAC,KAAK5c,CAAC,CAACsV,aAAa,CAACsH,CAAC,CAAC,CAAC;IACrC,IAAI,CAACyZ,KAAK,CAACc,IAAI,CAAC;MACd37B,KAAK,EAAE,uBAAuB;MAC9Bo8B,SAAS,EAAE,QAAQ;MACnBn2B,QAAQ,EAAE,IAAI,CAAC42B;KAChB,CAAC,CACDt5B,SAAS,CACRwN,GAAG,IAAG;MACJ,IAAI,CAACA,GAAG,EAAE;QACR,IAAIgS,GAAG,GAAG,IAAI5f,GAAG,CAAS4gB,KAAK,CAAC;QAChCpP,mEAAY,CAAC,IAAI,CAACgmB,OAAO,EAAChuB,CAAC,IAAEA,CAAC,CAACwJ,QAAQ,GAAG4M,GAAG,CAACpe,GAAG,CAACgI,CAAC,CAAC8Z,WAAW,CAAC,CAAC;MACnE;MACA,IAAIsN,GAAG,GAAGvf,kEAAW,CAAC,IAAI,CAACmmB,OAAO,EAAC,CAACpmB,CAAU,EAAChG,CAAC,KAAG;QAAC,IAAIA,CAAC,CAAC4H,QAAQ,EAAE5B,CAAC,CAACJ,IAAI,CAAC5F,CAAC,CAACkY,WAAW,CAAC;QAAC,OAAOlS,CAAC;MAAC,CAAC,EAAC,EAAE,CAAC,CACrG4M,IAAI,CAAC,CAAC3c,CAAC,EAAE4c,CAAC,KAAK5c,CAAC,CAACsV,aAAa,CAACsH,CAAC,CAAC,CAAC;MACrC,IAAI2S,GAAG,CAACjvB,MAAM,IAAIif,KAAK,CAACjf,MAAM,IAAIivB,GAAG,CAACd,KAAK,CAAC,CAACrJ,CAAC,EAAC+H,CAAC,KAAG/H,CAAC,IAAE7F,KAAK,CAAC4N,CAAC,CAAC,CAAC,EAC7D;MACF,IAAI,CAACmJ,MAAM,CAAC3Y,cAAc,CAAC4R,GAAG,CAAC,CAACxwB,SAAS,CACvC,MAAK;QACH,IAAI,CAACu3B,MAAM,CAAC7Z,aAAa,EAAE;MAC7B,CAAC,EACD7O,CAAC,IAAG;QACF,IAAI2Q,GAAG,GAAG,IAAI5f,GAAG,CAAS4gB,KAAK,CAAC;QAChCpP,mEAAY,CAAC,IAAI,CAACgmB,OAAO,EAAEhuB,CAAC,IAAIA,CAAC,CAACwJ,QAAQ,GAAG4M,GAAG,CAACpe,GAAG,CAACgI,CAAC,CAAC8Z,WAAW,CAAC,CAAC;QACpE,IAAI,CAACoU,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE;MACjC,CAAC,CACF;IACH,CAAC,CACF;EACH;EAEA+1B,kBAAkBA,CAAC3sB,CAAS;IAC1B,IAAI,CAACA,CAAC,CAACyH,KAAK,EACV;IACF,IAAIxB,CAAC,GAAGjG,CAAC,CAACwJ,QAAQ;IAClBxB,mEAAY,CAAChI,CAAC,EAACA,CAAC,IAAEA,CAAC,CAACwJ,QAAQ,GAACvD,CAAC,CAAC;EACjC;EAEAwmB,YAAYA,CAACzsB,CAAS,EAAEmwB,OAAe;IACrC,IAAInwB,CAAC,CAACyoB,QAAQ,IAAI0H,OAAO,IAAInwB,CAAC,CAACiwB,MAAM,KAAGn4B,SAAS,EAAE;MACjD,IAAI,CAACs2B,OAAO,CAACvU,SAAS,CAAC7Z,CAAC,CAAC8Z,WAAW,CAAC,CAACljB,SAAS,CAC7CojB,GAAG,IAAG;QACJha,CAAC,CAACiwB,MAAM,GAACjW,GAAG;QACZA,GAAG,CAACrX,OAAO,CAACiF,CAAC,IAAEA,CAAC,CAAC4B,QAAQ,GAAG,IAAI,CAAC8iB,SAAS,CAACrsB,IAAI,CAAC+Y,CAAC,IAAEA,CAAC,CAACjiB,OAAO,IAAI6Q,CAAC,CAAC7Q,OAAO,CAAC,CAAC;MAC7E,CAAC,EACD0O,CAAC,IAAG;QACFzF,CAAC,CAACiwB,MAAM,GAAG,EAAE;QACb,IAAI,CAAC/B,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE;MACjC,CAAC,CACF;IACH;EACF;EAEAw1B,mBAAmBA,CAACxkB,CAAQ;IAC1B,IAAI,IAAI,CAAC0F,MAAM,EACb;IACF,IAAI,CAAC4gB,KAAK,CAAC0B,GAAG,CAAC,cAAc,EAAE,OAAOhoB,CAAC,CAACc,IAAI,2BAA2B,CAAC,CAAC9R,SAAS,CAChFwN,GAAG,IAAG;MACJ,IAAI,CAACA,GAAG,EACN;MACF,IAAI,CAAC+pB,MAAM,CAAC9Y,SAAS,CAACzN,CAAC,CAAClF,EAAE,CAAC,CAAC9L,SAAS,CACnC,MAAK;QACH,IAAI,CAACu3B,MAAM,CAAC/Y,UAAU,EAAE,CAACxe,SAAS,CAChCojB,GAAG,IAAG;UACJ,IAAI,CAACsS,SAAS,GAAGtS,GAAG;UACpBpS,CAAC,CAAC4B,QAAQ,GAAG,IAAI;QACnB,CAAC,EACD/D,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE,CACrC;MACH,CAAC,EACD6O,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE,CACrC;IACH,CAAC,EACD6O,CAAC,IAAI,IAAI,CAACyoB,KAAK,CAAC3d,KAAK,CAAC9K,CAAC,CAAC,CAAC7O,SAAS,EAAE,CACrC;EAEH;EAAC,QAAA9B,CAAA;qBAlVUi2B,gBAAgB,EAAAv1B,+DAAA,CAAAL,oDAAA,GAAAK,+DAAA,CAAAL,4DAAA,GAAAK,+DAAA,CAAAmD,2EAAA,GAAAnD,+DAAA,CAAAsD,iDAAA,GAAAtD,+DAAA,CAAAwD,mDAAA,GAAAxD,+DAAA,CAAAwD,8CAAA,GAAAxD,+DAAA,CAAAwD,gDAAA,GAAAxD,+DAAA,CAAAwD,6CAAA;EAAA;EAAA,QAAAjE,EAAA;UAAhBg2B,gBAAgB;IAAA7xB,SAAA;IAAAo3B,SAAA,WAAAC,uBAAA/2B,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;;;;;;;;;;;;;;;;;;;;;;QCbvBhE,4DAHN,aAAsC,aAC5B,aACqD,YACtB;QACjCA,wDAAA,IAAAg7B,wCAAA,0BAAiD;QACjDh7B,oDAAA,GACF;QACFA,0DADE,EAAK,EACD;QAGNA,wDAFA,IAAAi7B,6BAAA,eAAwF,IAAAC,8BAAA,gBACpD,IAAAC,8BAAA,iBACE;QACxCn7B,0DAAA,EAAS;QAILA,4DAFJ,kBAA6D,eACrC,UAChB;QAAAA,oDAAA,iBAAS;QAAAA,0DAAA,EAAK;QAClBA,4DAAA,UAAI;QACFA,wDAAA,KAAAo7B,+BAAA,iBAA4B;QAKhCp7B,0DADE,EAAK,EACD;QAiBNA,wDAfA,KAAAq7B,gCAAA,kBAAwC,KAAAC,gCAAA,kBAeD;QAuB3Ct7B,0DADE,EAAU,EACN;QAENA,4DAAA,6BAAuB;QACrBA,wDAAA,KAAAu7B,wCAAA,0BAAoE;QAAvCv7B,wDAAA,qBAAAw7B,0DAAA/yB,MAAA;UAAAzI,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAAWiE,GAAA,CAAA+1B,OAAA,CAAAvxB,MAAA,CAAAkxB,IAAA,CAA0B;QAAA,EAAC;QAGnE35B,wDAAA,KAAAy7B,wCAAA,0BAAsE;QAAzCz7B,wDAAA,qBAAA07B,0DAAAjzB,MAAA;UAAAzI,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAAWiE,GAAA,CAAAk2B,SAAA,CAAA1xB,MAAA,CAAAkxB,IAAA,CAA4B;QAAA,EAAC;QAGvE35B,0DAAA,EAAe;QAefA,wDAbA,KAAA27B,wCAAA,gCAAA37B,oEAAA,CAA0B,KAAA47B,wCAAA,gCAAA57B,oEAAA,CAQL,KAAA67B,wCAAA,gCAAA77B,oEAAA,CAKE;;;QAlFAA,uDAAA,GAAY;QAAZA,wDAAA,SAAAiE,GAAA,CAAA6T,MAAA,CAAY;QAC3B9X,uDAAA,EACF;QADEA,gEAAA,MAAAiE,GAAA,CAAAyxB,SAAA,MACF;QAEE11B,uDAAA,EAAgB;QAAhBA,wDAAA,SAAAiE,GAAA,CAAAk1B,UAAA,CAAgB;QACHn5B,uDAAA,EAAgB;QAAhBA,wDAAA,SAAAiE,GAAA,CAAAk1B,UAAA,CAAgB;QACfn5B,uDAAA,EAAiB;QAAjBA,wDAAA,UAAAiE,GAAA,CAAAk1B,UAAA,CAAiB;QAObn5B,uDAAA,GAAQ;QAARA,wDAAA,YAAAiE,GAAA,CAAAm1B,KAAA,CAAQ;QAORp5B,uDAAA,EAAgB;QAAhBA,wDAAA,SAAAiE,GAAA,CAAA60B,UAAA,CAAgB;QAehB94B,uDAAA,EAAe;QAAfA,wDAAA,SAAAiE,GAAA,CAAA+0B,SAAA,CAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCM;AAEkB;AACT;AACf;AACQ;AACc;;;AAqBzD,MAAOr7B,aAAa;EAAA,QAAA2B,CAAA;qBAAb3B,aAAa;EAAA;EAAA,QAAA4B,EAAA;UAAb5B;EAAa;EAAA,QAAA6B,EAAA;eALb,CACTuF,mDAAgB,EAChBiH,uCAAI,CACL;IAAAtM,OAAA,GAXC2J,yDAAY,EACZhE,iDAAY,EACZmwB,0EAAoB,EACpBsG,yEAAiB,CAACr8B,OAAO,CAAC;MACxBs8B,SAAS,EAAE,IAAI;MACfC,aAAa,EAAE;KAChB,CAAC;EAAA;;;sHAOOr+B,aAAa;IAAA0I,YAAA,GAhBtBkvB,iEAAgB;IAAA71B,OAAA,GAGhB2J,yDAAY,EACZhE,iDAAY,EACZmwB,0EAAoB,EAAA71B,yEAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;ACjByG;AAEhD;;;;;;;ICY7EK,4DADF,aAAmB,wBAC0E;IAA3EA,wDAAA,sBAAAq8B,kEAAA5zB,MAAA;MAAAzI,2DAAA,CAAAs8B,GAAA;MAAA,MAAAC,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAAYu8B,MAAA,CAAAC,WAAA,CAAA/zB,MAAA,CAAmB;IAAA,EAAC;IAClDzI,0DAD6F,EAAiB,EACxG;;;;IAD6CA,uDAAA,EAA2B;IAA3BA,wDAAA,gBAAAu8B,MAAA,CAAAE,WAAA,CAA2B;;;ADJ1E,MAAOC,OAAO;EAKlBv8B,YACUu4B,KAAmB;IAAnB,KAAAA,KAAK,GAALA,KAAK;IAJL,KAAAiE,aAAa,GAAG,IAAIV,uDAAY,EAAU;IAC1C,KAAAW,WAAW,GAAsB,IAAIX,uDAAY,EAAE;IAe7D,KAAAlY,GAAG,GAAGqY,0DAAQ,EAAE;EAXZ;EACJS,WAAWA,CAACvsB,OAAsB;IAChC,IAAIA,OAAO,CAACU,OAAO,IACjBV,OAAO,CAACU,OAAO,CAAC8rB,YAAY,KAAKx6B,SAAS,IAC1C,CAAC65B,0DAAQ,CAAC7rB,OAAO,CAACU,OAAO,CAAC8rB,YAAY,EAAExsB,OAAO,CAACU,OAAO,CAAC+rB,aAAa,CAAC,EAAE;MACxE,IAAItV,CAAC,GAAG,IAAIyU,uDAAS,CAAC,IAAI,CAAClrB,OAAO,CAAC;MACnC,IAAIyW,CAAC,CAACuV,UAAU,EACd,IAAI,CAACjZ,GAAG,GAAG0D,CAAC,CAAC1D,GAAG;IACpB;EACF;EAIA9iB,QAAQA,CAAA;IACN,IAAI,CAACg8B,UAAU,GAAG36B,SAAS;IAC3B,IAAI,IAAI,CAAC0O,OAAO,KAAK1O,SAAS,EAAC;MAC7B,IAAImlB,CAAC,GAAG,IAAIyU,uDAAS,CAAC,IAAI,CAAClrB,OAAO,CAAC;MACnC,IAAIyW,CAAC,CAACuV,UAAU,EACd,IAAI,CAACjZ,GAAG,GAAG0D,CAAC,CAAC1D,GAAG;IACpB;EACF;EAAC,QAAAzkB,CAAA,GAEM,KAAA49B,KAAK,GAAG,wEAAwE;EACvFC,oBAAoBA,CAACpZ,GAAU;IAC7B,OAAOA,GAAG,CAAClc,OAAO,CAAC60B,OAAO,CAACQ,KAAK,EAAC,EAAE,CAAC,IAAI,EAAE;EAC5C;EAEAE,QAAQA,CAACrZ,GAAQ;IACf,IAAI0D,CAAC,GAAGuD,2DAAS,CAAC,IAAI,CAACjH,GAAG,CAAC;IAC3B,IAAI,IAAI,CAACoZ,oBAAoB,CAAC1V,CAAC,CAAC,EAC9BuC,UAAU,CAAC,MAAK;MACZ,IAAI,CAAC2S,aAAa,CAACU,IAAI,CAAC5V,CAAC,CAAC;IAC9B,CAAC,CAAC;EACN;EAKA6V,UAAUA,CAAA;IACR,IAAI,CAACb,WAAW,GAAGn6B,SAAS;IAC5B,IAAI,IAAI,CAACo2B,KAAK,CAAC6E,OAAO,EAAE;MACtB,IAAI,CAAC7E,KAAK,CAAC6E,OAAO,CAACC,MAAM,GAAG,IAAI;MAChC,IAAI,CAACP,UAAU,GAAG,IAAI,CAACvE,KAAK,CAAC6E,OAAO;MACpC,IAAI,CAAC7E,KAAK,CAAC6E,OAAO,GAAGj7B,SAAS;IAChC;IACA,IAAI,CAACo2B,KAAK,CAACc,IAAI,CAAC;MACd37B,KAAK,EAAC,yBAAyB;MAC/B4/B,KAAK,EAAE,QAAQ;MACf35B,QAAQ,EAAE,IAAI,CAAC45B,YAAY;MAC3BC,YAAY,EAAC;KACd,CAAC,CACDv8B,SAAS,EAAE;EACd;EAEAo7B,WAAWA,CAACoB,IAAW;IACrB,IAAI,IAAI,CAACT,oBAAoB,CAACS,IAAI,CAAC,EAAE;MACjC,IAAI,CAAC7Z,GAAG,GAAG,IAAImY,uDAAS,CAAC0B,IAAI,CAAC,CAAC7Z,GAAG;IACtC;IACA,IAAI,CAAC2U,KAAK,CAACmF,KAAK,EAAE;IAClB,IAAI,IAAI,CAACZ,UAAU,EAAE;MACnB,IAAI,CAACvE,KAAK,CAAC6E,OAAO,GAAG,IAAI,CAACN,UAAU;MACpC,IAAI,CAACA,UAAU,GAAG36B,SAAS;MAC3B,IAAI,CAACo2B,KAAK,CAAC6E,OAAO,CAACC,MAAM,GAAG,KAAK;IACnC;EACF;EAEAM,aAAaA,CAAA;IACX,IAAI,CAACrB,WAAW,GAAGzR,2DAAS,CAAC,IAAI,CAACjH,GAAG,CAAC;IACtC,IAAI,CAAC2U,KAAK,CAACc,IAAI,CAAC;MACd37B,KAAK,EAAE,sBAAsB;MAC7B4/B,KAAK,EAAE,QAAQ;MACf35B,QAAQ,EAAE,IAAI,CAAC45B,YAAY;MAC3BC,YAAY,EAAE;KACf,CAAC,CACCv8B,SAAS,EAAE;EAChB;EAAC,QAAA7B,EAAA;qBAlFUm9B,OAAO,EAAA18B,+DAAA,CAAAL,8DAAA;EAAA;EAAA,QAAAH,EAAA;UAAPk9B,OAAO;IAAAh5B,SAAA;IAAAo3B,SAAA,WAAAiD,cAAA/5B,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;;;;;;;;;;;;;;;;;;;;;;QCThBhE,4DADJ,aAAgD,WACgF;QAAvBA,wDAAA,mBAAAg+B,oCAAA;UAAAh+B,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAASiE,GAAA,CAAAq5B,UAAA,EAAY;QAAA,EAAC;QAACt9B,0DAAA,EAAI;QAChIA,4DAAA,cAA+G;QAA1BA,wDAAA,mBAAAi+B,uCAAA;UAAAj+B,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAASiE,GAAA,CAAA65B,aAAA,EAAe;QAAA,EAAC;QAE5G99B,uDADA,WAAmD,WACA;QACrDA,0DAAA,EAAO;QAGPA,4DADF,aAAyB,yBACsD;QAA5DA,8DAAA,uBAAAk+B,sDAAAz1B,MAAA;UAAAzI,2DAAA,CAAAgH,GAAA;UAAAhH,gEAAA,CAAAiE,GAAA,CAAA8f,GAAA,EAAAtb,MAAA,MAAAxE,GAAA,CAAA8f,GAAA,GAAAtb,MAAA;UAAA,OAAAzI,yDAAA,CAAAyI,MAAA;QAAA,EAAa;QAACzI,wDAAA,uBAAAk+B,sDAAAz1B,MAAA;UAAAzI,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAAaiE,GAAA,CAAAm5B,QAAA,CAAA30B,MAAA,CAAgB;QAAA,EAAC;QAEjEzI,0DAFiF,EAAkB,EAC3F,EACF;QAENA,wDAAA,IAAAm+B,8BAAA,gCAAAn+B,oEAAA,CAA2B;;;QAJNA,uDAAA,GAAa;QAAbA,8DAAA,QAAAiE,GAAA,CAAA8f,GAAA,CAAa;;;;;;;;;;;;;;;;;;;;;;;;ACRmF;AAE0H;AAC9L;;;AAsB3C,MAAOua,oBAAoB;EAK/B,IACIC,OAAOA,CAAA;IAAI,OAAO,IAAI,CAACC,QAAQ;EAAA;EACnC,IAAID,OAAOA,CAACnyB,CAA2B;IACrC,IAAI,CAACoyB,QAAQ,GAAC,CAAC,GAAGpyB,CAAC,CAAC;IACpB,IAAI,CAACqyB,eAAe,EAAE;EACxB;EAAC,QAAAn/B,CAAA,GAiBM,KAAAo/B,UAAU,GAAG,IAAI1Q,IAAI,CAACC,cAAc,CAAC,IAAI,EAAE;IAAE5mB,IAAI,EAAE,SAAS;IAAE6mB,KAAK,EAAE,SAAS;IAAEI,GAAG,EAAE;EAAS,CAAE,CAAC;EAExG,OAAOqQ,gBAAgBA,CAACC,WAAwB;IAC9C,IAAIhc,GAAG,GAAG,EAAE;IACZ,KAAK,MAAMgC,GAAG,IAAIga,WAAW,EAAE;MAC7B,MAAM7+B,MAAM,GAAG6+B,WAAW,CAACha,GAAG,CAAC;MAC/B,IAAI7kB,MAAM,CAAC8+B,UAAU,IAAI,MAAM,EAAE;QAC/Bjc,GAAG,CAAC5Q,IAAI,CAAC,GAAG4S,GAAG,IAAI7kB,MAAM,CAACA,MAAM,EAAE,CAAC;MACrC,CAAC,MACD,IAAIA,MAAM,CAAC8+B,UAAU,IAAI,MAAM,EAAE;QAC/B,IAAIC,QAAQ,GAAG/+B,MAAM,CAAC++B,QAAQ,GAAG,IAAIp3B,IAAI,CAAC3H,MAAM,CAAC++B,QAAQ,CAAC,CAACvS,WAAW,EAAE,GAAG,EAAE;QAC7E,IAAIwS,MAAM,GAAGh/B,MAAM,CAACg/B,MAAM,GAAG,IAAIr3B,IAAI,CAAC3H,MAAM,CAACg/B,MAAM,CAAC,CAACxS,WAAW,EAAE,GAAG,EAAE;QACvE,IAAIxsB,MAAM,CAACiN,IAAI,IAAI,QAAQ,EACzB4V,GAAG,CAAC5Q,IAAI,CAAC,GAAG4S,GAAG,IAAIka,QAAQ,EAAE,CAAC,CAAC,KAC5B,IAAI/+B,MAAM,CAACiN,IAAI,IAAI,UAAU,EAChC4V,GAAG,CAAC5Q,IAAI,CAAC,GAAG4S,GAAG,MAAMma,MAAM,EAAE,CAAC,CAAC,KAC5B,IAAIh/B,MAAM,CAACiN,IAAI,IAAI,aAAa,EACnC4V,GAAG,CAAC5Q,IAAI,CAAC,GAAG4S,GAAG,MAAMka,QAAQ,EAAE,CAAC,CAAC,KAC9B,IAAI/+B,MAAM,CAACiN,IAAI,IAAI,SAAS,EAAC;UAChC4V,GAAG,CAAC5Q,IAAI,CAAC,GAAG4S,GAAG,MAAMka,QAAQ,EAAE,CAAC;UAChClc,GAAG,CAAC5Q,IAAI,CAAC,GAAG4S,GAAG,MAAMma,MAAM,EAAE,CAAC;QAChC;MACF;IACF;IACA,OAAOnc,GAAG;EACZ;EAEAziB,YACU6+B,MAAc,EACdC,UAAsB;IADtB,KAAAD,MAAM,GAANA,MAAM;IACN,KAAAC,UAAU,GAAVA,UAAU;IApDpB,KAAAT,QAAQ,GAAY,EAAE;IAOb,KAAAU,OAAO,GAAU58B,SAAS;IAC1B,KAAA68B,aAAa,GAAyB,QAAQ;IAC9C,KAAAC,WAAW,GAAkB98B,SAAS;IACtC,KAAA+8B,eAAe,GAAmB/8B,SAAS;IAE3C,KAAAg9B,SAAS,GAAW,EAAE;IAGtB,KAAAC,UAAU,GAAqBj9B,SAAS;IAEvC,KAAAk9B,IAAI,GAAG,IAAIvD,uDAAY,EAAO;IAC9B,KAAAwD,MAAM,GAAG,IAAIxD,uDAAY,EAAO;IAChC,KAAAyD,QAAQ,GAAG,IAAIzD,uDAAY,EAAO;IAClC,KAAA3xB,KAAK,GAAG,IAAI2xB,uDAAY,EAAO;IAC/B,KAAA0D,KAAK,GAAG,IAAI1D,uDAAY,EAAO;EAiCzC;EAEA2D,WAAWA,CAAC79B,KAAqB;IAC/B,IAAI,CAAC89B,OAAO,GAAG99B,KAAK,CAAC+9B,GAAG;IACxB,IAAI,IAAI,CAACP,UAAU,EAAE;MACnB,IAAI,CAACA,UAAU,CAACQ,cAAc,EAAE,CAAC3+B,SAAS,CACxC2zB,CAAC,IAAG;QACF,IAAI,CAAC8K,OAAO,CAACG,aAAa,CAAC,YAAY,EAAE,IAAI,CAACT,UAAU,CAAC;QACzD,IAAI,CAACM,OAAO,CAACI,WAAW,CAAClL,CAAC,CAAC;MAC7B,CAAC,CACF;IACH;IACA,IAAI,CAAC4K,KAAK,CAACtC,IAAI,CAAC,IAAI,CAAC;IACrB,IAAI,CAACwC,OAAO,CAACK,kBAAkB,EAAE;IACjC,IAAI,CAACL,OAAO,CAACM,gBAAgB,EAAE;EACjC;EAAC,QAAA5gC,EAAA,GAIe,KAAA6gC,aAAa,GAAG;IAC9BC,QAAQ,EAAGjuB,CAAsB,IAAKA,CAAC,CAAC/U,IAAI,GAAC,yDAAyD,GAAC,EAAE;IACzGijC,QAAQ,EAAGluB,CAAsB,IAAKA,CAAC,CAACmlB,KAAK,GAAG,KAAK,GAAG,IAAI;IAC5DgJ,UAAU,EAAGnuB,CAAsB,IAAI;MACrC,IAAI,CAACA,CAAC,CAACmlB,KAAK,EACV,OAAOnlB,CAAC,CAACmlB,KAAK;MAChB,OAAO,GAAGnlB,CAAC,CAACmlB,KAAK,uEAAuE;IAC1F,CAAC;IACDiJ,YAAY,EAAGpuB,CAAsB,IAAKisB,+DAAc,CAACjsB,CAAC,CAACmlB,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC;IACpFkJ,QAAQ,EAAGruB,CAAsB,IAAI;MACnC,MAAMsuB,IAAI,GAAGtuB,CAAC,CAAC,MAAM,CAAC,GAAGA,CAAC,CAAC,MAAM,CAAC,CAACA,CAAC,CAAC/U,IAAI,CAAC,GAAC,GAAG;MAC9C,MAAM0R,IAAI,GAAGqD,CAAC,CAAC,MAAM,CAAC,GAAGA,CAAC,CAAC,MAAM,CAAC,CAACA,CAAC,CAAC/U,IAAI,CAAC,GAAC+U,CAAC,CAACmlB,KAAK;MAClD,IAAI,CAACxoB,IAAI,EACP,OAAOA,IAAI;MACb,OAAO2xB,IAAI,GAAC,YAAYA,IAAI,+CAA+C3xB,IAAI,MAAM,GAACA,IAAI;IAC5F;GACD;EAAA,QAAAvP,EAAA,GAEe,KAAAmhC,eAAe,GAAG;IAChC1R,QAAQ,EAAGrS,MAAyC,IAClDyhB,+DAAc,CAACzhB,MAAM,CAAC2a,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG;GACjD;EAEDkH,eAAeA,CAAA;IACb,IAAI,CAACD,QAAQ,CAACrxB,OAAO,CAACf,CAAC,IAAG;MACxB,IAAI,OAAOA,CAAC,CAACw0B,YAAY,KAAK,QAAQ,EAAE;QACtC,IAAItC,oBAAoB,CAAC8B,aAAa,CAACh0B,CAAC,CAACw0B,YAAY,CAAC,EACpDx0B,CAAC,CAACw0B,YAAY,GAAGtC,oBAAoB,CAAC8B,aAAa,CAACh0B,CAAC,CAACw0B,YAAY,CAAC;MACrE;MACF,IAAI,OAAOx0B,CAAC,CAACy0B,cAAc,KAAK,QAAQ,EAAE;QACxC,IAAIvC,oBAAoB,CAACqC,eAAe,CAACv0B,CAAC,CAACy0B,cAAc,CAAC,EACxDz0B,CAAC,CAACy0B,cAAc,GAAGvC,oBAAoB,CAACqC,eAAe,CAACv0B,CAAC,CAACy0B,cAAc,CAAC;MAC7E;IACF,CAAC,CAAC;EACJ;EAEA5/B,QAAQA,CAAA;IACN,IAAI,CAAC6/B,WAAW,GAAG;MACjBC,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBC,UAAU,EAAE,IAAI,CAACxC,QAAQ;MACzBU,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBI,SAAS,EAAE,IAAI,CAACA,SAAS;MACzB2B,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/BC,YAAY,EAAE,IAAI,CAAC/B,aAAa;MAChCgC,yBAAyB,EAAE,IAAI;MAC/B9B,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCD,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BgC,aAAa,EAAGr/B,KAAK,IAAI;QACvB,IAAI,CAACq/B,aAAa,CAACr/B,KAAK,CAAC;MAC3B,CAAC;MACDs/B,kBAAkB,EAAGt/B,KAAK,IAAI;QAC5B,IAAI,CAAC09B,MAAM,CAACpC,IAAI,CAACt7B,KAAK,CAAC+9B,GAAG,CAACwB,eAAe,EAAE,CAAC;MAC/C,CAAC;MACDC,cAAc,EAAGx/B,KAAK,IAAI;QACxB,IAAI,CAACuI,KAAK,CAAC+yB,IAAI,CAACt7B,KAAK,CAAC;MACxB,CAAC;MACDy/B,uBAAuB,EAAE,IAAI;MAC7BC,6BAA6B,EAAE,IAAI;MACnCC,WAAW,EAAE,KAAK;MAClBC,gBAAgB,EAAE,IAAI;MACtBC,aAAa,EAAE;QACbC,QAAQ,EAAE,IAAI;QACd3zB,QAAQ,EAAE,KAAK;QACfnO,MAAM,EAAE,IAAI;QACZ+hC,cAAc,EAAE,IAAI;QACpBC,SAAS,EAAE,IAAI;QACfC,wBAAwB,EAAE,IAAI;QAC9BC,YAAY,EAAE;UACZC,OAAO,EAAE,CAAC,OAAO;;;KAGtB;IACD,IAAI,IAAI,CAAC3C,UAAU,EAAE;MACnB,IAAI,CAACuB,WAAW,CAACqB,UAAU,GAAG,IAAI;MAClC,IAAI,CAACrB,WAAW,CAACsB,0BAA0B,GAAG,CAAC,GAAG,EAAC,GAAG,EAAE,IAAI,CAAC;MAC7D,IAAI,CAACtB,WAAW,CAACuB,kBAAkB,GAAG,IAAI;MAC1C,IAAI,CAACvB,WAAW,CAACwB,cAAc,GAAG,IAAI;MACtC,IAAI,CAACxB,WAAW,CAACyB,gBAAgB,GAAG,CAAC;MACrC,IAAI,CAACzB,WAAW,CAAC0B,YAAY,GAAG,UAAU;MAC1C,IAAI,CAAC1B,WAAW,CAAC2B,YAAY,GAAI1gC,KAAK,IAAI;QACxC,IAAI,CAACuI,KAAK,CAAC+yB,IAAI,CAACt7B,KAAK,CAAC;MACxB,CAAC;IACH;IACA,IAAI,CAAC08B,eAAe,EAAE;EACxB;EAEA2C,aAAaA,CAACr/B,KAAU;IACtB,IAAIA,KAAK,CAACA,KAAK,CAACizB,MAAM,CAAC0N,OAAO,IAAI,GAAG,IAAI3gC,KAAK,CAACA,KAAK,CAACizB,MAAM,CAAC2N,SAAS,CAACC,QAAQ,CAAC,WAAW,CAAC,EAAE;MAC3F,IAAI,CAAC/C,OAAO,CAACgD,cAAc,CAAC;QAAC,CAAC9gC,KAAK,CAAC+gC,MAAM,CAACC,KAAK,GAAE;UAAClE,UAAU,EAAC,MAAM;UAAE7xB,IAAI,EAAC,UAAU;UAAEjN,MAAM,EAACgC,KAAK,CAACw1B;QAAK;MAAC,CAAC,CAAC;MAC5G;IACF;IACA,IAAIx1B,KAAK,CAACA,KAAK,CAACizB,MAAM,CAAC0N,OAAO,IAAI,GAAG,IAAI3gC,KAAK,CAACA,KAAK,CAACizB,MAAM,CAAC2N,SAAS,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;MACxF,IAAI,CAACpD,IAAI,CAACnC,IAAI,CAACt7B,KAAK,CAAC;MACrB;IACF;IACA,IAAIA,KAAK,CAACA,KAAK,CAACizB,MAAM,CAAC0N,OAAO,IAAI,GAAG,IAAI3gC,KAAK,CAACA,KAAK,CAACizB,MAAM,CAACgO,UAAU,CAAC,UAAU,CAAC,EAAE;MAClF,IAAI,CAACxD,IAAI,CAACnC,IAAI,CAACt7B,KAAK,CAAC;MACrB;IACF;IACA,IAAI,CAAC29B,QAAQ,CAACrC,IAAI,CAACt7B,KAAK,CAAC;EAC3B;EAEAkhC,QAAQA,CAAA;IACN,MAAM34B,KAAK,GAAc,IAAI,CAACu1B,OAAO,CAACoD,QAAQ,EAAE;IAChD;IACA,MAAMC,UAAU,GAAI,IAAI,CAACjE,UAAU,CAACkE,aAAa,CAACC,aAAa,CAAC,YAAY,CAAC,CAACC,qBAAqB,EAAG;IACtG,MAAMC,OAAO,GAAGC,QAAQ,CAACnT,gBAAgB,CAACC,QAAQ,CAAChf,IAAI,CAAC,CAACif,QAAQ,CAAC;IAClE,MAAMkT,YAAY,GAAGnT,QAAQ,CAACoT,gBAAgB,CAACP,UAAU,CAAC7gC,CAAC,GAAGihC,OAAO,EAAGJ,UAAU,CAACjkB,CAAC,GAAGikB,UAAU,CAACQ,MAAM,GAAGJ,OAAQ,CAAC;IACpH,MAAMK,IAAI,GAAGnW,MAAM,CAAC+V,QAAQ,CAAEC,YAAY,CAACI,OAAO,CAAC,SAAS,CAAC,EAAEC,YAAY,CAAC,WAAW,CAAC,IAAE,GAAG,CAAC;IAC9F,OAAO;MACL9jC,MAAM,EAAEuK,KAAK,EAAEvK,MAAM,EAAE6+B,WAAW;MAClC5f,IAAI,EAAC1U,KAAK,CAAC0U,IAAI,EAAE8kB,SAAS;MAC1B3B,UAAU,EAAE73B,KAAK,EAAE63B,UAAU;MAC7BpgB,GAAG,EAAE4hB,IAAI;MACTzC,YAAY,EAAE52B,KAAK,EAAE42B;KACtB;EACH;EAEA6C,YAAYA,CAAC3xB,CAAe;IAC1B,IAAI,CAACA,CAAC,EACJ;IACF,IAAIA,CAAC,CAACrS,MAAM,EACV,IAAI,CAAC8/B,OAAO,CAACgD,cAAc,CAACzwB,CAAC,CAACrS,MAAM,CAAC;IACvC,IAAIqS,CAAC,CAAC4M,IAAI,EACR,IAAI,CAAC6gB,OAAO,CAACmE,gBAAgB,CAAC;MAAC15B,KAAK,EAAC8H,CAAC,CAAC4M,IAAI;MAAEilB,YAAY,EAAE;QAACjlB,IAAI,EAAE;MAAI;IAAC,CAAC,CAAC;IAC3E,IAAI5M,CAAC,CAAC+vB,UAAU,EAAE;MAChB,IAAI/vB,CAAC,CAAC+vB,UAAU,EAAE+B,QAAQ,EACxB,IAAI,CAACrE,OAAO,CAACsE,iBAAiB,CAAC;QAAE9B,kBAAkB,EAAEjwB,CAAC,CAAC+vB,UAAU,CAAC+B;MAAQ,CAAE,CAAC;MAC/E,IAAI9xB,CAAC,CAAC+vB,UAAU,CAAChgC,IAAI,IAAI,IAAI,CAAC09B,OAAO,CAACuE,wBAAwB,EAAE,EAChE,IAAI,CAACvE,OAAO,CAACwE,kBAAkB,CAACjyB,CAAC,CAAC+vB,UAAU,CAAChgC,IAAI,CAAC;IACpD;IACA,IAAIiQ,CAAC,CAAC2P,GAAG,EACP,IAAI,CAAC8d,OAAO,CAACyE,kBAAkB,CAAClyB,CAAC,CAAC2P,GAAG,EAAC,KAAK,CAAC;IAC9C,IAAI3P,CAAC,CAAC8uB,YAAY,EAChB9uB,CAAC,CAAC8uB,YAAY,CAAC/zB,OAAO,CAAC1O,CAAC,IAAI,IAAI,CAACohC,OAAO,CAAC0E,UAAU,CAAC9lC,CAAC,CAAC,CAAC+lC,WAAW,CAAC,IAAI,CAAC,CAAC;EAC7E;EAEAC,UAAUA,CAAC3nB,EAAoB,EAAEF,MAAsB;IACrD,IAAI,CAACE,EAAE,CAACinB,YAAY,EAClB,OAAO,KAAK;IACd,IAAIjnB,EAAE,CAACinB,YAAY,CAAChkC,MAAM,IAAI+c,EAAE,CAACinB,YAAY,CAAC/kB,IAAI,EAAE;MAClDpC,MAAM,CAAC8nB,eAAe,CAAC,IAAIpV,KAAK,CAAC1S,MAAM,CAAC+nB,MAAM,GAAG/nB,MAAM,CAACgoB,QAAQ,CAAC,CAACrV,IAAI,CAAC,EAAE,CAAC,EAAEzS,EAAE,CAAC+nB,QAAQ,CAAC;MACxF,IAAI,CAACd,YAAY,CAACjnB,EAAE,CAACinB,YAAY,CAAC;MAClCjnB,EAAE,CAACinB,YAAY,CAAChkC,MAAM,GAAGuC,SAAS;MAClCwa,EAAE,CAACinB,YAAY,CAAC/kB,IAAI,GAAG1c,SAAS;MAChC,OAAO,IAAI;IACb;IACA,IAAIwa,EAAE,CAACinB,YAAY,CAAC5B,UAAU,CAAChgC,IAAI,IAAI,CAAC,EAAE;MACxCya,MAAM,CAAC8nB,eAAe,CAAC,IAAIpV,KAAK,CAAC1S,MAAM,CAAC+nB,MAAM,GAAG/nB,MAAM,CAACgoB,QAAQ,CAAC,CAACrV,IAAI,CAAC,EAAE,CAAC,EAAEzS,EAAE,CAAC+nB,QAAQ,CAAC;MACxF7a,UAAU,CAAC,MAAK;QACd,IAAI,CAAC+Z,YAAY,CAACjnB,EAAE,CAACinB,YAAY,CAAC;QAClCjnB,EAAE,CAACinB,YAAY,GAAGzhC,SAAS;MAC7B,CAAC,CAAC;MACF,OAAO,IAAI;IACb;IACAwa,EAAE,CAACinB,YAAY,GAAGzhC,SAAS;IAC3B,OAAO,KAAK;EACd;EAAC,QAAA+d,EAAA;qBA1OUie,oBAAoB,EAAAt+B,+DAAA,CAAAA,iDAAA,GAAAA,+DAAA,CAAAA,qDAAA;EAAA;EAAA,QAAAsgB,EAAA;UAApBge,oBAAoB;IAAA56B,SAAA;IAAAshC,MAAA;MAAAjE,OAAA;MAAAxC,OAAA;MAAAW,OAAA;MAAAC,aAAA;MAAAC,WAAA;MAAAC,eAAA;MAAAC,SAAA;MAAA2B,YAAA;MAAA1B,UAAA;IAAA;IAAA0F,OAAA;MAAAzF,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAp1B,KAAA;MAAAq1B,KAAA;IAAA;IAAAh8B,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAohC,8BAAAlhC,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCzBjChE,4DAAA,yBAIC;QADCA,wDAAA,uBAAAmlC,mEAAA18B,MAAA;UAAA,OAAaxE,GAAA,CAAA27B,WAAA,CAAAn3B,MAAA,CAAmB;QAAA,EAAC;QAClCzI,0DAAA,EAAkB;;;QAFjBA,wDAAA,gBAAAiE,GAAA,CAAA68B,WAAA,CAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFgH;AAInH;AACsB;AAEZ;AAEkB;;;;;;;;;;;;;;;;;;;;ICPlD9gC,4DAAA,YAKC;IAFCA,wDAAA,mBAAAolC,6DAAA;MAAA,MAAAC,IAAA,GAAArlC,2DAAA,CAAAgH,GAAA,EAAAs+B,KAAA;MAAA,MAAA/I,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAASu8B,MAAA,CAAAgJ,UAAA,CAAAF,IAAA,CAAa;IAAA,EAAC;IAGvBrlC,gEAAA,MAAwG;IAC1GA,0DAAA,EAAK;;;;;;;IALHA,wDAAA,CAAAu8B,MAAA,CAAAkJ,QAAA,CAAAJ,IAAA,EAAqB;IAIPrlC,uDAAA,EAAmC;IAACA,wDAApC,qBAAA0lC,iBAAA,CAAmC,4BAAA1lC,6DAAA,IAAA4lC,GAAA,EAAAC,IAAA,EAAAR,IAAA,EAAuC;;;;;IAP5FrlC,4DADF,UAA6C,YACU;IACnDA,wDAAA,IAAA8lC,wCAAA,gBAKC;IAIL9lC,0DADE,EAAK,EACD;;;;IALcA,uDAAA,GAAgB;IAAhBA,wDAAA,YAAAu8B,MAAA,CAAAlsB,WAAA,CAAgB;;;;;IAMpCrQ,4DAAA,aAAwE;IACtEA,oDAAA,GACF;IAAAA,0DAAA,EAAM;;;;IADJA,uDAAA,EACF;IADEA,gEAAA,SAAAu8B,MAAA,CAAA7nB,QAAA,QACF;;;;;IAMI1U,4DAAA,aAA0C;IACxCA,gEAAA,MAAmG;IACrGA,0DAAA,EAAK;;;;;;IADWA,uDAAA,EAAmC;IAACA,wDAApC,qBAAA0lC,iBAAA,CAAmC,4BAAA1lC,6DAAA,IAAAgmC,GAAA,EAAAC,IAAA,EAAkC;;;;;IAHvFjmC,4DADF,UAAqC,QAChC;IAAAA,oDAAA,GAAsB;IAAAA,0DAAA,EAAI;IAC7BA,4DAAA,YAAqD;IACnDA,wDAAA,IAAAkmC,wCAAA,gBAA0C;IAI9ClmC,0DADE,EAAK,EACD;;;;IANDA,uDAAA,GAAsB;IAAtBA,gEAAA,aAAAu8B,MAAA,CAAA7nB,QAAA,OAAsB;IAEO1U,uDAAA,GAAU;IAAVA,wDAAA,YAAAu8B,MAAA,CAAA1uB,OAAA,CAAU;;;;;;IASxC7N,4DAAA,gBAAiG;IAAtDA,8DAAA,2BAAAmmC,mFAAA19B,MAAA;MAAAzI,2DAAA,CAAAq2B,GAAA;MAAA,MAAA+P,IAAA,GAAApmC,2DAAA,GAAA6M,CAAA;MAAA7M,gEAAA,CAAAomC,IAAA,CAAAC,QAAA,EAAA59B,MAAA,MAAA29B,IAAA,CAAAC,QAAA,GAAA59B,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAwB;IAACzI,wDAAA,oBAAAsmC,4EAAA;MAAAtmC,2DAAA,CAAAq2B,GAAA;MAAA,MAAAkQ,IAAA,GAAAvmC,2DAAA,GAAAwvB,CAAA;MAAA,MAAA+M,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAAUu8B,MAAA,CAAAiK,QAAA,CAAAnJ,IAAA,CAAAkJ,IAAA,CAAgB;IAAA,EAAC;IAA/FvmC,0DAAA,EAAiG;;;;IAAtDA,8DAAA,YAAAomC,IAAA,CAAAC,QAAA,CAAwB;;;;;;IAW/DrmC,4DAAA,YAA0H;IAApGA,wDAAA,mBAAAymC,yEAAA;MAAAzmC,2DAAA,CAAA83B,IAAA;MAAA,MAAAsO,IAAA,GAAApmC,2DAAA,IAAA6M,CAAA;MAAA,MAAA0vB,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAASu8B,MAAA,CAAAmK,WAAA,CAAAN,IAAA,CAAAl5B,EAAA,CAAiB;IAAA,EAAC;IAC/ClN,uDAAA,YAAiC;IACnCA,0DAAA,EAAI;;;;;;IAEJA,4DAAA,YAAsI;IAAjHA,wDAAA,mBAAA2mC,yEAAAl+B,MAAA;MAAAzI,2DAAA,CAAAi4B,IAAA;MAAA,MAAAmO,IAAA,GAAApmC,2DAAA,IAAA6M,CAAA;MAAA,MAAA0vB,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAASu8B,MAAA,CAAAqK,MAAA,CAAAvJ,IAAA,CAAY;QAAA50B,MAAA,EAAAA,MAAA;QAAAyE,EAAA,EAAAk5B,IAAA,CAAAl5B;MAAA,CAAgB,CAAC;IAAA,EAAC;IAC1DlN,uDAAA,YAAgC;IAClCA,0DAAA,EAAI;;;;;;IAZNA,4DADF,cAAgE,mBAK7D;IADCA,wDAFA,mBAAA6mC,4EAAAp+B,MAAA;MAAAzI,2DAAA,CAAA8mC,IAAA;MAAA,MAAAvK,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAASu8B,MAAA,CAAAwK,gBAAA,CAAAt+B,MAAA,CAAAusB,MAAA,CAAAuC,KAAA,CAA2C;IAAA,EAAC,kBAAAyP,2EAAAv+B,MAAA;MAAAzI,2DAAA,CAAA8mC,IAAA;MAAA,MAAAV,IAAA,GAAApmC,2DAAA,GAAA6M,CAAA;MAAA,MAAA0vB,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAC7Cu8B,MAAA,CAAA0K,aAAA,CAAAb,IAAA,CAAAl5B,EAAA,EAAAzE,MAAA,CAA0B;IAAA,EAAC,sBAAAy+B,+EAAAz+B,MAAA;MAAAzI,2DAAA,CAAA8mC,IAAA;MAAA,MAAAvK,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CACvBu8B,MAAA,CAAA4K,UAAA,CAAA1+B,MAAA,CAAkB;IAAA,EAAC;IAChCzI,oDAAA,GAAa;IAAAA,0DAAA,EAAW;IACzBA,4DAAA,cAAmB;IAKjBA,wDAJA,IAAAonC,qDAAA,gBAA0H,IAAAC,qDAAA,gBAIY;IAI1IrnC,0DADE,EAAM,EACF;;;;;IAdqBA,uDAAA,EAAuB;IAAvBA,wDAAA,SAAAu8B,MAAA,CAAA+K,WAAA,CAAAlB,IAAA,EAAuB;IAI/CpmC,uDAAA,EAAa;IAAbA,+DAAA,CAAAomC,IAAA,CAAAz4B,OAAA,CAAa;IAER3N,uDAAA,GAAgB;IAAhBA,wDAAA,UAAAomC,IAAA,CAAAmB,OAAA,CAAgB;IAIhBvnC,uDAAA,EAAe;IAAfA,wDAAA,SAAAomC,IAAA,CAAAmB,OAAA,CAAe;;;;;IAKvBvnC,4DAAA,eAAuE;IAAAA,oDAAA,GAAa;IAAAA,0DAAA,EAAO;;;;IAApBA,uDAAA,EAAa;IAAbA,+DAAA,CAAAomC,IAAA,CAAAz4B,OAAA,CAAa;;;;;IAGtF3N,gEAAA,GAAyF;;;;;IAxBzFA,4DAAA,cAAmB;IACjBA,wDAAA,IAAAwnC,mDAAA,oBAAiG;IACjGxnC,4DAAA,YAA8C;IAAAA,oDAAA,GAAc;IAC9DA,0DAD8D,EAAI,EAC5D;IACNA,4DAAA,cAAmB;IAiBjBA,wDAhBA,IAAAynC,iDAAA,kBAAgE,IAAAC,kDAAA,mBAgBO;IACzE1nC,0DAAA,EAAM;IAENA,wDAAA,IAAA2nC,0DAAA,2BAA0E;IAE3B3nC,4DAA/C,cAA+C,QAAG;IAAAA,oDAAA,IACwF;IAAAA,0DAAA,EAAI;IAC5IA,uDAAA,UAAM;IACRA,0DAAA,EAAM;;;;;IA5BoBA,uDAAA,EAAiB;IAAjBA,wDAAA,SAAAu8B,MAAA,CAAAqL,WAAA,CAAiB;IACtB5nC,uDAAA,EAA0B;IAA1BA,oEAAA,aAAAu8B,MAAA,CAAAuL,MAAA,OAAA1B,IAAA,CAAAl5B,EAAA,MAAAlN,2DAAA,CAA0B;IAACA,uDAAA,EAAc;IAAdA,+DAAA,CAAAomC,IAAA,CAAA14B,QAAA,CAAc;IAGtD1N,uDAAA,GAA4C;IAA5CA,wDAAA,SAAAu8B,MAAA,CAAAwL,UAAA,IAAA3B,IAAA,CAAAl4B,QAAA,KAAAk4B,IAAA,CAAAv4B,OAAA,CAA4C;IAgB3C7N,uDAAA,EAA6C;IAA7CA,wDAAA,UAAAu8B,MAAA,CAAAwL,UAAA,KAAA3B,IAAA,CAAAl4B,QAAA,IAAAk4B,IAAA,CAAAv4B,OAAA,CAA6C;IAGvC7N,uDAAA,EAAkC;IAAAA,wDAAlC,qBAAAu8B,MAAA,CAAAyL,cAAA,CAAkC,4BAAAhoC,6DAAA,KAAAioC,GAAA,EAAA7B,IAAA,EAAuB;IAEtBpmC,uDAAA,GACwF;IADxFA,gEAAA,gBAAAomC,IAAA,CAAA+B,SAAA,SAAA5L,MAAA,CAAA1tB,cAAA,CAAAu3B,IAAA,CAAAr4B,SAAA,aAAAq4B,IAAA,CAAAv4B,OAAA,uCAAAu4B,IAAA,CAAAp4B,UAAA,SAAAuuB,MAAA,CAAA1tB,cAAA,CAAAu3B,IAAA,CAAAn4B,UAAA,MACwF;;;;;IAQxIjO,4DAAA,SAA+B;IAC7BA,oDAAA,GAAU;IAAAA,uDAAA,SAAI;IACmBA,4DAAjC,eAAiC,QAAG;IAAAA,oDAAA,GACK;IAC3CA,0DAD2C,EAAI,EAAO,EACjD;;;;;IAHHA,uDAAA,EAAU;IAAVA,gEAAA,MAAAooC,KAAA,CAAAr5B,IAAA,KAAU;IAC0B/O,uDAAA,GACK;IADLA,gEAAA,QAAAooC,KAAA,CAAAt6B,OAAA,SAAAyuB,MAAA,CAAA1tB,cAAA,CAAAu5B,KAAA,CAAAr6B,SAAA,MACK;;;;;IAJ7C/N,4DAAA,aAA8C;IAC5CA,wDAAA,IAAAsoC,gDAAA,iBAA+B;IAKjCtoC,0DAAA,EAAK;;;;IALeA,uDAAA,EAAW;IAAXA,wDAAA,YAAAu8B,MAAA,CAAAgM,QAAA,CAAW;;;AD9C3B,MAAOC,oBAAoB;EAM/B,IAAoBC,KAAKA,CAACA,KAAkB;IAC1C,IAAI,CAACC,gBAAgB,GAAG,KAAK;IAC7B;IACA,IAAI,CAACr4B,WAAW,GAAGo4B,KAAK,CAAC1oC,MAAM,CAAC8M,CAAC,IAAI,CAACA,CAAC,CAACgB,OAAO,CAAC;IAChD,IAAI,CAACA,OAAO,GAAG46B,KAAK,CAAC1oC,MAAM,CAAC8M,CAAC,IAAIA,CAAC,CAACgB,OAAO,CAAC;EAC7C;EAcA1N,YACUkc,IAAgB,EAChBssB,YAAyB;IADzB,KAAAtsB,IAAI,GAAJA,IAAI;IACJ,KAAAssB,YAAY,GAAZA,YAAY;IAtBb,KAAAj0B,QAAQ,GAAW,YAAY;IAU9B,KAAAk0B,QAAQ,GAAsB,IAAI3M,uDAAY,EAAE;IAChD,KAAA2K,MAAM,GAAsB,IAAI3K,uDAAY,EAAE;IAC9C,KAAA4M,QAAQ,GAAsB,IAAI5M,uDAAY,EAAE;IAChD,KAAAuK,QAAQ,GAAsB,IAAIvK,uDAAY,EAAE;IAE1D,KAAAptB,cAAc,GAAG7C,8CAAI,CAACuiB,UAAU;IAEhC,KAAAma,gBAAgB,GAAG,IAAI;IAiCvB,KAAAI,eAAe,GAAS,EAAE;IAyD1B,KAAAP,QAAQ,GAAa,EAAE;EApFnB;EAEJQ,WAAWA,CAAA;IACT,IAAI,IAAI,CAACL,gBAAgB,EACvB,IAAI,CAACM,aAAa,EAAE,CAAC,KAErB,IAAI,CAACJ,QAAQ,CAACvL,IAAI,EAAE;EACxB;EAEA2L,aAAaA,CAAA;IACX,IAAI,CAAC3sB,IAAI,CAACza,GAAG,CAAe,IAAI,CAACkmC,MAAM,CAAC;IAAA,CACvC1mC,SAAS,CAAE0P,IAAiB,IAAG;MAC9B;MACA,IAAI,CAACT,WAAW,GAAGS,IAAI,CAAC/Q,MAAM,CAAC8M,CAAC,IAAI,CAACA,CAAC,CAACgB,OAAO,CAAC;MAC/C,IAAI,CAACA,OAAO,GAAGiD,IAAI,CAAC/Q,MAAM,CAAC8M,CAAC,IAAIA,CAAC,CAACgB,OAAO,CAAC;IAC5C,CAAC,CAAC;EACJ;EAEAy5B,WAAWA,CAACz6B,CAAY;IACtB,IAAIo8B,IAAI,GAAGp8B,CAAC,CAACc,OAAO,IAAE,EAAE;IACxB,OAAO,CAAC,IAAEs7B,IAAI,CAACC,KAAK,CAAC,MAAM,CAAC,EAAEvmC,MAAM,IAAE,CAAC,CAAC;EAC1C;EAEAwkC,UAAUA,CAACplC,KAAmB;IAC5B,IAAIA,KAAK,CAAC6iB,GAAG,IAAI,OAAO,IAAI,CAAC7iB,KAAK,CAAConC,QAAQ,EAC3BpnC,KAAK,CAACizB,MAAO,CAACoU,IAAI,EAAE;EACtC;EAGArC,gBAAgBA,CAACp5B,OAAe;IAC9B,IAAI,CAACm7B,eAAe,GAAGn7B,OAAO;EAChC;EAEA;EACAs5B,aAAaA,CAAC/5B,EAAS,EAAEnL,KAAW;IAClC,IAAIizB,MAAM,GAAuBjzB,KAAK,CAACizB,MAAM;IAC7C,IAAI8T,eAAe,GAAG,IAAI,CAACA,eAAe;IAC1C,IAAIn7B,OAAO,GAAGqnB,MAAM,CAACuC,KAAK;IAC1B,IAAIuR,eAAe,IAAIn7B,OAAO,EAC5B;IACF,IAAI,CAAC0O,IAAI,CAACkB,GAAG,CAAM,GAAG,IAAI,CAACuqB,MAAM,IAAI56B,EAAE,EAAE,EAAC;MAACS;IAAO,CAAC,CAAC,CACnDvM,SAAS,CACRwN,GAAG,IAAG;MACF,IAAI,CAACm6B,WAAW,EAAE;IACxB,CAAC,EACDhuB,KAAK,IAAG;MACNia,MAAM,CAACuC,KAAK,GAAGuR,eAAe;MAC9B,IAAI,CAAC/tB,KAAK,CAAC,+BAA+B,EAACA,KAAK,CAAC;IACnD,CAAC,CACA;EACH;EAEA2rB,WAAWA,CAACx5B,EAAU;IACpB,IAAI,IAAI,CAAC27B,QAAQ,CAACQ,SAAS,CAAC1mC,MAAM,EAAE;MAClC;MACA,IAAI,CAACkmC,QAAQ,CAACxL,IAAI,CAAC;QAACnwB;MAAE,CAAC,CAAC;MACxB;IACF;IACA;IACA,IAAI,CAACo8B,GAAG,CAACp8B,EAAE,CAAC;EACd;EAEA;EACAo8B,GAAGA,CAACp8B,EAAU,EAAEiO,GAAW;IACzBA,GAAG,GAAGA,GAAG,IAAI,iCAAiC,IAAI,CAACzG,QAAQ,GAAG;IAC9D,IAAI,CAACi0B,YAAY,CAACvO,GAAG,CAAC,UAAU,IAAI,CAAC1lB,QAAQ,EAAE,EAAEyG,GAAG,CAAC,CACpDrZ,IAAI,CACHqf,yDAAS,CAACvS,GAAG,IAAG;MACd,OAAOA,GAAG,GACR,IAAI,CAACyN,IAAI,CAACwB,MAAM,CAAC,GAAG,IAAI,CAACiqB,MAAM,IAAI56B,EAAE,EAAE,CAAC,CAACpL,IAAI,CAACqf,yDAAS,CAAC7hB,CAAC,IAAI4hB,wCAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GACrEA,wCAAE,CAAC,KAAK,CAAC;IACf,CAAC,CAAC,CACH,CACA9f,SAAS,CACRwN,GAAG,IAAG;MACJ,IAAIA,GAAG,EACH,IAAI,CAACm6B,WAAW,EAAE;IACxB,CAAC,EACDhuB,KAAK,IAAG;MACN,IAAI,CAACA,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IAClD,CAAC,CACF;EACH;EAKA;EACAwuB,YAAYA,CAACr8B,EAAU;IACrB,IAAI,CAACmP,IAAI,CAACza,GAAG,CAAY,GAAG,IAAI,CAACkmC,MAAM,UAAU56B,EAAE,EAAE,CAAC,CAACpL,IAAI,CACzDqI,mDAAG,CAAC1L,CAAC,IAAG;MACN,OAAOA,CAAC,CAAC0L,GAAG,CAACiC,CAAC,IAAIf,gEAAO,CAACuB,QAAQ,CAACR,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CACH,CACAhL,SAAS,CACRwN,GAAG,IAAG;MACJ,IAAI,CAACA,GAAG,CAACjM,MAAM,EAAE;QACf,IAAI,CAACgmC,YAAY,CAACa,MAAM,CACtB,kBAAkB,EAClB,gDAAgD,CAC/C,CAACpoC,SAAS,EAAE;QACf;MACF;MACA,IAAI,CAACmnC,QAAQ,GAAG35B,GAAG;MACnB,IAAI,CAAC+5B,YAAY,CAACnP,IAAI,CAAC;QACrB37B,KAAK,EAAE,kBAAkB;QACzBiG,QAAQ,EAAE,IAAI,CAAC2lC;OAChB,CAAC,CAACroC,SAAS,EAAE;IAChB,CAAC,EACD2Z,KAAK,IAAG;MACN,IAAI,CAACA,KAAK,CAAC,kCAAkC,EAAEA,KAAK,CAAC;IACvD,CAAC,CACF;EACH;EAEAA,KAAKA,CAACI,GAAG,EAAC0G,GAAG;IACXA,GAAG,GAAGA,GAAG,IAAE,EAAE;IACb1G,GAAG,IAAI,OAAO,IAAInP,8CAAI,CAACmlB,YAAY,CAACtP,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC8mB,YAAY,CAACa,MAAM,CAAC,OAAO,EAACruB,GAAG,CAAC,CAAC/Z,SAAS,EAAE;EACnD;EAGAqkC,QAAQA,CAACjW,CAAS;IAChB,IAAIL,KAAK,GAAG,IAAI,CAACua,UAAU,GAAG,gBAAgB,GAAG,EAAE;IACnD,IAAIla,CAAC,KAAK,IAAI,CAAC6W,QAAQ,EACrBlX,KAAK,IAAI,WAAW;IACtB,OAAOA,KAAK;EACd;EAEAoW,UAAUA,CAAC/V,CAAQ;IACjB,IAAI,CAAC,IAAI,CAACka,UAAU,EAClB;IACF,IAAI,CAACrD,QAAQ,GAAG7W,CAAC;IACjB,IAAI,CAACgX,QAAQ,CAACnJ,IAAI,CAAC7N,CAAC,CAAC;EACvB;EAEAma,QAAQA,CAAA;IACN,IAAI,CAACtD,QAAQ,GAAG/jC,SAAS;EAC3B;EAAC,QAAAhD,CAAA;qBAtKUkpC,oBAAoB,EAAAxoC,+DAAA,CAAAL,4DAAA,GAAAK,+DAAA,CAAAmD,8DAAA;EAAA;EAAA,QAAA5D,EAAA;UAApBipC,oBAAoB;IAAA9kC,SAAA;IAAAo3B,SAAA,WAAA8O,2BAAA5lC,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;QC4CjChE,wDA7DA,IAAA6pC,mCAAA,iBAA6C,IAAAC,mCAAA,iBAY2B,IAAAC,mCAAA,iBAKnC,IAAAC,2CAAA,kCAAAhqC,oEAAA,CAUY,IAAAiqC,2CAAA,gCAAAjqC,oEAAA,CAkCtB;;;QA7DrBA,wDAAA,SAAAiE,GAAA,CAAAoM,WAAA,IAAApM,GAAA,CAAAoM,WAAA,CAAA1N,MAAA,CAAqC;QAYrC3C,uDAAA,EAAwC;QAAxCA,wDAAA,WAAAiE,GAAA,CAAAoM,WAAA,IAAApM,GAAA,CAAAoM,WAAA,CAAA1N,MAAA,EAAwC;QAKxC3C,uDAAA,EAA6B;QAA7BA,wDAAA,SAAAiE,GAAA,CAAA4J,OAAA,IAAA5J,GAAA,CAAA4J,OAAA,CAAAlL,MAAA,CAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjB4F;AAIrG;AACsB;AAEZ;AACkB;;;;;;;;;;;ICNlD3C,4DAAA,YAAkE;IAChEA,gEAAA,MAAgG;IAClGA,0DAAA,EAAK;;;;;;IADWA,uDAAA,EAAgC;IAACA,wDAAjC,qBAAAkqC,cAAA,CAAgC,4BAAAlqC,6DAAA,IAAA4lC,GAAA,EAAAuE,IAAA,EAAkC;;;;;IAFpFnqC,4DADF,UAAuC,YACgB;IACnDA,wDAAA,IAAAoqC,qCAAA,gBAAkE;IAItEpqC,0DADE,EAAK,EACD;;;;IAJmDA,uDAAA,GAAW;IAAXA,wDAAA,YAAAu8B,MAAA,CAAApsB,QAAA,CAAW;;;;;IAUhEnQ,4DAAA,YAA0C;IACxCA,gEAAA,MAAgG;IAClGA,0DAAA,EAAK;;;;;;IADWA,uDAAA,EAAgC;IAACA,wDAAjC,qBAAAkqC,cAAA,CAAgC,4BAAAlqC,6DAAA,IAAA4lC,GAAA,EAAAyE,IAAA,EAAkC;;;;;IAHpFrqC,4DADF,UAAqC,QAChC;IAAAA,oDAAA,wBAAiB;IAAAA,0DAAA,EAAI;IACxBA,4DAAA,YAAqD;IACnDA,wDAAA,IAAAsqC,qCAAA,gBAA0C;IAI9CtqC,0DADE,EAAK,EACD;;;;IAJ4BA,uDAAA,GAAU;IAAVA,wDAAA,YAAAu8B,MAAA,CAAA1uB,OAAA,CAAU;;;;;;IAiBpC7N,4DAAA,YAAoF;IAA7DA,wDAAA,mBAAAuqC,sEAAA;MAAAvqC,2DAAA,CAAAq2B,GAAA;MAAA,MAAAmU,IAAA,GAAAxqC,2DAAA,IAAAoM,CAAA;MAAA,MAAAmwB,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAASu8B,MAAA,CAAAkO,YAAA,CAAAD,IAAA,CAAAt9B,EAAA,CAAkB;IAAA,EAAC;IACjDlN,uDAAA,YAA6C;IAC/CA,0DAAA,EAAI;;;;;;IATNA,4DADF,cAAkF,mBAM/E;IAFCA,wDAFA,mBAAA0qC,yEAAAjiC,MAAA;MAAAzI,2DAAA,CAAA2qC,GAAA;MAAA,MAAApO,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAASu8B,MAAA,CAAAwK,gBAAA,CAAAt+B,MAAA,CAAAusB,MAAA,CAAAuC,KAAA,CAA2C;IAAA,EAAC,kBAAAqT,wEAAAniC,MAAA;MAAAzI,2DAAA,CAAA2qC,GAAA;MAAA,MAAAH,IAAA,GAAAxqC,2DAAA,GAAAoM,CAAA;MAAA,MAAAmwB,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAC7Cu8B,MAAA,CAAA0K,aAAA,CAAAuD,IAAA,CAAAt9B,EAAA,EAAAzE,MAAA,CAA0B;IAAA,EAAC,sBAAAoiC,4EAAApiC,MAAA;MAAAzI,2DAAA,CAAA2qC,GAAA;MAAA,MAAApO,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CACvBu8B,MAAA,CAAA4K,UAAA,CAAA1+B,MAAA,CAAkB;IAAA,EAAC;IAEhCzI,oDAAA,GAAU;IAAAA,0DAAA,EAAW;IACtBA,4DAAA,cAA0B;IACxBA,wDAAA,IAAA8qC,kDAAA,gBAAoF;IAGpF9qC,4DAAA,YAA2G;IAAxGA,wDAAA,mBAAA+qC,kEAAA;MAAA/qC,2DAAA,CAAA2qC,GAAA;MAAA,MAAAH,IAAA,GAAAxqC,2DAAA,GAAAoM,CAAA;MAAA,MAAAmwB,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAASu8B,MAAA,CAAAmK,WAAA,CAAA8D,IAAA,CAAAt9B,EAAA,CAAiB;IAAA,EAAC;IAC5BlN,uDAAA,YAAiC;IAGvCA,0DAFI,EAAI,EACA,EACF;;;;;IAVFA,uDAAA,EAA2C;IAA3CA,wDAAA,CAAAwqC,IAAA,CAAAx7B,UAAA,4BAA2C;IAJpBhP,wDAAA,SAAAu8B,MAAA,CAAA+K,WAAA,CAAAkD,IAAA,EAAuB;IAK/CxqC,uDAAA,EAAU;IAAVA,+DAAA,CAAAwqC,IAAA,CAAAz7B,IAAA,CAAU;IAEL/O,uDAAA,GAAiB;IAAjBA,wDAAA,SAAAu8B,MAAA,CAAA0O,WAAA,CAAiB;;;;;;IAWrBjrC,4DAAA,YAAoF;IAA7DA,wDAAA,mBAAAkrC,sEAAA;MAAAlrC,2DAAA,CAAAy3B,GAAA;MAAA,MAAA+S,IAAA,GAAAxqC,2DAAA,IAAAoM,CAAA;MAAA,MAAAmwB,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAASu8B,MAAA,CAAAkO,YAAA,CAAAD,IAAA,CAAAt9B,EAAA,CAAkB;IAAA,EAAC;IACjDlN,uDAAA,YAA6C;IAC/CA,0DAAA,EAAI;;;;;IAJNA,4DADF,aAAiE,cACW;IAAAA,oDAAA,GAAU;IAAAA,0DAAA,EAAM;IAC1FA,4DAAA,cAAmB;IACjBA,wDAAA,IAAAmrC,kDAAA,gBAAoF;IAIxFnrC,0DADE,EAAM,EACF;;;;;IAN0BA,uDAAA,EAA2C;IAA3CA,wDAAA,CAAAwqC,IAAA,CAAAx7B,UAAA,4BAA2C;IAAChP,uDAAA,EAAU;IAAVA,+DAAA,CAAAwqC,IAAA,CAAAz7B,IAAA,CAAU;IAE9E/O,uDAAA,GAAiB;IAAjBA,wDAAA,SAAAu8B,MAAA,CAAA0O,WAAA,CAAiB;;;;;IApB3BjrC,4DAAA,aAAoB;IAiBlBA,wDAhBA,IAAAorC,8CAAA,kBAAkF,IAAAC,8CAAA,kBAgBjB;IAQnErrC,0DAAA,EAAM;IACyCA,4DAA/C,cAA+C,QAAG;IAAAA,oDAAA,GACwF;IAAAA,0DAAA,EAAI;IAC5IA,uDAAA,aAAuB;IACzBA,0DAAA,EAAM;;;;;IA5BEA,uDAAA,EAA4C;IAA5CA,wDAAA,SAAAu8B,MAAA,CAAAwL,UAAA,IAAAyC,IAAA,CAAAt8B,QAAA,KAAAs8B,IAAA,CAAA38B,OAAA,CAA4C;IAgBhC7N,uDAAA,EAA6C;IAA7CA,wDAAA,UAAAu8B,MAAA,CAAAwL,UAAA,KAAAyC,IAAA,CAAAt8B,QAAA,IAAAs8B,IAAA,CAAA38B,OAAA,CAA6C;IASf7N,uDAAA,GACwF;IADxFA,gEAAA,gBAAAwqC,IAAA,CAAArC,SAAA,SAAA5L,MAAA,CAAA1tB,cAAA,CAAA27B,IAAA,CAAAz8B,SAAA,aAAAy8B,IAAA,CAAA38B,OAAA,uCAAA28B,IAAA,CAAAx8B,UAAA,SAAAuuB,MAAA,CAAA1tB,cAAA,CAAA27B,IAAA,CAAAv8B,UAAA,MACwF;;;;;IAOxIjO,4DAAA,SAA+B;IAC7BA,oDAAA,GAAU;IAAAA,uDAAA,SAAI;IACmBA,4DAAjC,eAAiC,QAAG;IAAAA,oDAAA,GACM;IAC5CA,0DAD4C,EAAI,EAAO,EAClD;;;;;IAHHA,uDAAA,EAAU;IAAVA,gEAAA,MAAAsrC,IAAA,CAAAv8B,IAAA,KAAU;IAC0B/O,uDAAA,GACM;IADNA,gEAAA,QAAAsrC,IAAA,CAAAt9B,UAAA,SAAAuuB,MAAA,CAAA1tB,cAAA,CAAAy8B,IAAA,CAAAr9B,UAAA,MACM;;;;;IAJ9CjO,4DAAA,aAA8C;IAC5CA,wDAAA,IAAAurC,6CAAA,iBAA+B;IAKjCvrC,0DAAA,EAAK;;;;IALeA,uDAAA,EAAW;IAAXA,wDAAA,YAAAu8B,MAAA,CAAAgM,QAAA,CAAW;;;ADtC3B,MAAOiD,iBAAiB;EAI5B,IAAoB/C,KAAKA,CAACA,KAAe;IACvC,IAAI,CAACC,gBAAgB,GAAG,KAAK;IAC7B;IACA,IAAI,CAACv4B,QAAQ,GAAGs4B,KAAK,CAAC1oC,MAAM,CAACqM,CAAC,IAAI,CAACA,CAAC,CAACyB,OAAO,CAAC;IAC7C,IAAI,CAACA,OAAO,GAAG46B,KAAK,CAAC1oC,MAAM,CAACqM,CAAC,IAAIA,CAAC,CAACyB,OAAO,CAAC;EAC7C;EASA1N,YACUkc,IAAgB,EAChBssB,YAAyB;IADzB,KAAAtsB,IAAI,GAAJA,IAAI;IACJ,KAAAssB,YAAY,GAAZA,YAAY;IAVZ,KAAAC,QAAQ,GAAsB,IAAI3M,uDAAY,EAAE;IAChD,KAAA2K,MAAM,GAAsB,IAAI3K,uDAAY,EAAE;IAExD,KAAAptB,cAAc,GAAG7C,8CAAI,CAACuiB,UAAU;IAEhC,KAAAma,gBAAgB,GAAG,IAAI;IAiBvB,KAAAI,eAAe,GAAS,EAAE;IAwD1B,KAAAP,QAAQ,GAAa,EAAE;EAnEnB;EAEJjB,WAAWA,CAACl7B,CAAS;IACnB,IAAI68B,IAAI,GAAG78B,CAAC,CAAC2C,IAAI,IAAE,EAAE;IACrB,OAAO,CAAC,IAAEk6B,IAAI,CAACC,KAAK,CAAC,MAAM,CAAC,EAAEvmC,MAAM,IAAE,CAAC,CAAC;EAC1C;EAEAwkC,UAAUA,CAACplC,KAAmB;IAC5B,IAAIA,KAAK,CAAC6iB,GAAG,IAAI,OAAO,IAAI,CAAC7iB,KAAK,CAAConC,QAAQ,EAC3BpnC,KAAK,CAACizB,MAAO,CAACoU,IAAI,EAAE;EACtC;EAGArC,gBAAgBA,CAACp5B,OAAe;IAC9B,IAAI,CAACm7B,eAAe,GAAGn7B,OAAO;EAChC;EAEA;EACAs5B,aAAaA,CAAC/5B,EAAS,EAAEnL,KAAW;IAClC,IAAIizB,MAAM,GAAuBjzB,KAAK,CAACizB,MAAM;IAC7C,IAAI8T,eAAe,GAAG,IAAI,CAACA,eAAe;IAC1C,IAAIn7B,OAAO,GAAGqnB,MAAM,CAACuC,KAAK;IAC1B,IAAIuR,eAAe,IAAIn7B,OAAO,EAC5B;IACF,IAAI,CAAC0O,IAAI,CAACkB,GAAG,CAAU,GAAG,IAAI,CAACuqB,MAAM,SAAS56B,EAAE,EAAE,EAAC;MAACS;IAAO,CAAC,CAAC,CAC5DvM,SAAS,CAACwN,GAAG,IAAG;MACf,IAAIiC,GAAG,GAAG,IAAI,CAACV,QAAQ,CAACoqB,SAAS,CAACnuB,CAAC,IAAIA,CAAC,CAACc,EAAE,IAAIA,EAAE,CAAC;MAClD,IAAI2D,GAAG,IAAI,CAAC,EACV,IAAI,CAACV,QAAQ,CAACU,GAAG,CAAC,GAAGxF,gEAAO,CAACuB,QAAQ,CAACgC,GAAG,CAAC;MAC5C,IAAI,CAACg6B,QAAQ,CAACvL,IAAI,EAAE;IACtB,CAAC,EACDtiB,KAAK,IAAG;MACNia,MAAM,CAACuC,KAAK,GAAGuR,eAAe;MAC9B,IAAI,CAAC/tB,KAAK,CAAC,+BAA+B,EAACA,KAAK,CAAC;IACnD,CAAC,CACA;EACH;EAEA;EACA2rB,WAAWA,CAACx5B,EAAU;IACpB,IAAIiO,GAAG,GAAG,wCAAwC;IAClD,IAAI,CAACwtB,YAAY,CAACvO,GAAG,CAAC,gBAAgB,EAAEjf,GAAG,CAAC,CAC3CrZ,IAAI,CACHqf,yDAAS,CAACvS,GAAG,IAAG;MACd,OAAOA,GAAG,GACR,IAAI,CAACyN,IAAI,CAACwB,MAAM,CAAC,GAAG,IAAI,CAACiqB,MAAM,SAAS56B,EAAE,EAAE,CAAC,GAC3CgU,wCAAE,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CACH,CACA9f,SAAS,CACRwN,GAAG,IAAG;MACJ,IAAIA,GAAG,KAAG,CAAC,EAAC;QACV,IAAIiC,GAAG,GAAG,IAAI,CAACV,QAAQ,CAACoqB,SAAS,CAACnuB,CAAC,IAAIA,CAAC,CAACc,EAAE,IAAIA,EAAE,CAAC;QAClD,IAAI2D,GAAG,IAAI,CAAC,EAAE;UACZ,IAAI,CAACV,QAAQ,CAACU,GAAG,CAAC,CAAChD,OAAO,GAAG,IAAI;UACjC,IAAI,CAACA,OAAO,GAAG,CAAC,IAAI,CAACsC,QAAQ,CAACU,GAAG,CAAC,EAAE,GAAG,IAAI,CAAChD,OAAO,CAAC;UACpD,IAAI,CAACsC,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACpQ,MAAM,CAACqM,CAAC,IAAIA,CAAC,CAACc,EAAE,IAAIA,EAAE,CAAC;QACvD;QACA,IAAI,CAAC07B,QAAQ,CAACvL,IAAI,EAAE;MACtB;IACF,CAAC,EACDtiB,KAAK,IAAG;MACN,IAAI,CAACA,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;IAC/C,CAAC,CACF;EACH;EAKA;EACA0vB,YAAYA,CAACv9B,EAAU;IACrB,IAAI,CAACmP,IAAI,CAACza,GAAG,CAAY,GAAG,IAAI,CAACkmC,MAAM,SAAS56B,EAAE,EAAE,CAAC,CAACpL,IAAI,CACxDqI,mDAAG,CAAC1L,CAAC,IAAG;MACN,OAAOA,CAAC,CAAC0L,GAAG,CAACiC,CAAC,IAAIf,gEAAO,CAACuB,QAAQ,CAACR,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CACH,CACAhL,SAAS,CACRwN,GAAG,IAAG;MACJ,IAAI,CAACA,GAAG,CAACjM,MAAM,EAAE;QACf,IAAI,CAACgmC,YAAY,CAACa,MAAM,CACtB,kBAAkB,EAClB,4CAA4C,CAC3C,CAACpoC,SAAS,EAAE;QACf;MACF;MACA,IAAI,CAACmnC,QAAQ,GAAG35B,GAAG;MACnB,IAAI,CAAC+5B,YAAY,CAACnP,IAAI,CAAC;QACrB37B,KAAK,EAAE,kBAAkB;QACzBiG,QAAQ,EAAE,IAAI,CAAC2lC;OAChB,CAAC,CAACroC,SAAS,EAAE;IAChB,CAAC,EACD2Z,KAAK,IAAG;MACN,IAAI,CAACA,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;IAC9C,CAAC,CACF;EACH;EAEAA,KAAKA,CAACI,GAAG,EAAC0G,GAAG;IACXA,GAAG,GAAGA,GAAG,IAAE,EAAE;IACb1G,GAAG,IAAI,OAAO,IAAInP,8CAAI,CAACmlB,YAAY,CAACtP,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC8mB,YAAY,CAACa,MAAM,CAAC,OAAO,EAACruB,GAAG,CAAC,CAAC/Z,SAAS,EAAE;EACnD;EAAC,QAAA9B,CAAA;qBA3HUksC,iBAAiB,EAAAxrC,+DAAA,CAAAL,4DAAA,GAAAK,+DAAA,CAAAmD,8DAAA;EAAA;EAAA,QAAA5D,EAAA;UAAjBisC,iBAAiB;IAAA9nC,SAAA;IAAAo3B,SAAA,WAAA2Q,wBAAAznC,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;;;;;;;;;;;;;;;;;;;;;;;QCoC9BhE,wDApDA,IAAA0rC,gCAAA,iBAAuC,IAAAC,gCAAA,iBASF,IAAAC,wCAAA,gCAAA5rC,oEAAA,CAUD,IAAA6rC,wCAAA,gCAAA7rC,oEAAA,CAiCT;;;QApDrBA,wDAAA,SAAAiE,GAAA,CAAAkM,QAAA,IAAAlM,GAAA,CAAAkM,QAAA,CAAAxN,MAAA,CAA+B;QAS/B3C,uDAAA,EAA6B;QAA7BA,wDAAA,SAAAiE,GAAA,CAAA4J,OAAA,IAAA5J,GAAA,CAAA4J,OAAA,CAAAlL,MAAA,CAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;ACToC;AACuC;;;;;;;;ICmB5G3C,4DAAA,gBACqC;IAAnCA,wDAAA,mBAAA+rC,6DAAAtjC,MAAA;MAAAzI,2DAAA,CAAA8I,GAAA;MAAA,MAAAkjC,MAAA,GAAAhsC,2DAAA;MAAA,OAAAA,yDAAA,CAASgsC,MAAA,CAAAC,gBAAA,CAAAxjC,MAAA,CAAwB;IAAA,EAAC;IAClCzI,uDAAA,WAAoC;IACtCA,0DAAA,EAAS;;;;;;IAITA,4DAAA,cAE0C;IAAxCA,wDADkD,wBAAAksC,qEAAA;MAAA,MAAAC,OAAA,GAAAnsC,2DAAA,CAAA2qC,GAAA,EAAA3U,SAAA;MAAA,MAAAgW,MAAA,GAAAhsC,2DAAA;MAAA,OAAAA,yDAAA,CAAAgsC,MAAA,CAAAtgB,KAAA,CAAA0gB,WAAA,GAAAD,OAAA;IAAA,EAAuC,wBAAAE,qEAAA;MAAArsC,2DAAA,CAAA2qC,GAAA;MAAA,MAAAqB,MAAA,GAAAhsC,2DAAA;MAAA,OAAAA,yDAAA,CAAAgsC,MAAA,CAAAtgB,KAAA,CAAA0gB,WAAA,GACvD,IAAI;IAAA,EAAC;IACvCpsC,oDAAA,GACF;IAAAA,0DAAA,EAAO;;;;;;IAHLA,yDADuB,YAAAusC,UAAA,CAAyB,UAAAP,MAAA,CAAAQ,OAAA,CAAAL,OAAA,EAA8B,UAAAH,MAAA,CAAAS,SAAA,CAAAN,OAAA,KAAAH,MAAA,CAAAU,QAAA,CAAAP,OAAA,EAC7B;IAEjDnsC,uDAAA,EACF;IADEA,gEAAA,MAAAmsC,OAAA,CAAA7d,GAAA,MACF;;;;;;IAIAtuB,uDAAA,YAAmB;IAIbA,4DAHN,cAA6B,cACE,gBACK,gBAC+E;IAApDA,8DAAA,2BAAA2sC,yEAAAlkC,MAAA;MAAAzI,2DAAA,CAAAy3B,GAAA;MAAA,MAAAuU,MAAA,GAAAhsC,2DAAA;MAAAA,gEAAA,CAAAgsC,MAAA,CAAAtgB,KAAA,CAAAkhB,SAAA,EAAAnkC,MAAA,MAAAujC,MAAA,CAAAtgB,KAAA,CAAAkhB,SAAA,GAAAnkC,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAA6B;IAAtFzI,0DAAA,EAA6G;IAC7GA,oDAAA,cACF;IACFA,0DADE,EAAQ,EACJ;IAGFA,4DAFJ,cAA6B,gBACK,gBAC+E;IAApDA,8DAAA,2BAAA6sC,yEAAApkC,MAAA;MAAAzI,2DAAA,CAAAy3B,GAAA;MAAA,MAAAuU,MAAA,GAAAhsC,2DAAA;MAAAA,gEAAA,CAAAgsC,MAAA,CAAAtgB,KAAA,CAAAkhB,SAAA,EAAAnkC,MAAA,MAAAujC,MAAA,CAAAtgB,KAAA,CAAAkhB,SAAA,GAAAnkC,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAA6B;IAAtFzI,0DAAA,EAA6G;IAC7GA,oDAAA,eACF;IACFA,0DADE,EAAQ,EACJ;IAGFA,4DAFJ,eAA6B,iBACK,iBAC+E;IAApDA,8DAAA,2BAAA8sC,0EAAArkC,MAAA;MAAAzI,2DAAA,CAAAy3B,GAAA;MAAA,MAAAuU,MAAA,GAAAhsC,2DAAA;MAAAA,gEAAA,CAAAgsC,MAAA,CAAAtgB,KAAA,CAAAkhB,SAAA,EAAAnkC,MAAA,MAAAujC,MAAA,CAAAtgB,KAAA,CAAAkhB,SAAA,GAAAnkC,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAA6B;IAAtFzI,0DAAA,EAA6G;IAC7GA,oDAAA,eACF;IACFA,0DADE,EAAQ,EACJ;IACNA,4DAAA,kBAAsF;IAAvCA,wDAAA,mBAAA+sC,mEAAA;MAAA/sC,2DAAA,CAAAy3B,GAAA;MAAA,MAAAuU,MAAA,GAAAhsC,2DAAA;MAAA,MAAAgtC,MAAA,GAAAhtC,yDAAA;MAASgsC,MAAA,CAAAkB,cAAA,EAAgB;MAAA,OAAAltC,yDAAA,CAACgtC,MAAA,CAAAnP,KAAA,EAAW;IAAA,EAAC;IAAC79B,oDAAA,aAAK;IAC7FA,0DAD6F,EAAS,EAChG;;;;IAjB6CA,uDAAA,GAAW;IAAXA,wDAAA,YAAW;IAACA,8DAAA,YAAAgsC,MAAA,CAAAtgB,KAAA,CAAAkhB,SAAA,CAA6B;IAMzC5sC,uDAAA,GAAW;IAAXA,wDAAA,YAAW;IAACA,8DAAA,YAAAgsC,MAAA,CAAAtgB,KAAA,CAAAkhB,SAAA,CAA6B;IAMzC5sC,uDAAA,GAAW;IAAXA,wDAAA,YAAW;IAACA,8DAAA,YAAAgsC,MAAA,CAAAtgB,KAAA,CAAAkhB,SAAA,CAA6B;;;ADzCvF,IAAKO,aAIX;AAJD,WAAYA,aAAa;EACvBA,aAAA,CAAAA,aAAA,wBAAS;EACTA,aAAA,CAAAA,aAAA,0BAAM;EACNA,aAAA,CAAAA,aAAA,wBAAK;AACP,CAAC,EAJWA,aAAa,KAAbA,aAAa;AAWnB,MAAOC,kBAAkB;EAM7BjtC,YACUktC,QAAqB,EACtBC,SAAiC;IADhC,KAAAD,QAAQ,GAARA,QAAQ;IACT,KAAAC,SAAS,GAATA,SAAS;IALR,KAAA9G,QAAQ,GAAG,IAAIvK,uDAAY,EAAO;IAClC,KAAAsR,OAAO,GAAG,IAAItR,uDAAY,EAAO;EAM3C;EAEAuR,gBAAgBA,CAACjd,GAAW,EAAEkd,GAAuB;IACnD,IAAI,CAACld,GAAG,EACN;IACF,IAAImd,OAAO,GAAGnd,GAAG,CAAC5N,MAAM,CAAC,GAAG,CAAC;IAC7B,IAAI+qB,OAAO,GAAG,CAAC,EAAE;MACf,IAAI,CAAChiB,KAAK,CAACiiB,QAAQ,GAAG7B,+DAAO,CAAC8B,IAAI,CAAC,IAAI,CAACN,SAAS,CAACO,KAAK,CAACtd,GAAG,CAACud,SAAS,CAAC,CAAC,EAACJ,OAAO,CAAC,CAAC,CAAC;MAClF,IAAI,CAAChiB,KAAK,CAACqiB,MAAM,GAAGjC,+DAAO,CAAC8B,IAAI,CAAC,IAAI,CAACN,SAAS,CAACO,KAAK,CAACtd,GAAG,CAACud,SAAS,CAACJ,OAAO,GAAC,CAAC,CAAC,CAAC,CAAC;MAChF,IAAI,CAAChiB,KAAK,CAACkhB,SAAS,GAAGO,aAAa,CAACzhB,KAAK;IAC5C,CAAC,MACD,IAAIgiB,OAAO,IAAI,CAAC,EAAE;MAChB,IAAI,CAAChiB,KAAK,CAACiiB,QAAQ,GAAG7B,+DAAO,CAAC8B,IAAI,CAAC,IAAI,CAACN,SAAS,CAACO,KAAK,CAACtd,GAAG,CAACud,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;MAC1E,IAAI,CAACpiB,KAAK,CAACkhB,SAAS,GAAGO,aAAa,CAACa,MAAM;IAC7C,CAAC,MACD,IAAIzd,GAAG,CAACjI,UAAU,CAAC,GAAG,CAAC,EAAE;MACvB,IAAI,CAACoD,KAAK,CAACiiB,QAAQ,GAAG7B,+DAAO,CAAC8B,IAAI,CAAC,IAAI,CAACN,SAAS,CAACO,KAAK,CAACtd,GAAG,CAACud,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;MAC1E,IAAI,CAACpiB,KAAK,CAACkhB,SAAS,GAAGO,aAAa,CAACc,KAAK;IAC5C;IACA,IAAI,IAAI,CAACviB,KAAK,CAACiiB,QAAQ,EACrBF,GAAG,CAACS,UAAU,CAAC,IAAI,CAACxiB,KAAK,CAACiiB,QAAQ,CAAC;EACvC;EAEAQ,iBAAiBA,CAAC7hB,IAAa;IAC7B,IAAI,IAAI,CAACZ,KAAK,CAACkhB,SAAS,IAAIO,aAAa,CAACzhB,KAAK,EAAE;MAC/C,IAAI,CAACA,KAAK,CAACqiB,MAAM,GAAG,IAAI;MACxB,IAAI,CAACriB,KAAK,CAACiiB,QAAQ,GAAGrhB,IAAI;IAC5B,CAAC,MACC,IAAI,CAAC,IAAI,CAACZ,KAAK,CAACiiB,QAAQ,IAAI,CAAC,IAAI,CAACjiB,KAAK,CAACqiB,MAAM,EAAE;MAC9C,IAAI,CAACriB,KAAK,CAACiiB,QAAQ,GAAGrhB,IAAI;IAC9B,CAAC,MACD,IAAI,IAAI,CAACZ,KAAK,CAACiiB,QAAQ,IAAI,CAAC,IAAI,CAACjiB,KAAK,CAACqiB,MAAM,IAAIzhB,IAAI,IAAIA,IAAI,CAAC2hB,KAAK,CAAC,IAAI,CAACviB,KAAK,CAACiiB,QAAQ,CAAC,EAAE;MACxF,IAAI,CAACjiB,KAAK,CAACqiB,MAAM,GAAGzhB,IAAI;IAC1B,CAAC,MAAM;MACL,IAAI,CAACZ,KAAK,CAACqiB,MAAM,GAAG,IAAI;MACxB,IAAI,CAACriB,KAAK,CAACiiB,QAAQ,GAAGrhB,IAAI;IAC5B;EACF;EAEAmgB,SAASA,CAACngB,IAAa;IACrB,OACE,IAAI,CAACZ,KAAK,CAACiiB,QAAQ,IAAI,CAAC,IAAI,CAACjiB,KAAK,CAACqiB,MAAM,IAAI,IAAI,CAACriB,KAAK,CAAC0gB,WAAW,IAAI9f,IAAI,CAAC2hB,KAAK,CAAC,IAAI,CAACviB,KAAK,CAACiiB,QAAQ,CAAC,IAAIrhB,IAAI,CAAC0hB,MAAM,CAAC,IAAI,CAACtiB,KAAK,CAAC0gB,WAAW,CAAC;EAEjJ;EAEAM,QAAQA,CAACpgB,IAAa;IACpB,QAAQ,IAAI,CAACZ,KAAK,CAACkhB,SAAS;MAC5B,KAAKO,aAAa,CAACc,KAAK;QACpB,OAAO,IAAI,CAACviB,KAAK,CAACiiB,QAAQ,IAAIrhB,IAAI,CAAC2hB,KAAK,CAAC,IAAI,CAACviB,KAAK,CAACiiB,QAAQ,CAAC;MACjE,KAAKR,aAAa,CAACa,MAAM;QACrB,OAAO,IAAI,CAACtiB,KAAK,CAACiiB,QAAQ,IAAIrhB,IAAI,CAAC0hB,MAAM,CAAC,IAAI,CAACtiB,KAAK,CAACiiB,QAAQ,CAAC;MAClE,KAAKR,aAAa,CAACzhB,KAAK;QACpB,OAAO,IAAI,CAACA,KAAK,CAACqiB,MAAM,IAAIzhB,IAAI,CAAC2hB,KAAK,CAAC,IAAI,CAACviB,KAAK,CAACiiB,QAAQ,CAAC,IAAIrhB,IAAI,CAAC0hB,MAAM,CAAC,IAAI,CAACtiB,KAAK,CAACqiB,MAAM,CAAC;IACjG;EACF;EAEAvB,OAAOA,CAAClgB,IAAa;IACnB,OACEA,IAAI,CAAC8hB,MAAM,CAAC,IAAI,CAAC1iB,KAAK,CAACiiB,QAAQ,CAAC,IAC/B,IAAI,CAACjiB,KAAK,CAACqiB,MAAM,IAAIzhB,IAAI,CAAC8hB,MAAM,CAAC,IAAI,CAAC1iB,KAAK,CAACqiB,MAAM,CAAE,IACrD,IAAI,CAACrB,QAAQ,CAACpgB,IAAI,CAAC,IACnB,IAAI,CAACmgB,SAAS,CAACngB,IAAI,CAAC;EAExB;EAEO+hB,aAAaA,CAACC,MAAM;IACzB,OAAO,IAAI,CAAC5iB,KAAK,CAACkhB,SAAS,IAAIO,aAAa,CAACzhB,KAAK,IAAI,CAAC,CAAC,IAAI,CAACA,KAAK,CAACqiB,MAAM;EAC3E;EAEAQ,aAAaA,CAACzR,YAA4B,EAAE0R,KAAa;IACvD,MAAMC,MAAM,GAAG,IAAI,CAACnB,SAAS,CAACO,KAAK,CAACW,KAAK,CAAC;IAC1C,OAAOC,MAAM,IAAI,IAAI,CAACpB,QAAQ,CAACqB,OAAO,CAAC5C,+DAAO,CAAC8B,IAAI,CAACa,MAAM,CAAC,CAAC,GAAG3C,+DAAO,CAAC8B,IAAI,CAACa,MAAM,CAAC,GAAG3R,YAAY;EACpG;EAEAoQ,cAAcA,CAAA;IACZ,IAAInrC,KAAK,GAAG;MACVizB,MAAM,EAAE;QACN9hB,IAAI,EAAC,IAAI,CAACA,IAAI;QACdqkB,KAAK,EAAE,IAAI,CAACoX,mBAAmB;;KAElC;IACD,IAAI,CAACnI,QAAQ,CAACnJ,IAAI,CAACt7B,KAAK,CAAC;EAC3B;EAEA6sC,kBAAkBA,CAAC3+B,CAAe;IAChC,IAAIyhB,GAAG,GAAQzhB,CAAC,CAAC+kB,MAAM;IACvB,IAAI/kB,CAAC,CAAC2U,GAAG,IAAI,OAAO,EAAC;MACnB,IAAI7iB,KAAK,GAAG;QACVizB,MAAM,EAAE;UACN9hB,IAAI,EAAC,IAAI,CAACA,IAAI;UACdqkB,KAAK,EAAE7F,GAAG,CAAC6F;;OAEd;MACD,IAAI,CAACiP,QAAQ,CAACnJ,IAAI,CAACt7B,KAAK,CAAC;MAEzB2vB,GAAG,CAAC0X,IAAI,EAAE;MACV;IACF;EACF;EAEA6C,gBAAgBA,CAAClqC,KAAiB;IAChC,IAAI,CAAC2pB,KAAK,CAACiiB,QAAQ,GAAG,IAAI,CAACjiB,KAAK,CAACqiB,MAAM,GAAG,IAAI;IAC9C,IAAI,CAACR,OAAO,CAAClQ,IAAI,CAACt7B,KAAK,CAAC;EAC1B;EAEA4sC,mBAAmBA,CAAA;IACjB,QAAQ,IAAI,CAACjjB,KAAK,EAAEkhB,SAAS;MAC3B,KAAKO,aAAa,CAACc,KAAK;QACtB,OAAO,IAAI,CAACviB,KAAK,CAACiiB,QAAQ,GAAG,GAAG,GAAG,IAAI,CAACL,SAAS,CAAClf,MAAM,CAAC,IAAI,CAAC1C,KAAK,CAACiiB,QAAQ,CAAC,GAAC,EAAE;MAClF,KAAKR,aAAa,CAACa,MAAM;QACvB,OAAO,IAAI,CAACtiB,KAAK,CAACiiB,QAAQ,GAAG,GAAG,GAAG,IAAI,CAACL,SAAS,CAAClf,MAAM,CAAC,IAAI,CAAC1C,KAAK,CAACiiB,QAAQ,CAAC,GAAC,EAAE;MAClF,KAAKR,aAAa,CAACzhB,KAAK;QACtB,OAAQ,IAAI,CAACA,KAAK,CAACiiB,QAAQ,IAAI,IAAI,CAACjiB,KAAK,CAACqiB,MAAM,GAAI,IAAI,CAACT,SAAS,CAAClf,MAAM,CAAC,IAAI,CAAC1C,KAAK,CAACiiB,QAAQ,CAAC,GAAG,GAAG,GAAG,IAAI,CAACL,SAAS,CAAClf,MAAM,CAAC,IAAI,CAAC1C,KAAK,CAACqiB,MAAM,CAAC,GAAC,EAAE;IACtJ;EACF;EAAC,QAAAzuC,CAAA;qBA5HU8tC,kBAAkB,EAAAptC,+DAAA,CAAAL,mEAAA,GAAAK,+DAAA,CAAAL,8EAAA;EAAA;EAAA,QAAAJ,EAAA;UAAlB6tC,kBAAkB;IAAA1pC,SAAA;IAAAshC,MAAA;MAAAtZ,KAAA;MAAAxY,IAAA;IAAA;IAAA+xB,OAAA;MAAAuB,QAAA;MAAA+G,OAAA;IAAA;IAAA5pC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAirC,4BAAA/qC,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;;QCnB7BhE,4DADF,aAAyB,kBAkBtB;QADCA,wDAHA,mBAAAgvC,mDAAAvmC,MAAA;UAAAzI,2DAAA,CAAAgH,GAAA;UAAA,MAAAgmC,MAAA,GAAAhtC,yDAAA;UAASgtC,MAAA,CAAAiC,MAAA,EAAY;UAAA,OAAAjvC,yDAAA,CAAEiE,GAAA,CAAAupC,gBAAA,CAAA/kC,MAAA,CAAAusB,MAAA,CAAAuC,KAAA,EAAAyV,MAAA,CAA+C;QAAA,EAAE,wBAAAkC,wDAAAzmC,MAAA;UAAAzI,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAC1DiE,GAAA,CAAAkqC,iBAAA,CAAA1lC,MAAA,CAAyB;QAAA,EAAC,qBAAA0mC,qDAAA1mC,MAAA;UAAAzI,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAE7BiE,GAAA,CAAA2qC,kBAAA,CAAAnmC,MAAA,CAA0B;QAAA,EAAC;QAhBxCzI,0DAAA,EAiBC;QACDA,wDAAA,IAAAovC,oCAAA,oBACqC;QAGvCpvC,0DAAA,EAAM;QAUNA,wDARA,IAAAqvC,yCAAA,gCAAArvC,oEAAA,CAA4D,IAAAsvC,yCAAA,iCAAAtvC,oEAAA,CAQ9B;;;;;QA9B1BA,uDAAA,EAAe;QAAfA,mEAAA,SAAAiE,GAAA,CAAAiP,IAAA,CAAe;QAaflT,wDAVA,qBAAoB,gBAAAuvC,iBAAA,CACU,mBAAAC,mBAAA,CACI,wBACX,oBAEJ,cAAAvrC,GAAA,CAAAynB,KAAA,kBAAAznB,GAAA,CAAAynB,KAAA,CAAAiiB,QAAA,CACU,UAAA1pC,GAAA,CAAA0qC,mBAAA,GAIE;QAGxB3uC,uDAAA,GAAoB;QAApBA,wDAAA,SAAAiE,GAAA,CAAAynB,KAAA,CAAAiiB,QAAA,CAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpB8E;AAChE;AAEwB;;;;;;;;;ICCjE3tC,4DAHJ,UAAuF,aAC1C,gBAGkB;IAAzDA,wDAAA,mBAAAyvC,8DAAA;MAAAzvC,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAAsnC,kBAAA,EAAoB;IAAA,EAAC;IAA2B1vC,oDAAA,aAAM;IAErEA,0DAFqE,EAAS,EACtE,EACF;;;;;IAEFA,gEAAA,GAA4D;;;;;IAD9DA,4DAAA,aAAyD;IACvDA,wDAAA,IAAA2vC,oDAAA,0BAA6C;IAC7C3vC,uDAAA,aAAmB;IACrBA,0DAAA,EAAM;;;;;IAFWA,uDAAA,EAA4B;IAA5BA,wDAAA,qBAAA4vC,aAAA,CAA4B;;;;;IAUU5vC,4DAA7B,WAA6B,QAAG;IAAAA,oDAAA,gBAAS;IAAAA,0DAAA,EAAI;IAAAA,oDAAA,GAA2B;IAAAA,0DAAA,EAAO;;;;IAAlCA,uDAAA,GAA2B;IAA3BA,gEAAA,WAAA6vC,IAAA,CAAA31B,IAAA,OAAA21B,IAAA,CAAA11B,IAAA,KAA2B;;;;;;IAO5Fna,4DADF,cAA4C,iBAC4B;IAAxBA,wDAAA,mBAAA8vC,oEAAA;MAAA9vC,2DAAA,CAAAy2B,GAAA;MAAA,MAAAoZ,IAAA,GAAA7vC,2DAAA,GAAAg2B,SAAA;MAAA,MAAA5tB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA2nC,OAAA,CAAAF,IAAA,CAAA3iC,EAAA,CAAa;IAAA,EAAC;IAAClN,uDAAA,YAAoC;IAC5GA,0DAD4G,EAAS,EAC/G;;;;;IAEJA,gEAAA,GAA4D;;;;;IAD9DA,4DAAA,aAA4D;IAC1DA,wDAAA,IAAAgwC,0DAAA,0BAA6C;IAC/ChwC,0DAAA,EAAM;;;;;IADWA,uDAAA,EAA4B;IAA5BA,wDAAA,qBAAA4vC,aAAA,CAA4B;;;;;;IAf/C5vC,4DAAA,aAAwD;IACtDA,uDAAA,aAAmB;IACnBA,4DAAA,cAA4F;IAAzBA,wDAAA,mBAAAiwC,0DAAA;MAAA,MAAAJ,IAAA,GAAA7vC,2DAAA,CAAA+1B,GAAA,EAAAC,SAAA;MAAA,MAAA5tB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA8nC,QAAA,CAAAL,IAAA,CAAA3iC,EAAA,CAAc;IAAA,EAAC;IACzFlN,4DAAA,eAA+B;IAAAA,oDAAA,GAAiB;IAAAA,0DAAA,EAAO;IACvDA,4DAAA,eAAoB;IAAAA,oDAAA,GAAa;IAAAA,0DAAA,EAAO;IACxCA,4DAAA,eAAoB;IAAAA,wDAAA,IAAAmwC,2CAAA,kBAA6B;IAAkDnwC,0DAAA,EAAO;IAC1GA,4DAAA,eAA6B;IAAAA,oDAAA,IAA8B;IAAAA,0DAAA,EAAO;IAClEA,uDAAA,UAAI;IACqDA,4DAAzD,gBAAyD,SAAG;IAAAA,oDAAA,IAClB;IAC5CA,0DAD4C,EAAI,EAAO,EACjD;IAINA,wDAHA,KAAAowC,2CAAA,kBAA4C,KAAAC,2CAAA,iBAGgB;IAG9DrwC,0DAAA,EAAK;;;;;IAfqBA,uDAAA,GAA0C;;IACjCA,uDAAA,GAAiB;IAAjBA,+DAAA,CAAA6vC,IAAA,CAAA//B,WAAA,CAAiB;IAC5B9P,uDAAA,GAAa;IAAbA,+DAAA,CAAA6vC,IAAA,CAAA7+B,OAAA,CAAa;IACNhR,uDAAA,GAAoB;IAApBA,wDAAA,SAAA6vC,IAAA,CAAA31B,IAAA,IAAA21B,IAAA,CAAA11B,IAAA,CAAoB;IAClBna,uDAAA,GAA8B;IAA9BA,+DAAA,CAAAoI,MAAA,CAAAgnB,cAAA,CAAAygB,IAAA,CAAArgC,MAAA,EAA8B;IAECxP,uDAAA,GAClB;IADkBA,gEAAA,qBAAA6vC,IAAA,CAAA7hC,UAAA,SAAA5F,MAAA,CAAAyG,cAAA,CAAAghC,IAAA,CAAA5hC,UAAA,MAClB;IAEtCjO,uDAAA,EAAsB;IAAtBA,wDAAA,SAAAoI,MAAA,CAAAkoC,OAAA,CAAApiC,QAAA,CAAsB;IAGPlO,uDAAA,EAAqC;IAArCA,wDAAA,SAAAoI,MAAA,CAAAmoC,GAAA,IAAAnoC,MAAA,CAAAmoC,GAAA,CAAArjC,EAAA,IAAA2iC,IAAA,CAAA3iC,EAAA,CAAqC;;;;;;IAYxDlN,4DAHN,cAAgC,cACiB,cACN,eACA;IAAAA,oDAAA,aAAM;IAAAA,0DAAA,EAAO;IAClDA,4DAAA,gBAAgH;IAA5DA,8DAAA,2BAAAwwC,6EAAA/nC,MAAA;MAAAzI,2DAAA,CAAAq2B,GAAA;MAAA,MAAAjuB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAAmoC,GAAA,CAAA/gC,MAAA,EAAA/G,MAAA,MAAAL,MAAA,CAAAmoC,GAAA,CAAA/gC,MAAA,GAAA/G,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAwB;IAC9EzI,0DADE,EAAgH,EAC5G;IAEJA,4DADF,cAAyB,sBAC+B;IAAzCA,8DAAA,2BAAAywC,mFAAAhoC,MAAA;MAAAzI,2DAAA,CAAAq2B,GAAA;MAAA,MAAAjuB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAAmoC,GAAA,CAAAv/B,OAAA,EAAAvI,MAAA,MAAAL,MAAA,CAAAmoC,GAAA,CAAAv/B,OAAA,GAAAvI,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAyB;IAE1CzI,0DAF0D,EAAc,EAChE,EACF;IAEJA,4DADF,cAA+C,cACC;IAAAA,oDAAA,gDAAwC;IAAAA,0DAAA,EAAM;IAC5FA,4DAAA,oBAA+E;IAArEA,8DAAA,2BAAA0wC,iFAAAjoC,MAAA;MAAAzI,2DAAA,CAAAq2B,GAAA;MAAA,MAAAjuB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAAmoC,GAAA,CAAAnnB,IAAA,EAAA3gB,MAAA,MAAAL,MAAA,CAAAmoC,GAAA,CAAAnnB,IAAA,GAAA3gB,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAsB;IAA+CzI,0DAAA,EAAW;IAExFA,4DADF,eAA8C,gBACE;IAAAA,oDAAA,kBAAU;IAAAA,0DAAA,EAAO;IACtCA,4DAAzB,gBAAyB,iBAA+E;IAA9CA,8DAAA,2BAAA2wC,8EAAAloC,MAAA;MAAAzI,2DAAA,CAAAq2B,GAAA;MAAA,MAAAjuB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAAmoC,GAAA,CAAAr2B,IAAA,EAAAzR,MAAA,MAAAL,MAAA,CAAAmoC,GAAA,CAAAr2B,IAAA,GAAAzR,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAsB;IAAwBzI,0DAA/E,EAA+E,EAAO;IAAAA,oDAAA,UAC/G;IAAyBA,4DAAzB,gBAAyB,iBACE;IAD8CA,8DAAA,2BAAA4wC,8EAAAnoC,MAAA;MAAAzI,2DAAA,CAAAq2B,GAAA;MAAA,MAAAjuB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAAmoC,GAAA,CAAAp2B,IAAA,EAAA1R,MAAA,MAAAL,MAAA,CAAAmoC,GAAA,CAAAp2B,IAAA,GAAA1R,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAsB;IAGnGzI,0DAH6B,EACE,EAAO,EAC9B,EACF;IAEJA,4DADF,eAA4C,kBAC2C;IAAjCA,wDAAA,mBAAA6wC,uEAAA;MAAA7wC,2DAAA,CAAAq2B,GAAA;MAAA,MAAAjuB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA0oC,eAAA,CAAgB,KAAK,CAAC;IAAA,EAAC;IAAC9wC,oDAAA,cAAM;IAAAA,0DAAA,EAAS;IACpGA,4DAAA,kBACkC;IAAhCA,wDAAA,mBAAA+wC,uEAAA;MAAA/wC,2DAAA,CAAAq2B,GAAA;MAAA,MAAAjuB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA0oC,eAAA,CAAgB,IAAI,CAAC;IAAA,EAAC;IAC/B9wC,oDAAA,cACF;IAGJA,0DAHI,EAAS,EACL,EAEF;;;;IAxBoDA,uDAAA,GAAwB;IAAxBA,8DAAA,YAAAoI,MAAA,CAAAmoC,GAAA,CAAA/gC,MAAA,CAAwB;IAACxP,wDAAA,QAAAoI,MAAA,CAAAkoC,OAAA,CAAA9gC,MAAA,CAAsB;IAGtFxP,uDAAA,GAAyB;IAAzBA,8DAAA,YAAAoI,MAAA,CAAAmoC,GAAA,CAAAv/B,OAAA,CAAyB;IAK9BhR,uDAAA,GAAsB;IAAtBA,8DAAA,YAAAoI,MAAA,CAAAmoC,GAAA,CAAAnnB,IAAA,CAAsB;IAG4BppB,uDAAA,GAAsB;IAAtBA,8DAAA,YAAAoI,MAAA,CAAAmoC,GAAA,CAAAr2B,IAAA,CAAsB;IACPla,uDAAA,GAAsB;IAAtBA,8DAAA,YAAAoI,MAAA,CAAAmoC,GAAA,CAAAp2B,IAAA,CAAsB;IAM9Cna,uDAAA,GAAwB;IAACA,wDAAzB,UAAAoI,MAAA,CAAA4oC,YAAA,GAAwB,aAAA5oC,MAAA,CAAA4oC,YAAA,GAA4B;;;ADxCvG,MAAOC,sBAAsB;EAcjC9wC,YACUu4B,KAAmB;IAAnB,KAAAA,KAAK,GAALA,KAAK;IAbN,KAAAwY,YAAY,GAAY,KAAK;IAC5B,KAAAC,MAAM,GAAG,IAAIlV,uDAAY,EAAW;IACpC,KAAAmV,MAAM,GAAG,IAAInV,uDAAY,EAAyC;IAClE,KAAA4M,QAAQ,GAAG,IAAI5M,uDAAY,EAAU;IACrC,KAAAnS,QAAQ,GAAG,IAAImS,uDAAY,EAA0B;IAE/D,KAAAptB,cAAc,GAAG7C,8CAAI,CAAC6C,cAAc;IACpC,KAAAugB,cAAc,GAAGpjB,8CAAI,CAACojB,cAAc;EAOjC;EAEHkE,eAAeA,CAAA;IACb,IAAI,CAACxJ,QAAQ,CAACuT,IAAI,CAAC,IAAI,CAAC;EAC1B;EAEA;EACAqS,kBAAkBA,CAAA;IAChB,IAAI,CAAC,IAAI,CAACY,OAAO,CAACpiC,QAAQ,EACxB;IACF,IAAI,IAAI,CAACqiC,GAAG,EAAErjC,EAAE,KAAK,CAAC,EACpB;IACF,IAAI,IAAI,CAACmkC,UAAU,CAAC,MAAM,IAAI,CAAC3B,kBAAkB,EAAE,CAAC,EAClD;IACF;IACA,IAAI,CAACa,GAAG,GAAG;MACTrjC,EAAE,EAAE,CAAC;MACLsC,MAAM,EAAE,IAAI,CAAC8gC,OAAO,CAAC9gC,MAAM,GAAG,IAAI,CAAC8gC,OAAO,CAAC3gC,UAAU;MACrDqB,OAAO,EAAE,IAAI,CAACs/B,OAAO,CAACgB,UAAU;MAChCloB,IAAI,EAAE,EAAE;MACRlP,IAAI,EAAE,EAAE;MACRC,IAAI,EAAE;KACP;IACD,IAAI,CAACo3B,IAAI,GAAGxmB,IAAI,CAAC8iB,KAAK,CAAC9iB,IAAI,CAACC,SAAS,CAAC,IAAI,CAACulB,GAAG,CAAC,CAAC;EAClD;EAEA;EACAL,QAAQA,CAAChjC,EAAU;IACjB,IAAI,CAAC,IAAI,CAACojC,OAAO,CAACpiC,QAAQ,EACxB;IACF,IAAIoP,IAAI,GAAG,IAAI,CAACgzB,OAAO,CAAClgC,aAAa,CAAChO,IAAI,CAAC2X,CAAC,IAAIA,CAAC,CAAC7M,EAAE,IAAIA,EAAE,CAAC;IAC3D,IAAI,CAACoQ,IAAI,EAAE;MACT,IAAI,CAACob,KAAK,CAAC3d,KAAK,CAAC,uBAAuB,CAAC,CAAC3Z,SAAS,EAAE;MACrD;IACF;IACA,IAAI,IAAI,CAACmvC,GAAG,EAAErjC,EAAE,KAAKA,EAAE,EACrB;IACF,IAAI,IAAI,CAACmkC,UAAU,CAAC,MAAM,IAAI,CAACnB,QAAQ,CAAChjC,EAAE,CAAC,CAAC,EAC1C;IACF;IACA,IAAI,CAACqjC,GAAG,GAAG;MACTrjC,EAAE,EAAEoQ,IAAI,CAACpQ,EAAE;MACXsC,MAAM,EAAE8N,IAAI,CAAC9N,MAAM;MACnBwB,OAAO,EAAEsM,IAAI,CAACtM,OAAO;MACrBoY,IAAI,EAAE9L,IAAI,CAACxN,WAAW;MACtBoK,IAAI,EAAEoD,IAAI,CAACpD,IAAI;MACfC,IAAI,EAAEmD,IAAI,CAACnD;KACZ;IACD,IAAI,CAACo3B,IAAI,GAAGxmB,IAAI,CAAC8iB,KAAK,CAAC9iB,IAAI,CAACC,SAAS,CAAC,IAAI,CAACulB,GAAG,CAAC,CAAC;IAChD,IAAI,CAACY,MAAM,CAAC9T,IAAI,CAAC,IAAI,CAACiT,OAAO,CAAC;EAChC;EAEAkB,iBAAiBA,CAAA;IACf,IAAI,CAAC,IAAI,CAACjB,GAAG,EACX,OAAO,KAAK;IACd,OAAO,CAACvkC,8CAAI,CAAC+kB,YAAY,CAAC,IAAI,CAACwf,GAAG,EAAE,IAAI,CAACgB,IAAI,CAAC;EAChD;EAEAF,UAAUA,CAAC5+B,EAAc;IACvB,IAAI,CAAC,IAAI,CAAC++B,iBAAiB,EAAE,EAC3B,OAAO,KAAK;IACd,IAAI,CAAC9Y,KAAK,CAAC0B,GAAG,CAAC,iBAAiB,EAAE,kFAAkF,CAAC,CAClHh5B,SAAS,CAACwN,GAAG,IAAG;MACf,IAAIA,GAAG,EAAE;QACP,IAAI,CAAC2hC,GAAG,GAAG,IAAI,CAACgB,IAAI,GAAGjvC,SAAS;QAChCmQ,EAAE,EAAE;MACN;IACF,CAAC,CAAC;IACJ,OAAO,IAAI;EACb;EAEAq+B,eAAeA,CAACW,IAAa;IAC3B,IAAIA,IAAI,EAAE;MACR;MACA,IAAI,CAACL,MAAM,CAAC/T,IAAI,CAAC;QACfhgB,EAAE,EAAC,IAAI,CAACizB,OAAO;QACfhzB,IAAI,EAAEjR,MAAM,CAACC,MAAM,CAAC,IAAI4C,+EAAc,EAAE,EAAC;UACvChC,EAAE,EAAE,IAAI,CAACqjC,GAAG,CAACrjC,EAAE;UACfsC,MAAM,EAAE,IAAI,CAAC+gC,GAAG,CAAC/gC,MAAM;UACvBwB,OAAO,EAAE,IAAI,CAACu/B,GAAG,CAACv/B,OAAO;UACzBlB,WAAW,EAAE,IAAI,CAACygC,GAAG,CAACnnB,IAAI;UAC1BlP,IAAI,EAAE,IAAI,CAACq2B,GAAG,CAACr2B,IAAI;UACnBC,IAAI,EAAE,IAAI,CAACo2B,GAAG,CAACp2B;SAChB;OACF,CAAC;IACJ;IACA,IAAI,CAACo2B,GAAG,GAAGjuC,SAAS;IACpB,IAAI,CAAC6uC,MAAM,CAAC9T,IAAI,CAAC,IAAI,CAAC;EACxB;EAEA2T,YAAYA,CAAA;IACV,IAAI,CAAC,IAAI,CAACT,GAAG,CAACnnB,IAAI,IAAI,IAAI,CAACmnB,GAAG,CAACnnB,IAAI,CAACzmB,MAAM,GAAG,CAAC,EAC5C,OAAO,yBAAyB;IAClC,OAAO,EAAE;EACX;EAEA;EACAotC,OAAOA,CAAC7iC,EAAU;IAChB,IAAI,CAAC,IAAI,CAACojC,OAAO,CAACpiC,QAAQ,EACxB;IACF,IAAIoP,IAAI,GAAG,IAAI,CAACgzB,OAAO,CAAClgC,aAAa,CAAChO,IAAI,CAAC2X,CAAC,IAAIA,CAAC,CAAC7M,EAAE,IAAIA,EAAE,CAAC;IAC3D,IAAI,CAACoQ,IAAI,EAAE;MACT,IAAI,CAACob,KAAK,CAAC3d,KAAK,CAAC,uBAAuB,CAAC,CAAC3Z,SAAS,EAAE;MACrD;IACF;IACA,IAAI,CAACs3B,KAAK,CAACc,IAAI,CAAC;MACd37B,KAAK,EAAE,qBAAqB;MAC5Bo8B,SAAS,EAAE,QAAQ;MACnBhf,OAAO,EAAE,wBAAwBqC,IAAI,CAACxN,WAAW;KAClD,CAAC,CACD1O,SAAS,CACRwN,GAAG,IAAG;MACJ,IAAIA,GAAG,EACL,IAAI,CAACi6B,QAAQ,CAACxL,IAAI,CAACnwB,EAAE,CAAC;IAC1B,CAAC,CACF;EAEH;EAEAwkC,cAAcA,CAAA;IACZ,IAAI,CAACnB,GAAG,GAAG,IAAI,CAACgB,IAAI,GAAGjvC,SAAS;EAClC;EAEAqvC,SAASA,CAAA;IACP,IAAIC,CAAC,GAAG,IAAI,CAACtB,OAAO,CAAClgC,aAAa,CAACzN,MAAM,GAAC,EAAE;IAC5C,IAAI,IAAI,CAAC4tC,GAAG,EACVqB,CAAC,IAAE,GAAG;IACR,OAAOA,CAAC;EACV;EAAC,QAAAtyC,CAAA;qBAhJU2xC,sBAAsB,EAAAjxC,+DAAA,CAAAL,8DAAA;EAAA;EAAA,QAAAJ,EAAA;UAAtB0xC,sBAAsB;IAAAvtC,SAAA;IAAAshC,MAAA;MAAAsL,OAAA;MAAAY,YAAA;IAAA;IAAAjM,OAAA;MAAAkM,MAAA;MAAAC,MAAA;MAAAvI,QAAA;MAAA/e,QAAA;IAAA;IAAAnmB,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAA+tC,gCAAA7tC,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCnBnChE,4DAAA,aAAkC;QAQhCA,wDAPF,IAAA8xC,qCAAA,iBAAuF,IAAAC,qCAAA,iBAO5B;QAKzD/xC,4DAAA,YAAiB;QACfA,wDAAA,IAAAgyC,oCAAA,iBAAwD;QAmB5DhyC,0DADE,EAAK,EACD;QAGNA,wDAAA,IAAAiyC,6CAAA,iCAAAjyC,oEAAA,CAAyB;;;QAnCnBA,uDAAA,EAA+E;QAA/EA,wDAAA,SAAAiE,GAAA,CAAAitC,YAAA,IAAAjtC,GAAA,CAAAqsC,OAAA,CAAApiC,QAAA,IAAAjK,GAAA,CAAAqsC,OAAA,CAAA3gC,UAAA,GAAA1L,GAAA,CAAAqsC,OAAA,CAAA9gC,MAAA,CAA+E;QAO9DxP,uDAAA,EAAkC;QAAlCA,wDAAA,SAAAiE,GAAA,CAAAssC,GAAA,IAAAtsC,GAAA,CAAAssC,GAAA,CAAArjC,EAAA,MAAkC;QAMnClN,uDAAA,GAAwB;QAAxBA,wDAAA,YAAAiE,GAAA,CAAAqsC,OAAA,CAAAlgC,aAAA,CAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACduE;AACrC;AAEX;;;;;;;;;;;;;;ICejEpQ,4DAAA,0BAQC;IADCA,wDAAA,sBAAAkyC,gFAAA;MAAAlyC,2DAAA,CAAA+1B,GAAA;MAAA,MAAA3tB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAYoI,MAAA,CAAA+pC,gBAAA,EAAkB;IAAA,EAAC;IAChCnyC,0DAAA,EAAe;;;;IAFdA,wDAHA,2BAA0B,UAAAoI,MAAA,CAAAkoC,OAAA,CAAAngC,QAAA,CACA,eAAA/H,MAAA,CAAAkoC,OAAA,CAAA8B,WAAA,CACQ,sBACb;;;;;;IAbzBpyC,4DAAA,cAEC;IACCA,oDAAA,kBACA;IAAAA,4DAAA,iBAA4F;IAAxCA,wDAAA,mBAAAqyC,wDAAA;MAAAryC,2DAAA,CAAA8I,GAAA;MAAA,MAAAV,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAAkqC,YAAA,CAAAjV,IAAA,CAAAj1B,MAAA,CAAAkoC,OAAA,CAAApjC,EAAA,CAA6B;IAAA,EAAC;IACzFlN,uDAAA,YAAmC;IACrCA,0DAAA,EAAS;IACTA,wDAAA,IAAAuyC,8CAAA,2BAQC;IACHvyC,0DAAA,EAAM;;;;IAPDA,uDAAA,GAAe;IAAfA,wDAAA,WAAAoI,MAAA,CAAAkoC,OAAA,CAAe;;;;;;IAkBVtwC,4DAAA,eAAyE;IAAxBA,8DAAA,2BAAAwyC,4EAAA/pC,MAAA;MAAAzI,2DAAA,CAAAq2B,GAAA;MAAA,MAAAoc,OAAA,GAAAzyC,2DAAA,GAAAg2B,SAAA;MAAAh2B,gEAAA,CAAAyyC,OAAA,CAAAv4B,IAAA,EAAAzR,MAAA,MAAAgqC,OAAA,CAAAv4B,IAAA,GAAAzR,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAuB;IAACzI,0DAAA,EAAO;IAChFA,oDAAA,UACA;IAAAA,4DAAA,eAA2E;IAAtCA,8DAAA,2BAAA0yC,4EAAAjqC,MAAA;MAAAzI,2DAAA,CAAAq2B,GAAA;MAAA,MAAAoc,OAAA,GAAAzyC,2DAAA,GAAAg2B,SAAA;MAAAh2B,gEAAA,CAAAyyC,OAAA,CAAAt4B,IAAA,EAAA1R,MAAA,MAAAgqC,OAAA,CAAAt4B,IAAA,GAAA1R,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAuB;IAAezI,0DAAA,EAAO;;;;IAFjCA,8DAAA,YAAAyyC,OAAA,CAAAv4B,IAAA,CAAuB;IAEnCla,uDAAA,GAAuB;IAAvBA,8DAAA,YAAAyyC,OAAA,CAAAt4B,IAAA,CAAuB;;;;;;IAE5Dna,4DAAA,eAA8G;IAAxGA,wDAAA,mBAAA2yC,oEAAA;MAAA3yC,2DAAA,CAAAy3B,GAAA;MAAA,MAAAgb,OAAA,GAAAzyC,2DAAA,GAAAg2B,SAAA;MAAAyc,OAAA,CAAAv4B,IAAA,GAAmB,GAAG;MAAA,OAAAla,yDAAA,CAAAyyC,OAAA,CAAAt4B,IAAA,GAAW,kBAAkB;IAAA,EAAC;IAAoDna,oDAAA,oBAAa;IAAAA,0DAAA,EAAO;;;;;;IAKlIA,4DAAA,cAAmE;IAA/BA,8DAAA,2BAAA4yC,4EAAAnqC,MAAA;MAAAzI,2DAAA,CAAAg3B,GAAA;MAAA,MAAAyb,OAAA,GAAAzyC,2DAAA,GAAAg2B,SAAA;MAAAh2B,gEAAA,CAAAyyC,OAAA,CAAA3iC,WAAA,EAAArH,MAAA,MAAAgqC,OAAA,CAAA3iC,WAAA,GAAArH,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAA8B;IAACzI,0DAAA,EAAM;;;;IAArCA,8DAAA,YAAAyyC,OAAA,CAAA3iC,WAAA,CAA8B;;;;;;IAElE9P,4DAAA,eAA+E;IAArCA,wDAAA,mBAAA6yC,qEAAA;MAAA7yC,2DAAA,CAAA8mC,IAAA;MAAA,MAAA2L,OAAA,GAAAzyC,2DAAA,GAAAg2B,SAAA;MAAA,OAAAh2B,yDAAA,CAAAyyC,OAAA,CAAA3iC,WAAA,GAA0BxN,SAAS;IAAA,EAAC;IAACtC,oDAAA,yDAAkD;IAAAA,0DAAA,EAAO;;;;;;IAM9IA,4DAAA,eAAiE;IAA3BA,wDAAA,mBAAA8yC,oEAAA;MAAA9yC,2DAAA,CAAA83B,IAAA;MAAA,MAAA2a,OAAA,GAAAzyC,2DAAA,IAAAg2B,SAAA;MAAA,MAAA5tB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA2qC,UAAA,CAAAN,OAAA,CAAgB;IAAA,EAAC;IAACzyC,oDAAA,GAA+B;IAAAA,0DAAA,EAAO;;;;;IAAtCA,uDAAA,EAA+B;IAA/BA,+DAAA,CAAAoI,MAAA,CAAAgnB,cAAA,CAAAqjB,OAAA,CAAAjjC,MAAA,EAA+B;;;;;;IAChGxP,4DAAA,gBAOC;IAJCA,8DAAA,2BAAAgzC,8EAAAvqC,MAAA;MAAAzI,2DAAA,CAAAi4B,IAAA;MAAA,MAAA7vB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAA6qC,WAAA,EAAAxqC,MAAA,MAAAL,MAAA,CAAA6qC,WAAA,GAAAxqC,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAyB;IAEzBzI,wDADA,kBAAAkzC,qEAAA;MAAAlzC,2DAAA,CAAAi4B,IAAA;MAAA,MAAAwa,OAAA,GAAAzyC,2DAAA,IAAAg2B,SAAA;MAAA,MAAA5tB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAAyyC,OAAA,CAAAjjC,MAAA,GAAApH,MAAA,CAAA6qC,WAAA;IAAA,EAAuC,qBAAAE,wEAAA1qC,MAAA;MAAAzI,2DAAA,CAAAi4B,IAAA;MAAA,MAAA7vB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAC5BoI,MAAA,CAAAgrC,WAAA,CAAA3qC,MAAA,CAAmB;IAAA,EAAC;IALjCzI,0DAAA,EAOC;;;;IAJCA,8DAAA,YAAAoI,MAAA,CAAA6qC,WAAA,CAAyB;;;;;IAL7BjzC,4DAAA,cAA0D;IAExDA,wDADA,IAAAqzC,6CAAA,mBAAiE,IAAAC,8CAAA,oBAQhE;IAEHtzC,0DAAA,EAAM;;;;IAVGA,uDAAA,EAA6B;IAA7BA,wDAAA,SAAAyyC,OAAA,CAAAjjC,MAAA,KAAAlN,SAAA,CAA6B;IAC5BtC,uDAAA,EAA6B;IAA7BA,wDAAA,SAAAyyC,OAAA,CAAAjjC,MAAA,KAAAlN,SAAA,CAA6B;;;;;;IAxBnCtC,4DAHN,cAAgE,cAClC,UACrB,iBACoF;IAAxBA,wDAAA,mBAAAuzC,wDAAA;MAAA,MAAAd,OAAA,GAAAzyC,2DAAA,CAAA2qC,GAAA,EAAA3U,SAAA;MAAA,MAAA5tB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA2nC,OAAA,CAAA0C,OAAA,CAAa;IAAA,EAAC;IAACzyC,uDAAA,YAAuC;IAChIA,0DADgI,EAAS,EACnI;IAGFA,4DAFJ,UAAK,UACE,eAC8D;IAAlDA,8DAAA,2BAAAwzC,8DAAA/qC,MAAA;MAAA,MAAAgqC,OAAA,GAAAzyC,2DAAA,CAAA2qC,GAAA,EAAA3U,SAAA;MAAAh2B,gEAAA,CAAAyyC,OAAA,CAAAzhC,OAAA,EAAAvI,MAAA,MAAAgqC,OAAA,CAAAzhC,OAAA,GAAAvI,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAA0B;IAAwBzI,0DAAA,EAAO;IAKtEA,wDAJF,IAAAyzC,6CAAA,OAA8B,IAAAC,6CAAA,OAIrB;IAGX1zC,0DAAA,EAAM;IACNA,4DAAA,eAAgC;IAG5BA,wDAFF,KAAA2zC,8CAAA,kBAA6B,KAAAC,8CAAA,OAEpB;IAKf5zC,0DAFI,EAAM,EACF,EACF;IACNA,wDAAA,KAAA6zC,sCAAA,kBAA0D;IAY5D7zC,0DAAA,EAAM;;;;;IA9BiBA,uDAAA,GAA0B;IAA1BA,8DAAA,YAAAyyC,OAAA,CAAAzhC,OAAA,CAA0B;IACzChR,uDAAA,EAMC;IANDA,2DAAA,IAAAyyC,OAAA,CAAAv4B,IAAA,IAAAu4B,OAAA,CAAAt4B,IAAA,SAMC;IAGDna,uDAAA,GAIC;IAJDA,2DAAA,KAAAyyC,OAAA,CAAA3iC,WAAA,kBAIC;IAID9P,uDAAA,GAAoC;IAApCA,wDAAA,SAAAoI,MAAA,CAAAkoC,OAAA,CAAAlgC,aAAA,CAAAzN,MAAA,KAAoC;;;;;IAe1C3C,4DADF,cAA4D,cAClB;IACtCA,uDAAA,aAAsB;IACxBA,0DAAA,EAAM;IACNA,4DAAA,gBAA+B;IAAAA,oDAAA,eAAQ;IAAAA,0DAAA,EAAQ;IAC/CA,4DAAA,cAAmB;IAAAA,oDAAA,GAA2B;IAChDA,0DADgD,EAAM,EAChD;;;;IADeA,uDAAA,GAA2B;IAA3BA,+DAAA,CAAAoI,MAAA,CAAAgnB,cAAA,CAAAhnB,MAAA,CAAA2rC,OAAA,EAA2B;;;;;;IAM5C/zC,4DAAA,iBAAsH;IAAhEA,wDAAA,mBAAAg0C,2DAAA;MAAA,MAAAC,KAAA,GAAAj0C,2DAAA,CAAAo4B,IAAA,EAAApC,SAAA;MAAA,MAAA5tB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA8rC,OAAA,CAAAD,KAAA,CAAAjjC,OAAA,CAAkB;IAAA,EAAC;IAE9EhR,4DADF,cAA2C,eACtB;IAAAA,oDAAA,GAAiB;IAAAA,0DAAA,EAAO;IAC3CA,4DAAA,eAA0B;IAAAA,oDAAA,GAAa;IAE3CA,0DAF2C,EAAO,EAC1C,EACC;;;;;IAL0EA,wDAAA,aAAAoI,MAAA,CAAA+rC,UAAA,CAAAF,KAAA,CAAAjjC,OAAA,EAAkC;IAE9FhR,uDAAA,GAAiB;IAAjBA,+DAAA,CAAAi0C,KAAA,CAAAnkC,WAAA,CAAiB;IACV9P,uDAAA,GAAa;IAAbA,+DAAA,CAAAi0C,KAAA,CAAAjjC,OAAA,CAAa;;;;;;IAsC3ChR,4DAFF,UAA8B,YACrB,gBAC2C;IAA3BA,8DAAA,2BAAAo0C,qEAAA3rC,MAAA;MAAAzI,2DAAA,CAAAq0C,IAAA;MAAA,MAAAjsC,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAAksC,YAAA,EAAA7rC,MAAA,MAAAL,MAAA,CAAAksC,YAAA,GAAA7rC,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAA0B;IAAjDzI,0DAAA,EAAkD;IAClDA,oDAAA,+CAAuC;IACzCA,0DADyC,EAAQ,EAC3C;;;;IAFmBA,uDAAA,GAA0B;IAA1BA,8DAAA,YAAAoI,MAAA,CAAAksC,YAAA,CAA0B;;;;;;IAIjDt0C,4DAAA,iBAKC;IADCA,wDAAA,mBAAAu0C,iEAAA;MAAAv0C,2DAAA,CAAAw0C,IAAA;MAAA,MAAApsC,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAAqsC,aAAA,EAAe;IAAA,EAAC;IAC1Bz0C,oDAAA,GAAgB;IAAAA,0DAAA,EAAS;;;;IAAzBA,uDAAA,EAAgB;IAAhBA,+DAAA,CAAAoI,MAAA,CAAAssC,UAAA,GAAgB;;;;;;IAlBrB10C,4DAAA,UAAyD;IACvDA,oDAAA,+BACA;IAAAA,4DAAA,gBAIgB;IAFdA,8DAAA,2BAAA20C,+DAAAlsC,MAAA;MAAAzI,2DAAA,CAAA40C,IAAA;MAAA,MAAAxsC,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAAysC,SAAA,EAAApsC,MAAA,MAAAL,MAAA,CAAAysC,SAAA,GAAApsC,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAuB;IAFzBzI,0DAAA,EAIgB;IAChBA,wDAAA,IAAA80C,qCAAA,kBAA8B;IAK9B90C,4DAAA,cAA8C;IAC5CA,wDAAA,IAAA+0C,wCAAA,qBAKC;IAEL/0C,0DADE,EAAM,EACF;;;;IAhBFA,uDAAA,GAAuB;IAAvBA,8DAAA,YAAAoI,MAAA,CAAAysC,SAAA,CAAuB;IACvB70C,wDAAA,aAAAoI,MAAA,CAAA4sC,SAAA,GAAwB;IAEpBh1C,uDAAA,EAAsB;IAAtBA,wDAAA,SAAAoI,MAAA,CAAA6sC,cAAA,GAAsB;IASvBj1C,uDAAA,GAAiB;IAAjBA,wDAAA,SAAAoI,MAAA,CAAAysC,SAAA,CAAiB;;;;;IAQtB70C,4DADF,UAA2C,YAEL;IAAAA,oDAAA,GAAc;IACpDA,0DADoD,EAAI,EAClD;;;;IADFA,uDAAA,EAAiC;IAAjCA,oEAAA,+BAAAm1C,KAAA,CAAAjoC,EAAA,MAAAlN,2DAAA,CAAiC;IAACA,uDAAA,EAAc;IAAdA,+DAAA,CAAAm1C,KAAA,CAAAznC,QAAA,CAAc;;;;;;IArIhD1N,4DAHN,aAAuB,aACgC,aACxB,aACN;IAAAA,oDAAA,GAAkC;IAAAA,0DAAA,EAAM;IAC3DA,4DAAA,aAAmB;IAAAA,oDAAA,GAAgC;IAAAA,0DAAA,EAAM;IACzDA,4DAAA,aAAmB;IAAAA,oDAAA,GAAkB;IAAAA,0DAAA,EAAM;IAC3CA,4DAAA,aAAmB;IAAAA,oDAAA,IAA2B;IAChDA,0DADgD,EAAM,EAChD;IACNA,4DAAA,oBAA+M;IAA3BA,wDAAA,mBAAAo1C,qDAAA;MAAAp1C,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAAitC,cAAA,EAAgB;IAAA,EAAC;IAChNr1C,0DADiN,EAAY,EACvN;IA2DNA,wDAzDA,KAAAs1C,+BAAA,iBAEC,KAAAC,+BAAA,kBAgB+D,KAAAC,+BAAA,iBAuCJ;IAS1Dx1C,4DADF,eAA4C,kBACa;IAAAA,oDAAA,8BAAsB;IAAAA,0DAAA,EAAS;IACtFA,4DAAA,eAAqB;IACnBA,wDAAA,KAAAy1C,kCAAA,qBAAsH;IAO1Hz1C,0DADE,EAAM,EACF;IAGJA,4DADF,eAAwB,eACqB;IAAAA,oDAAA,gBAAQ;IAAAA,uDAAA,UAAI;IAAAA,oDAAA,WAAG;IAAAA,0DAAA,EAAM;IAChEA,4DAAA,uBAAqC;IAAxBA,8DAAA,2BAAA01C,+DAAAjtC,MAAA;MAAAzI,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAAutC,SAAA,EAAAltC,MAAA,MAAAL,MAAA,CAAAutC,SAAA,GAAAltC,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAuB;IAACzI,0DAAA,EAAc;IACnDA,4DAAA,kBAA0L;IAA7BA,wDAAA,mBAAA41C,kDAAA;MAAA51C,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA8rC,OAAA,CAAA9rC,MAAA,CAAAutC,SAAA,CAAkB;IAAA,EAAC;IAAC31C,oDAAA,aAAK;IACjMA,0DADiM,EAAS,EACpM;IAIFA,4DAFJ,eAAwB,eAC+C,aAC5D;IAAAA,oDAAA,kBAAU;IAAAA,0DAAA,EAAQ;IACzBA,4DAAA,iBAAsG;IAAnFA,8DAAA,2BAAA61C,yDAAAptC,MAAA;MAAAzI,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAA0tC,SAAA,EAAArtC,MAAA,MAAAL,MAAA,CAAA0tC,SAAA,GAAArtC,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAuB;IAA1CzI,0DAAA,EAAsG;IAAAA,oDAAA,UACtG;IAAAA,4DAAA,iBAAwG;IAArFA,8DAAA,2BAAA+1C,yDAAAttC,MAAA;MAAAzI,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAA4tC,SAAA,EAAAvtC,MAAA,MAAAL,MAAA,CAAA4tC,SAAA,GAAAvtC,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAuB;IAE9CzI,0DAFI,EAAwG,EACpG,EACF;IAKFA,4DAFJ,eAAkB,cACR,kBACyB;IAAAA,oDAAA,qBAAa;IAAAA,0DAAA,EAAS;IACrDA,4DAAA,cAAQ;IAAAA,oDAAA,eAAO;IAAAA,0DAAA,EAAS;IACxBA,4DAAA,cAAQ;IAAAA,oDAAA,wBAAgB;IAE5BA,0DAF4B,EAAS,EAC1B,EACL;IAENA,wDAAA,KAAAi2C,+BAAA,kBAAyD;IAsBzDj2C,oDAAA,sBACA;IAAAA,wDAAA,KAAAk2C,+BAAA,kBAA2C;IAI7Cl2C,0DAAA,EAAM;;;;IAvImBA,uDAAA,GAAkC;IAAlCA,+DAAA,CAAAoI,MAAA,CAAAgnB,cAAA,CAAAhnB,MAAA,CAAAkoC,OAAA,CAAA9gC,MAAA,EAAkC;IAClCxP,uDAAA,GAAgC;IAAhCA,+DAAA,CAAAoI,MAAA,CAAAmmB,UAAA,CAAAnmB,MAAA,CAAAkoC,OAAA,CAAAhhC,QAAA,EAAgC;IAChCtP,uDAAA,GAAkB;IAAlBA,+DAAA,CAAAoI,MAAA,CAAAkoC,OAAA,CAAA/gC,MAAA,CAAkB;IAClBvP,uDAAA,GAA2B;IAA3BA,gEAAA,UAAAoI,MAAA,CAAAkoC,OAAA,CAAAvgC,UAAA,KAA2B;IAErC/P,uDAAA,EAAoB;IAA+EA,wDAAnG,qBAAoB,UAAAoI,MAAA,CAAAkoC,OAAA,CAAAngC,QAAA,CAAAxN,MAAA,SAAAoI,QAAA,GAAmD,2BAA2B,gDAAgD;IAGzJ/K,uDAAA,EAA6B;IAA7BA,wDAAA,WAAAoI,MAAA,CAAAkoC,OAAA,IAAAloC,MAAA,CAAA+tC,YAAA,CAA6B;IAkBGn2C,uDAAA,EAAwB;IAAxBA,wDAAA,YAAAoI,MAAA,CAAAkoC,OAAA,CAAAlgC,aAAA,CAAwB;IAuCxDpQ,uDAAA,EAAoC;IAApCA,wDAAA,SAAAoI,MAAA,CAAAkoC,OAAA,CAAAlgC,aAAA,CAAAzN,MAAA,KAAoC;IAWA3C,uDAAA,GAAc;IAAdA,wDAAA,YAAAoI,MAAA,CAAAguC,WAAA,CAAc;IAWzCp2C,uDAAA,GAAuB;IAAvBA,8DAAA,YAAAoI,MAAA,CAAAutC,SAAA,CAAuB;IACyB31C,uDAAA,EAAkC;IAACA,wDAAnC,aAAAoI,MAAA,CAAA+rC,UAAA,CAAA/rC,MAAA,CAAAutC,SAAA,EAAkC,UAAAvtC,MAAA,CAAA+rC,UAAA,CAAA/rC,MAAA,CAAAutC,SAAA,mCAA6D;IAMvI31C,uDAAA,GAAuB;IAAvBA,8DAAA,YAAAoI,MAAA,CAAA0tC,SAAA,CAAuB;IACvB91C,uDAAA,GAAuB;IAAvBA,8DAAA,YAAAoI,MAAA,CAAA4tC,SAAA,CAAuB;IAaxCh2C,uDAAA,GAAiD;IAAjDA,wDAAA,SAAAoI,MAAA,CAAAkoC,OAAA,CAAAlgC,aAAA,CAAAzN,MAAA,UAAAyF,MAAA,CAAA2rC,OAAA,CAAiD;IAuBpC/zC,uDAAA,GAAsB;IAAtBA,wDAAA,YAAAoI,MAAA,CAAAkoC,OAAA,CAAAjgC,WAAA,CAAsB;;;AD5HrC,MAAOgmC,SAAS;EAiBpBl2C,YACUw4B,MAAwB;IAAxB,KAAAA,MAAM,GAANA,MAAM;IAhBN,KAAA2Z,YAAY,GAAG,IAAIrW,uDAAY,EAAU;IAEnD,KAAA1N,UAAU,GAAGviB,8CAAI,CAACuiB,UAAU;IAC5B,KAAAa,cAAc,GAAGpjB,8CAAI,CAACojB,cAAc;IAQpC,KAAAknB,OAAO,GAAW,4BAA4B;IAE9C,KAAAH,YAAY,GAAG,KAAK;EAIf;EAELl1C,QAAQA,CAAA;IACN,IAAI,CAAC03B,MAAM,CAACna,SAAS,CAACpd,SAAS,CAAC6e,QAAQ,IAAI+J,UAAU,CAAC,MAAM,IAAI,CAACosB,WAAW,GAAG,CAAC,GAAGn2B,QAAQ,CAAC,CAAC,CAAC;EACjG;EAEA4c,WAAWA,CAACvsB,OAAsB;IAChC,IAAIA,OAAO,CAACggC,OAAO,IAAIhgC,OAAO,CAACggC,OAAO,CAACxT,YAAY,EAAE;MACnD,IAAI,CAACxsB,OAAO,CAACggC,OAAO,CAACvT,aAAa,EAAG;QACnC,IAAI,CAACoZ,YAAY,GAAG,KAAK;QACzB,IAAI,CAAC,IAAI,CAAC7F,OAAO,CAAClgC,aAAa,EAAEzN,MAAM,EAAE;UACvC,IAAI,CAACgzC,SAAS,GAAG,EAAE;UACnB,IAAI,CAACW,OAAO,GAAG,4BAA4B;UAC3C,IAAI,CAACzB,SAAS,GAAG,EAAE;UACnB,IAAI,CAACmB,SAAS,GAAG,EAAE;UACnB,IAAI,CAACF,SAAS,GAAG,EAAE;QACrB;MACF;MACA,IAAI,CAAC3D,gBAAgB,EAAE;IACzB;EACF;EAEA,IAAI4B,OAAOA,CAAA;IACT,OAAO,IAAI,CAACzD,OAAO,CAAC9gC,MAAM,GAAG,IAAI,CAAC8gC,OAAO,CAAClgC,aAAa,CAACI,MAAM,CAAC,CAAC3D,CAAC,EAAE6K,CAAC,KAAK7K,CAAC,IAAK6K,CAAC,CAAClI,MAAM,KAAGlN,SAAS,GAAEoV,CAAC,CAAClI,MAAM,GAAC,IAAI,CAACyjC,WAAW,CAAC,EAAE,CAAC,CAAC;EACrI;EAEAh5B,QAAQA,CAACqD,IAAoB;IAC3B,OAAOA,IAAI,CAACtM,OAAO,IAAIsM,IAAI,CAACpD,IAAI,GAAC,IAAIoD,IAAI,CAACpD,IAAI,IAAIoD,IAAI,CAACnD,IAAI,EAAE,GAAE,EAAE,CAAC;EACpE;EAEA41B,OAAOA,CAACzyB,IAAoB;IAC1B,IAAI,CAACgzB,OAAO,CAAClgC,aAAa,GAAG,IAAI,CAACkgC,OAAO,CAAClgC,aAAa,CAACrQ,MAAM,CAACga,CAAC,IAAIA,CAAC,KAAKuD,IAAI,CAAC;EACjF;EAEA4yB,QAAQA,CAAC5yB,IAAoB;IAC3B,IAAI,CAACq4B,SAAS,GAAGr4B,IAAI,CAACtM,OAAO;IAC7B,IAAI,CAAC8kC,SAAS,GAAGx4B,IAAI,CAACpD,IAAI;IAC1B,IAAI,CAAC87B,SAAS,GAAG14B,IAAI,CAACnD,IAAI;IAC1B,IAAI,CAAC06B,SAAS,GAAGv3B,IAAI,CAACxN,WAAW;IACjC,IAAI,CAACwgC,OAAO,CAAClgC,aAAa,GAAG,IAAI,CAACkgC,OAAO,CAAClgC,aAAa,CAACrQ,MAAM,CAACga,CAAC,IAAIA,CAAC,KAAKuD,IAAI,CAAC;IAC/E,IAAI,CAACg3B,YAAY,GAAG,IAAI;EAC1B;EAEAvB,UAAUA,CAACz1B,IAAoB;IAC7B,IAAI,CAAC21B,WAAW,GAAG31B,IAAI,CAAC9N,MAAM;IAC9B8N,IAAI,CAAC9N,MAAM,GAAGlN,SAAS;IACvB0nB,UAAU,CAAC,MAAMqG,QAAQ,CAACkmB,sBAAsB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;EAClF;EAEAnD,WAAWA,CAAC3qC,MAAa;IACvB,IAAI1G,KAAK,GAAG0G,MAAuB;IACnC,IAAI1G,KAAK,CAAC6iB,GAAG,IAAI,OAAO,EACtB7iB,KAAK,CAACizB,MAAM,CAAC,MAAM,CAAC,EAAE;EAC1B;EAEAmf,UAAUA,CAACvW,IAAY;IACrB,OAAO,CAACA,IAAI,IAAI,IAAI,CAAC0S,OAAO,CAAClgC,aAAa,CAAC3F,IAAI,CAACsP,CAAC,IAAIA,CAAC,CAAC/I,OAAO,IAAI4sB,IAAI,CAAC;EACzE;EAEAsW,OAAOA,CAACtW,IAAY;IAClB,IAAItgB,IAAI,GAAG,IAAIpO,+EAAc,EAAE;IAC/BoO,IAAI,CAACtM,OAAO,GAAG4sB,IAAI;IACnBtgB,IAAI,CAACpD,IAAI,GAAG,IAAI,CAAC47B,SAAS;IAC1Bx4B,IAAI,CAACnD,IAAI,GAAG,IAAI,CAAC67B,SAAS;IAC1B,IAAI,IAAI,CAAC1B,YAAY,EACnBh3B,IAAI,CAACxN,WAAW,GAAG,IAAI,CAAC+kC,SAAS;IACnC,IAAI,CAACvE,OAAO,CAAClgC,aAAa,CAAC4B,IAAI,CAACsL,IAAI,CAAC;EACvC;EAEAk5B,aAAaA,CAACvmC,CAAQ;IACpB,IAAI2tB,IAAI,GAAI3tB,CAAC,CAAC+kB,MAA4B,CAACuC,KAAK;IAChDtnB,CAAC,CAAC+kB,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC;IAC7B,IAAI4I,IAAI,EAAE;MACR,IAAI,CAACsW,OAAO,CAACtW,IAAI,CAAC;IACpB;EACF;EAEA6W,aAAaA,CAAA;IACX,IAAI,CAACnE,OAAO,CAAClgC,aAAa,CAACjD,OAAO,CAAC4M,CAAC,IAAG;MACrC,IAAI,IAAI,CAACu6B,YAAY,EACnBv6B,CAAC,CAACjK,WAAW,GAAG,IAAI,CAAC+kC,SAAS,CAAC,KAC5B,IAAI,CAAC96B,CAAC,CAACjK,WAAW,EACrBiK,CAAC,CAACjK,WAAW,GAAG,IAAI,CAAC+kC,SAAS;IAChC,CAAC,CAAC;EACN;EAEAQ,cAAcA,CAAA;IACZ,IAAI,IAAI,CAAC/E,OAAO,CAACngC,QAAQ,CAACxN,MAAM,IAAI,CAAC,EACnC,IAAI,CAAC2vC,YAAY,CAACjV,IAAI,CAAC,IAAI,CAACiT,OAAO,CAACpjC,EAAE,CAAC,CAAC,KAExC,IAAI,CAACipC,YAAY,GAAG,CAAC,IAAI,CAACA,YAAY;EAC1C;EAEAhE,gBAAgBA,CAAA;IACd,IAAI,CAAC7B,OAAO,CAACngC,QAAQ,GAAG,IAAI,CAACmgC,OAAO,CAACngC,QAAQ,CAACpQ,MAAM,CAACqM,CAAC,IAAI,CAACA,CAAC,CAACyB,OAAO,CAAC;IACrE,IAAI,IAAI,CAACyiC,OAAO,CAACngC,QAAQ,CAACxN,MAAM,IAAI,CAAC,EACnC,IAAI,CAACwzC,YAAY,GAAG,KAAK;EAC7B;EAEAnB,SAASA,CAAA;IACP,OAAO,IAAI,CAAC1E,OAAO,CAAClgC,aAAa,CAAC0gB,KAAK,CAAC/W,CAAC,IAAI,CAAC,CAACA,CAAC,CAACjK,WAAW,CAAC,IAAI,CAAC,IAAI,CAACwkC,YAAY;EACrF;EAEAW,cAAcA,CAAA;IACZ,OAAO,IAAI,CAAC3E,OAAO,CAAClgC,aAAa,CAAC3F,IAAI,CAACsP,CAAC,IAAI,CAAC,CAACA,CAAC,CAACjK,WAAW,CAAC;EAC9D;EAEA4kC,UAAUA,CAAA;IACR,IAAI,IAAI,CAACpE,OAAO,CAAClgC,aAAa,CAACzN,MAAM,IAAI,CAAC,EACxC,OAAO,8BAA8B;IACvC,IAAI,IAAI,CAAC2xC,YAAY,EACnB,OAAO,mDAAmD;IAC5D,OAAO,yDAAyD;EAClE;EAAC,QAAAh1C,CAAA;qBApIU+2C,SAAS,EAAAr2C,+DAAA,CAAAL,0DAAA;EAAA;EAAA,QAAAJ,EAAA;UAAT82C,SAAS;IAAA3yC,SAAA;IAAAshC,MAAA;MAAAsL,OAAA;IAAA;IAAArL,OAAA;MAAAqN,YAAA;IAAA;IAAAmE,QAAA,GAAAz2C,kEAAA;IAAA2D,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAA6yC,mBAAA3yC,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCVtBhE,wDAAA,IAAA42C,wBAAA,mBAAuB;;;QAAjB52C,wDAAA,SAAAiE,GAAA,CAAAqsC,OAAA,CAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAoF;AAE1C;AACnB;AACY;AACV;AAEsB;AACxC;;;;;;;;;;;;;ICIxBtwC,4DAAA,WAAoG;IAA7CA,wDAAA,mBAAA82C,oDAAAruC,MAAA;MAAA,MAAAsuC,MAAA,GAAA/2C,2DAAA,CAAAs8B,GAAA,EAAA0a,GAAA;MAAA,MAAAhL,MAAA,GAAAhsC,2DAAA;MAASyI,MAAA,CAAAsxB,eAAA,EAAwB;MAAA,OAAA/5B,yDAAA,CAACgsC,MAAA,CAAAiL,IAAA,CAAAF,MAAA,CAAS;IAAA,EAAC;IAAC/2C,0DAAA,EAAI;IACxGA,4DAAA,WAAsG;IAA5CA,wDAAA,mBAAAk3C,oDAAAzuC,MAAA;MAAA,MAAAsuC,MAAA,GAAA/2C,2DAAA,CAAAs8B,GAAA,EAAA0a,GAAA;MAAA,MAAAhL,MAAA,GAAAhsC,2DAAA;MAASyI,MAAA,CAAAsxB,eAAA,EAAwB;MAAA,OAAA/5B,yDAAA,CAACgsC,MAAA,CAAAmL,GAAA,CAAAJ,MAAA,CAAQ;IAAA,EAAC;IAAC/2C,0DAAA,EAAI;;;;;;IAIxGA,4DAAA,yBAAkD;IAAjCA,8DAAA,uBAAAo3C,sEAAA3uC,MAAA;MAAAzI,2DAAA,CAAA2qC,GAAA;MAAA,MAAAqB,MAAA,GAAAhsC,2DAAA;MAAAA,gEAAA,CAAAgsC,MAAA,CAAAjoB,GAAA,EAAAtb,MAAA,MAAAujC,MAAA,CAAAjoB,GAAA,GAAAtb,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAa;IAAoBzI,0DAAA,EAAkB;IACpEA,4DAAA,eAA0B;IAAAA,oDAAA,mBAAY;IAAAA,4DAAA,eAA8F;IAAjDA,8DAAA,2BAAAq3C,gEAAA5uC,MAAA;MAAAzI,2DAAA,CAAA2qC,GAAA;MAAA,MAAAqB,MAAA,GAAAhsC,2DAAA;MAAAA,gEAAA,CAAAgsC,MAAA,CAAAl8B,WAAA,EAAArH,MAAA,MAAAujC,MAAA,CAAAl8B,WAAA,GAAArH,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAyB;IAAwBzI,0DAA9F,EAA8F,EAAQ;;;;IAD3HA,8DAAA,QAAAgsC,MAAA,CAAAjoB,GAAA,CAAa;IACqD/jB,uDAAA,GAAyB;IAAzBA,8DAAA,YAAAgsC,MAAA,CAAAl8B,WAAA,CAAyB;;;ADPzG,MAAMwnC,SAAS,GAAG,CACvB,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,WAAW,EACX,MAAM,EACN,MAAM,EACN,MAAM,EACN,IAAI,EACJ,MAAM,CACP;AAED,MAAMC,UAAW,SAAQxmC,uEAAU;EACjC5Q,YAAY0M,CAAY;IACtB,KAAK,EAAE;IACPb,8CAAI,CAACwlB,IAAI,CAAC3kB,CAAC,EAAE,IAAI,CAAC;IAClBA,CAAC,CAACmE,OAAO,CAACge,KAAK,CAAC,GAAG,CAAC,CAAC7hB,OAAO,CAAC,CAACsa,CAAC,EAAC+H,CAAC,KAAS,IAAK,CAACA,CAAC,CAAC,GAAC/H,CAAC,CAAC;EACvD;;AAQI,MAAO+vB,SAAS;EAOpBr3C,YACUw4B,MAAwB,EACxBD,KAAmB;IADnB,KAAAC,MAAM,GAANA,MAAM;IACN,KAAAD,KAAK,GAALA,KAAK;IAPN,KAAA+D,WAAW,GAAWn6B,SAAS;IAC9B,KAAAm1C,QAAQ,GAAsB,IAAIxb,uDAAY,EAAE;IAY1D,KAAAzC,IAAI,GAAC,KAAK;IAoDV,KAAAke,QAAQ,GAAIV,GAA8B,IAAG;MAC3C,IAAI5qC,CAAC,GAAK,IAAI,CAACqrC,QAAQ,CAACpO,SAAS,CAAC1mC,MAAM,GAAG,gBAAgB,GAAC,EAAE;MAC9D,IAAI,CAACq0C,GAAG,CAAC35C,IAAI,CAAC4T,KAAK,EACjB7E,CAAC,IAAI,cAAc;MACrB,OAAOA,CAAC;IACV,CAAC;IAMD,KAAA2X,GAAG,GAAGqY,0DAAQ,EAAE;IAChB,KAAAtsB,WAAW,GAAC,EAAE;EArEV;EAMJ7O,QAAQA,CAAA;IACN,MAAM02C,EAAE,GAAG3rC,8CAAI,CAACmkB,KAAK,EAAE;IACvB,IAAI,CAAC,IAAI,CAACynB,MAAM,EACd,IAAI,CAACA,MAAM,GAAGN,SAAS;IACzB,IAAI,CAACO,IAAI,GAAG,CACV;MACEC,KAAK,EAAE,CAAC,GAAGH,EAAE;MACbI,QAAQ,EAAE,CAAC,GAAGJ,EAAE;MAChBK,QAAQ,EAAE,CAAC,GAAGL,EAAE;MAChB9V,QAAQ,EAAE,KAAK;MACf9hC,MAAM,EAAE,KAAK;MACbgiC,SAAS,EAAE,KAAK;MAChBnB,YAAY,EAAEA,CAAA,KAAM;;;SAGnB;MACDQ,aAAa,EAAGhvB,CAAC,IAAI;QACnB,IAAKA,CAAC,CAACrQ,KAAK,CAACizB,MAAsB,CAAC2N,SAAS,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;UACjE,IAAI,CAACqU,IAAI,CAAC7kC,CAAC,CAAC/U,IAAI,CAAC;QACnB,CAAC,MAAM,IAAK+U,CAAC,CAACrQ,KAAK,CAACizB,MAAsB,CAAC2N,SAAS,CAACC,QAAQ,CAAC,UAAU,CAAC,EAAE;UACzE,IAAI,CAACuU,GAAG,CAAC/kC,CAAC,CAAC/U,IAAI,CAAC;QAClB;MACF;KACD,EACD;MACE46C,UAAU,EAAE,aAAa;MAAEH,KAAK,EAAC,GAAG;MAAGI,KAAK,EAAErB,wDAAM,CAAax0C,CAAC,IAAIA,CAAC,CAACyN,WAAW;KAAG,CACvF;IACD,IAAI,CAAC+nC,IAAI,GAAE,IAAI,CAACA,IAAI,CAAC3lC,MAAM,CAAC,IAAI,CAAC0lC,MAAM,CAACztC,GAAG,CAAC,CAACqZ,CAAC,EAAEgM,CAAC,KAAI;MAAG,OAAO;QAC7DyoB,UAAU,EAAEz0B,CAAC;QACb00B,KAAK,EAAE1oB,CAAC,CAACzkB,QAAQ,EAAE;QACnBg3B,SAAS,EAAC,KAAK;QACfoW,gBAAgB,EAAC;QACjB;OACD;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAACxf,MAAM,CAACna,SAAS,CAACpd,SAAS,CAAC6e,QAAQ,IAAI+J,UAAU,CAAC,MAAI,IAAI,CAACjL,cAAc,CAACkB,QAAQ,CAAC,CAAC,CAAC;IAE1F,IAAI,IAAI,CAACwc,WAAW,EAClBzS,UAAU,CAAC,MAAI,IAAI,CAACitB,IAAI,CAAC,IAAI,CAAC,CAAC;EACnC;EAEArX,WAAWA,CAACn3B,MAAW;IACrB,IAAI,CAAC2vC,SAAS,CAACvY,OAAO,CAACG,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC;IAC1D,IAAI,CAACoY,SAAS,CAACvY,OAAO,CAACG,aAAa,CAAC,SAAS,EAAE,IAAI,CAACqY,IAAI,CAAC;EAC5D;EAEAt5B,cAAcA,CAACu5B,MAAmB;IAChC,MAAMX,EAAE,GAAG3rC,8CAAI,CAACmkB,KAAK,EAAE;IACvB,IAAI,CAACkoB,IAAI,GAAG,CAAC,GAAGC,MAAM,CAACnuC,GAAG,CAAC0C,CAAC,IAAI,IAAI0qC,UAAU,CAAC1qC,CAAC,CAAC,CAAC,CAAC;EACrD;EASA04B,UAAUA,CAACxjC,KAAkC;IAC3C,IAAI,CAAC01C,QAAQ,CAACpa,IAAI,CAACt7B,KAAK,CAAC1E,IAAI,CAAC2T,OAAO,CAAC;EACxC;EAKAimC,IAAIA,CAACD,GAAc;IACjB,MAAM5pC,GAAG,GAAG,CAAC4pC,GAAG;IAChBA,GAAG,GAAGA,GAAG,IAAI,IAAIO,UAAU,CAAC;MAC1BrqC,EAAE,EAAE,CAAC;MACL8D,OAAO,EAAE,IAAI,CAACyrB,WAAW;MACzB3sB,WAAW,EAAE;KACd,CAAC;IACF,IAAI,CAACiU,GAAG,GAAG1X,MAAM,CAACC,MAAM,CAAC8vB,0DAAQ,EAAE,EAAGpwB,8CAAI,CAAC+lB,cAAc,CAACqK,0DAAQ,EAAE,EAAE4a,GAAG,CAAChmC,OAAO,CAAC,CAAC;IACnF,IAAI,CAAClB,WAAW,GAAGknC,GAAG,EAAElnC,WAAW,IAAE,EAAE;IACvC,IAAI,CAAC4oB,KAAK,CAACc,IAAI,CAAC;MACd37B,KAAK,EAAEuP,GAAG,GAAG,sBAAsB,GAAG,uBAAuB;MAC7D6sB,SAAS,EAAE,QAAQ;MACnBn2B,QAAQ,EAAE,IAAI,CAACy0C,YAAY;MAC3B5a,YAAY,EAAE,MAAM;MACpB6a,SAAS,EAAE,IAAI;MACfC,aAAa,EAAEA,CAAA,KAAI,CAAC,IAAI,CAAC3oC,WAAW;MACpC4oC,SAAS,EAAEA,CAAA,KAAO,CAAC,IAAI,CAAC5oC,WAAW,GAAE,yBAAyB,GAAC;KAChE,CAAC,CACChO,IAAI,CACHqf,yDAAS,CAACvS,GAAG,IAAG;MACd,IAAI,CAACA,GAAG,EACN,OAAOsS,wCAAE,CAAC,CAAC,CAAC;MACd81B,GAAG,CAAChmC,OAAO,GAAGga,2DAAS,CAAC,IAAI,CAACjH,GAAG,CAAC;MACjCizB,GAAG,CAAClnC,WAAW,GAAG,IAAI,CAACA,WAAW;MAClC,IAAIknC,GAAG,CAAC9pC,EAAE,EAAE;QACV,OAAO,IAAI,CAACyrB,MAAM,CAACxY,WAAW,CAAC62B,GAAG,CAAC;MACrC,CAAC,MAAM;QACL,OAAO,IAAI,CAACre,MAAM,CAACzY,QAAQ,CAAC82B,GAAG,CAAC;MAClC;IACF,CAAC,CAAC,CACH,CACA51C,SAAS,CACRwN,GAAG,IAAG;MACJ,IAAIA,GAAG,KAAK,CAAC,EACX,IAAI,CAAC+pB,MAAM,CAAC5Z,cAAc,EAAE;IAChC,CAAC,EACDhE,KAAK,IAAG;MACN,IAAI,CAAC2d,KAAK,CAAC3d,KAAK,CAACA,KAAK,CAAC,CAAC3Z,SAAS,CAAC,MAAI4oB,UAAU,CAAC,MAAI,IAAI,CAACitB,IAAI,CAACD,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC,CACF;EACL;EAEAG,GAAGA,CAACH,GAAc;IAChB,IAAI,CAACte,KAAK,CAAC0B,GAAG,CACZ,uBAAuB,EACvB,WAAW4c,GAAG,CAAClnC,WAAW,mBAAmB,CAC9C,CACEhO,IAAI,CACHqf,yDAAS,CAACvS,GAAG,IAAG;MACd,OAAOA,GAAG,GACR,IAAI,CAAC+pB,MAAM,CAACvY,QAAQ,CAAC42B,GAAG,CAAC,GACvB91B,wCAAE,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CACH,CACA9f,SAAS,CACRwN,GAAG,IAAG;MACJ,IAAIA,GAAG,KAAK,CAAC,EACX,IAAI,CAAC+pB,MAAM,CAAC5Z,cAAc,EAAE;IAChC,CAAC,EACDhE,KAAK,IAAG;MACN,IAAI,CAAC2d,KAAK,CAAC3d,KAAK,CAACA,KAAK,CAAC,CAAC3Z,SAAS,EAAE;IACrC,CAAC,CACF;EACL;EAAC,QAAA9B,CAAA;qBAhJUk4C,SAAS,EAAAx3C,+DAAA,CAAAL,0DAAA,GAAAK,+DAAA,CAAAmD,8DAAA;EAAA;EAAA,QAAA5D,EAAA;UAATi4C,SAAS;IAAA9zC,SAAA;IAAAo3B,SAAA,WAAA6d,gBAAA30C,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;QCpCpBhE,4DADF,aAAmB,yBAOd;QADDA,wDADA,mBAAA44C,iDAAAnwC,MAAA;UAAAzI,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAASiE,GAAA,CAAA27B,WAAA,CAAAn3B,MAAA,CAAmB;QAAA,EAAC,sBAAAowC,oDAAApwC,MAAA;UAAAzI,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CACjBiE,GAAA,CAAAshC,UAAA,CAAA98B,MAAA,CAAkB;QAAA,EAAC;QAGnCzI,0DADE,EAAe,EACX;QAONA,wDALA,IAAA84C,gCAAA,gCAAA94C,oEAAA,CAAwC,IAAA+4C,gCAAA,gCAAA/4C,oEAAA,CAKb;;;QAdvBA,uDAAA,EAAgB;QAEhBA,wDAFA,YAAAiE,GAAA,CAAA4zC,IAAA,CAAgB,YAAA5zC,GAAA,CAAAo0C,IAAA,CACA,gBAAAp0C,GAAA,CAAAyzC,QAAA,CACQ;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDiC;;;;;;;;;;ICCzD13C,4DADF,YAA8C,eACvB;IAAAA,oDAAA,oBACrB;IAAAA,4DAAA,eAAiE;IAA9CA,8DAAA,2BAAAg5C,8DAAAvwC,MAAA;MAAAzI,2DAAA,CAAAs8B,GAAA;MAAA,MAAAC,MAAA,GAAAv8B,2DAAA;MAAAA,gEAAA,CAAAu8B,MAAA,CAAAxE,KAAA,EAAAtvB,MAAA,MAAA8zB,MAAA,CAAAxE,KAAA,GAAAtvB,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAmB;IAExCzI,0DAFE,EAAiE,EACzD,EACL;;;;IAFgBA,uDAAA,GAAmB;IAAnBA,8DAAA,YAAAu8B,MAAA,CAAAxE,KAAA,CAAmB;;;ADMpC,MAAOkhB,OAAO;EAKlB94C,YACUG,MAAc,EACdq4B,MAAwB,EACxBD,KAAmB,EACnBpc,KAAuB;IAHvB,KAAAhc,MAAM,GAANA,MAAM;IACN,KAAAq4B,MAAM,GAANA,MAAM;IACN,KAAAD,KAAK,GAALA,KAAK;IACL,KAAApc,KAAK,GAALA,KAAK;IANf,KAAA48B,KAAK,GAAY,KAAK;EAOnB;EAEHj4C,QAAQA,CAAA;IACN,IAAI,CAAC4lB,MAAM,EAAE;IACb,IAAI,CAACvK,KAAK,CAACb,EAAE,CAAC3O,uEAAY,CAACqsC,UAAU,CAAC,CACnC/3C,SAAS,CAAC6O,CAAC,IAAI,IAAI,CAAC4W,MAAM,EAAE,CAAC;EAClC;EAEAA,MAAMA,CAAA;IACJ,IAAI,CAACqyB,KAAK,GAAG,IAAI,CAACvgB,MAAM,CAACxZ,UAAU,CAAC,IAAI,CAACzgB,GAAG,CAAC;EAC/C;EAEA,IAAIA,GAAGA,CAAA;IACL,IAAI06C,GAAG,GAAGxzB,MAAM,CAAC4C,QAAQ;IACzB,OAAO,GAAG4wB,GAAG,CAAC1wB,QAAQ,GAAG0wB,GAAG,CAACC,IAAI,GAAGD,GAAG,CAACz2B,MAAM,EAAE;EAClD;EACA,IAAW22B,SAASA,CAAA;IAClB,OAAO,OAAO,IAAE,IAAI,CAACJ,KAAK,GAAG,UAAU,GAAC,YAAY,CAAC;EACvD;EAEA,IAAWr7C,KAAKA,CAAA;IACd,OAAO,IAAI,CAACq7C,KAAK,GAAC,0BAA0B,GAAC,sBAAsB;EACrE;EAGAK,OAAOA,CAAA;IACL,IAAI,IAAI,CAACL,KAAK,EAAC;MACb,IAAI,CAAC54C,MAAM,CAACizB,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;MAClC;IACF;IACA,IAAI,CAACmF,KAAK,CAACc,IAAI,CAAC;MACd37B,KAAK,EAAC,kBAAkB;MACxBo8B,SAAS,EAAE,QAAQ;MACnBn2B,QAAQ,EAAE,IAAI,CAAC01C,WAAW;MAC1BhB,SAAS,EAAE;KACZ,CAAC,CAACp3C,SAAS,CACVwN,GAAG,IAAE;MACH,IAAI,CAACA,GAAG,EACN;MACF,IAAI,CAAC+pB,MAAM,CAACrZ,OAAO,CAAC;QAClB5gB,GAAG,EAAE,IAAI,CAACA,GAAG;QACboR,WAAW,EAAE,IAAI,CAACioB;OACnB,CAAC,CAAC32B,SAAS,CACVwN,GAAG,IAAG;QACJ,IAAI,CAACsqC,KAAK,GAAG,IAAI;MACnB,CAAC,CACF;IACL,CAAC,CAAC;EACJ;EAAC,QAAA55C,CAAA;qBA1DU25C,OAAO,EAAAj5C,+DAAA,CAAAL,mDAAA,GAAAK,+DAAA,CAAAmD,0DAAA,GAAAnD,+DAAA,CAAAsD,8DAAA,GAAAtD,+DAAA,CAAAmD,0DAAA;EAAA;EAAA,QAAA5D,EAAA;UAAP05C,OAAO;IAAAv1C,SAAA;IAAAo3B,SAAA,WAAA2e,cAAAz1C,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;;;;;;;;;;;;;;;;;QCXpBhE,4DAAA,WAA8E;QAApBA,wDAAA,mBAAA05C,oCAAA;UAAA15C,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAASiE,GAAA,CAAAs1C,OAAA,EAAS;QAAA,EAAC;QAACv5C,0DAAA,EAAI;QAElFA,wDAAA,IAAA25C,8BAAA,gCAAA35C,oEAAA,CAA0B;;;QAFJA,wDAAA,CAAAiE,GAAA,CAAAq1C,SAAA,CAAmB;QAACt5C,wDAAA,UAAAiE,GAAA,CAAApG,KAAA,CAAe;;;;;;;;;;;;;;;;;;;;;;;;;;ACA6D;;;;;;;;;;;;ICkB5GmC,4DAAA,aAAoE;IAA5BA,wDAAA,mBAAA45C,mEAAA;MAAA,MAAAC,IAAA,GAAA75C,2DAAA,CAAA8I,GAAA,EAAAktB,SAAA;MAAA,MAAA5tB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA0xC,GAAA,CAAAC,UAAA,CAAAF,IAAA,CAAiB;IAAA,EAAC;IACjE75C,4DAAA,iBAA4C;IAAAA,oDAAA,GAAK;IACnDA,0DADmD,EAAS,EACvD;;;;IADyCA,uDAAA,GAAK;IAALA,+DAAA,CAAA65C,IAAA,CAAK;;;;;;IAfvD75C,4DAFJ,aAA4B,aACC,aACwD;IAC/EA,uDAAA,eAA8F;IAC9FA,4DAAA,WAGC;IADCA,wDAAA,mBAAAg6C,6DAAA;MAAAh6C,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA0xC,GAAA,CAAAG,QAAA,CAAAC,KAAA,EAAoB;IAAA,EAAC;IAGlCl6C,0DADE,EAAI,EACA;IAGJA,4DADF,aAAsB,iBACqG;IACvHA,oDAAA,GACF;IAAAA,0DAAA,EAAS;IACTA,4DAAA,aAA0B;IACxBA,wDAAA,IAAAm6C,8CAAA,iBAAoE;IAIxEn6C,0DADE,EAAK,EACD;IAENA,4DAAA,kBAAgI;IAA3BA,wDAAA,mBAAAo6C,mEAAA;MAAAp6C,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA0xC,GAAA,CAAAO,UAAA,EAAgB;IAAA,EAAC;IAACr6C,0DAAA,EAAS;IAGvIA,4DADF,eAA4D,iBAChB;IAAAA,oDAAA,+CACxC;IAAAA,4DAAA,iBAAqF;IAA9DA,8DAAA,2BAAAs6C,0EAAA7xC,MAAA;MAAAzI,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAA0xC,GAAA,CAAAS,iBAAA,EAAA9xC,MAAA,MAAAL,MAAA,CAAA0xC,GAAA,CAAAS,iBAAA,GAAA9xC,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAmC;IAGhEzI,0DAHM,EAAqF,EAC/E,EACJ,EACF;IAKAA,4DAHN,eAAgD,eACc,eACxC,UACZ;IAAAA,oDAAA,IAAgC;IAAAA,0DAAA,EAAK;IACzCA,4DAAA,8BAUC;IADCA,wDAAA,sBAAAw6C,+EAAA/xC,MAAA;MAAAzI,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAYoI,MAAA,CAAA0xC,GAAA,CAAAtT,QAAA,CAAA/9B,MAAA,GAAAL,MAAA,CAAA0xC,GAAA,CAAAW,OAAA,CAAA93C,MAAA,CAAuC;IAAA,EAAC;IAGxD3C,0DADE,EAAkB,EACd;IAEJA,4DADF,WAAgD,UAC1C;IAAAA,oDAAA,gBAAQ;IAAAA,0DAAA,EAAK;IACjBA,4DAAA,8BAWC;IAFCA,wDAAA,sBAAA06C,+EAAAjyC,MAAA;MAAAzI,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAYoI,MAAA,CAAA0xC,GAAA,CAAAtT,QAAA,CAAA/9B,MAAA,CAAoB;IAAA,EAAC;IAO3CzI,0DAJQ,EAAkB,EACd,EACF,EACF,EACF;;;;;IA/DmBA,uDAAA,GAA4B;IAA5BA,wDAAA,gBAAAoI,MAAA,CAAA0xC,GAAA,CAAAG,QAAA,CAA4B;IAU7Cj6C,uDAAA,GACF;IADEA,gEAAA,MAAAoI,MAAA,CAAA0xC,GAAA,CAAAa,OAAA,MACF;IAEoB36C,uDAAA,GAAoB;IAApBA,wDAAA,YAAAoI,MAAA,CAAA0xC,GAAA,CAAAc,aAAA,CAAoB;IAM6B56C,uDAAA,EAA6B;IAA7BA,wDAAA,CAAAoI,MAAA,CAAA0xC,GAAA,CAAAe,aAAA,GAA6B;IAIzE76C,uDAAA,GAAmC;IAAnCA,8DAAA,YAAAoI,MAAA,CAAA0xC,GAAA,CAAAS,iBAAA,CAAmC;IAQtDv6C,uDAAA,GAAgC;IAAhCA,gEAAA,cAAAoI,MAAA,CAAA0xC,GAAA,CAAA1qC,UAAA,KAAgC;IAIlCpP,uDAAA,EAA4B;IAK5BA,wDALA,6BAA4B,UAAAoI,MAAA,CAAA0xC,GAAA,CAAAgB,UAAA,CACJ,qBACJ,oBACD,oBACA,mBAAAC,SAAA,CACM;IAKxB/6C,uDAAA,GAA0C;IAA1CA,wDAAA,CAAAoI,MAAA,CAAA0xC,GAAA,CAAAkB,QAAA,oBAA0C;IAK3Ch7C,uDAAA,GAA4B;IAK5BA,wDALA,6BAA4B,UAAAoI,MAAA,CAAA0xC,GAAA,CAAAW,OAAA,CACP,qBACD,oBACD,oBACA,mBAAAM,SAAA,CACM;;;;;IAcjC/6C,4DADF,cAAiC,cACZ;IACjBA,oDAAA,GACF;IAAAA,0DAAA,EAAM;IACNA,4DAAA,cAAmB;IACjBA,oDAAA,GACF;IACFA,0DADE,EAAM,EACF;;;;IALFA,uDAAA,GACF;IADEA,gEAAA,WAAAimC,IAAA,CAAAliB,GAAA,MACF;IAEE/jB,uDAAA,GACF;IADEA,gEAAA,MAAAimC,IAAA,CAAAjiB,KAAA,MACF;;;;;IANFhkB,wDAAA,IAAAi7C,+CAAA,kBAAiC;;;;IAA3Bj7C,wDAAA,WAAAimC,IAAA,CAAAliB,GAAA,CAAa;;;AD/DrB;AAMM,MAAOm3B,kBAAkB;EAQ7B/6C,YAAmB25C,GAAoB;IAApB,KAAAA,GAAG,GAAHA,GAAG;IALZ,KAAAqB,UAAU,GAAsB,IAAIlf,uDAAY,EAAE;EAM5D;EAEA3I,eAAeA,CAAA;IACb,IAAI,CAACwmB,GAAG,CAACsB,gBAAgB,CAAC,IAAI,CAAC;EACjC;EAAC,QAAA97C,CAAA;qBAbU47C,kBAAkB,EAAAl7C,+DAAA,CAAAL,gEAAA;EAAA;EAAA,QAAAJ,EAAA;UAAlB27C,kBAAkB;IAAAx3C,SAAA;IAAAo3B,SAAA,WAAAwgB,yBAAAt3C,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;;;;;;;;;;;;;;;;;;;;;;;;QCuD/BhE,wDAtEA,IAAAu7C,yCAAA,kCAAAv7C,oEAAA,CAAqB,IAAAw7C,yCAAA,gCAAAx7C,oEAAA,CAsEM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnEmC;AACjB;AACY;;;;AAKnD,MAAOq7C,gBAAgB;EAmB3Bl7C,YACmBC,WAAwB,EACjCw4B,OAAsB,EACtBF,KAAmB;IAFV,KAAAt4B,WAAW,GAAXA,WAAW;IACpB,KAAAw4B,OAAO,GAAPA,OAAO;IACP,KAAAF,KAAK,GAALA,KAAK;IAlBf,KAAAsiB,QAAQ,GAAG,KAAK;IAChB,KAAAP,OAAO,GAAc,EAAE;IACvB,KAAAmB,UAAU,GAAc,EAAE;IAC1B,KAAAd,UAAU,GAAc,EAAE;IAC1B,KAAAe,aAAa,GAAc,EAAE;IAC7B,KAAAC,OAAO,GAAG,KAAK;IAGf,KAAA7B,QAAQ,GAAG,IAAIyB,uDAAW,EAAE;IAE5B,KAAAf,OAAO,GAAG,WAAW;IACrB,KAAAoB,SAAS,GAAG,KAAK;IACjB,KAAAxB,iBAAiB,GAAG,KAAK;IAuFzB,KAAAyB,QAAQ,GAAgE;MACtE,WAAW,EAAEC,CAACpvC,CAAC,EAAE6K,CAAC,KAAK7K,CAAC,CAACa,QAAQ,CAACiK,aAAa,CAACD,CAAC,CAAChK,QAAQ,CAAC;MAC3D,SAAS,EAAErC,CAACwB,CAAC,EAAE6K,CAAC,KAAK,CAAC7K,CAAC,CAACc,OAAO,IAAI,EAAE,EAAEgK,aAAa,CAAED,CAAC,CAAC/J,OAAO,IAAI,EAAG,CAAC;MACvE,YAAY,EAAEuuC,CAACrvC,CAAC,EAAE6K,CAAC,KAAK,CAAC7K,CAAC,CAACmB,UAAU,IAAI,EAAE,EAAE2J,aAAa,CAAED,CAAC,CAAC1J,UAAU,IAAI,EAAG,CAAC;MAChF,cAAc,EAAEmuC,CAACtvC,CAAC,EAAE6K,CAAC,KAAK,CAAE,CAAC7K,CAAC,CAACoB,UAAU,IAAK,CAAC,KAAM,CAACyJ,CAAC,CAACzJ,UAAU,IAAK,CAAC;KACzE;IApFC,IAAI,CAAC/M,gBAAgB,GAAG,IAAI,CAACd,WAAW,CAACe,KAAK,CAACC,SAAS,CAACC,IAAI,IAAG;MAC9D,IAAI,CAACA,IAAI,GAAGA,IAAI;MAChB,IAAI,CAAC25C,QAAQ,GAAG,IAAI,CAAC35C,IAAI,EAAE6L,EAAE,IAAI,IAAI,CAACiC,QAAQ;IAChD,CAAC,CAAC;IACF,IAAI,CAAC8qC,QAAQ,CAACmC,YAAY,CAACt6C,IAAI,CAC7B65C,4DAAY,CAAC,GAAG,CAAC,CAClB,CAACv6C,SAAS,CAAC;MACVwa,IAAI,EAAGnL,CAAS,IAAI;QAClB,IAAI,CAAC1Q,MAAM,GAAG0Q,CAAC;QACf,IAAI,CAAC41B,QAAQ,GAAG/jC,SAAS;QACzB,IAAI,CAACnF,SAAS,CAACk/C,WAAW,EAAE1S,QAAQ,EAAE;QACtC,IAAI,CAACxsC,SAAS,CAACm/C,cAAc,EAAE3S,QAAQ,EAAE;QACzC,IAAI,CAAC4S,aAAa,EAAE;MACtB;KACD,CAAC;EACJ;EAEAnB,gBAAgBA,CAACj+C,SAA6B;IAC5C,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC5B;EAEA;EACAyE,GAAGA,CAACuN,QAAgB,EAAKC,UAAkB;IACzC,IAAI,CAACD,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAAC6qC,QAAQ,CAACC,KAAK,EAAE;IACrB,IAAI,CAAC4B,OAAO,GAAG,IAAI;IACnB,IAAI,CAACzV,QAAQ,GAAG/jC,SAAS;IACzB,IAAI,CAACvC,MAAM,GAAGuC,SAAS;IACvB,IAAI,CAACm4C,OAAO,GAAG,IAAI,CAACmB,UAAU,GAAG,IAAI,CAACd,UAAU,GAAG,IAAI,CAACe,aAAa,GAAGv5C,SAAS;IACjF,IAAIihB,KAAK,GAAG,CAAC,IAAI,CAACqV,OAAO,CAACtV,UAAU,EAAE,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC03B,QAAQ,EAChBz3B,KAAK,CAACvR,IAAI,CAAC,IAAI,CAAC4mB,OAAO,CAACnV,QAAQ,CAAC,IAAI,CAACtU,QAAQ,CAAC,CAAC;IAElD,OAAOssC,8CAAQ,CAACl4B,KAAK,CAAC,CAACzhB,IAAI,CACzBqf,yDAAS,CAACqC,CAAC,IAAG;MACZ,IAAI,CAACs4B,OAAO,GAAG,KAAK;MACpB,IAAI,CAACF,UAAU,GAAGp4B,CAAC,CAAC,CAAC,CAAC;MACtB,IAAI,CAACq4B,aAAa,GAAIr4B,CAAC,CAAC7gB,MAAM,GAAG,CAAC,GAAI6gB,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;MAC/C,IAAIA,CAAC,CAAC7gB,MAAM,IAAI,CAAC,IAAI6gB,CAAC,CAAC7gB,MAAM,IAAI,CAAC,IAAI6gB,CAAC,CAAC,CAAC,CAAC,CAAC7gB,MAAM,IAAI,CAAC,IAAI6gB,CAAC,CAAC7gB,MAAM,IAAI,CAAC,IAAI6gB,CAAC,CAAC,CAAC,CAAC,CAAC7gB,MAAM,IAAI,CAAC,IAAI6gB,CAAC,CAAC,CAAC,CAAC,CAAC7gB,MAAM,IAAI,CAAC,EAAE;QAC/G,IAAI,CAAC+1B,KAAK,CAAC8Q,MAAM,CAAC,UAAU,EAAE,uEAAuE,CAAC,CACnGpoC,SAAS,EAAE;QACd,OAAO8f,wCAAE,CAAC,KAAK,CAAC;MAClB;MACA,IAAI,CAAC06B,UAAU,GAAGp4B,CAAC,CAAC,CAAC,CAAC;MACtB,IAAIA,CAAC,CAAC7gB,MAAM,GAAG,CAAC,EACd,IAAI,CAACk5C,aAAa,GAAGr4B,CAAC,CAAC,CAAC,CAAC;MAC3B,IAAI,CAAC+4B,aAAa,EAAE;MACpB,OAAO,IAAI,CAAC7jB,KAAK,CAACc,IAAI,CAAC;QACrB37B,KAAK,EAAE,uBAAuB;QAC9Bo8B,SAAS,EAAE,QAAQ;QACnBn2B,QAAQ,EAAE,IAAI,CAAC3G,SAAS,CAACq/C,MAAM;QAC/B/D,aAAa,EAAEA,CAAA,KAAM,CAAC,CAAC,IAAI,CAACzH,YAAY,CAACyL,KAAK,CAAC,IAAI,CAAC;QAAE;QACtD/D,SAAS,EAAEA,CAAA,KAAM,IAAI,CAAC1H,YAAY,CAACyL,KAAK,CAAC,IAAI,CAAC;QAC9C9e,YAAY,EAAE;OACf,CAAC;IACJ,CAAC,CAAC,EACFxc,yDAAS,CACPvS,GAAG,IAAIsS,wCAAE,CAAEtS,GAAG,GAAC;MAAE8tC,IAAI,EAAE,IAAI,CAACrW,QAAQ;MAAEsW,EAAE,EAAE,IAAI,CAACpC;IAAiB,CAAE,GAACj4C,SAAS,CAAC,CAAC;KAC/E,CACF;EACH;EAEA;EACAkkC,QAAQA,CAAChX,CAAC;IACR,IAAIA,CAAC,GAAG,IAAI,CAACirB,OAAO,CAAC93C,MAAM,EAAE;MAC3B,IAAI,CAACxF,SAAS,CAACm/C,cAAc,EAAE3S,QAAQ,EAAE;MACzC,IAAI,CAACtD,QAAQ,GAAG,IAAI,CAACoU,OAAO,CAACjrB,CAAC,CAAC;IACjC,CAAC,MAAM;MACL,IAAI,CAACryB,SAAS,CAACk/C,WAAW,CAAC1S,QAAQ,EAAE;MACrC,IAAI,CAACtD,QAAQ,GAAG,IAAI,CAACyU,UAAU,CAACtrB,CAAC,GAAG,IAAI,CAACirB,OAAO,CAAC93C,MAAM,CAAC;IAC1D;EACF;EAEA;EACAquC,YAAYA,CAAA;IACV,OAAQ,IAAI,CAAC3K,QAAQ,IAAI/jC,SAAS,GAAI,gCAAgC,GAAG,EAAE;EAC7E;EASA,IAAIs4C,aAAaA,CAAA;IACf,OAAOvuC,MAAM,CAAC4Z,IAAI,CAAC,IAAI,CAAC+1B,QAAQ,CAAC;EACnC;EAEAjC,UAAUA,CAACtpC,CAAS;IAClB,IAAI,CAACkqC,OAAO,GAAGlqC,CAAC;IAChB,IAAI,CAAC8rC,aAAa,EAAE;EACtB;EAEAA,aAAaA,CAAA;IACX,IAAI,IAAI,CAACT,OAAO,EACd;IAEF,IAAIt4B,CAAC,GAAG,IAAI,CAACw4B,QAAQ,CAAC,IAAI,CAACrB,OAAO,CAAC;IACnC,IAAIiC,WAAW,GAAGp5B,CAAC;IACnB,IAAI,IAAI,CAACu4B,SAAS,EAChBa,WAAW,GAAGA,CAAC/vC,CAAa,EAAE6K,CAAa,KAAK8L,CAAC,CAAC9L,CAAC,EAAE7K,CAAC,CAAC;IAEzD,IAAI,CAAC,IAAI,CAAC9M,MAAM,EAAE;MAChB,IAAI,CAAC06C,OAAO,GAAG,CAAC,GAAG,IAAI,CAACmB,UAAU,CAAC;MACnC,IAAI,CAACnB,OAAO,CAACz7B,IAAI,CAAC49B,WAAW,CAAC;MAC9B,IAAI,CAAC9B,UAAU,GAAG,CAAC,GAAG,IAAI,CAACe,aAAa,CAAC;MACzC,IAAI,CAACf,UAAU,CAAC97B,IAAI,CAAC49B,WAAW,CAAC;MACjC;IACF;IACA,IAAIC,EAAE,GAAG,IAAIC,MAAM,CAAC,IAAI,CAAC/8C,MAAM,EAAE,GAAG,CAAC;IAErC,IAAI,CAAC06C,OAAO,GAAG,IAAI,CAACmB,UAAU,CAAC77C,MAAM,CAACyjB,CAAC,IAAIq5B,EAAE,CAACE,IAAI,CAACv5B,CAAC,CAAC9V,QAAQ,CAAC,IAAImvC,EAAE,CAACE,IAAI,CAACv5B,CAAC,CAAC7V,OAAO,IAAI,EAAE,CAAC,IAAIkvC,EAAE,CAACE,IAAI,CAACv5B,CAAC,CAAC1V,OAAO,CAAC,IAAI+uC,EAAE,CAACE,IAAI,CAACv5B,CAAC,CAACxV,UAAU,IAAI,EAAE,CAAC,CAAC;IAChJ,IAAI,CAACysC,OAAO,CAACz7B,IAAI,CAAC49B,WAAW,CAAC;IAE9B,IAAI,CAAC9B,UAAU,GAAG,IAAI,CAACe,aAAa,CAAC97C,MAAM,CAACyjB,CAAC,IAAIq5B,EAAE,CAACE,IAAI,CAACv5B,CAAC,CAAC9V,QAAQ,CAAC,IAAImvC,EAAE,CAACE,IAAI,CAACv5B,CAAC,CAAC7V,OAAO,IAAI,EAAE,CAAC,IAAIkvC,EAAE,CAACE,IAAI,CAACv5B,CAAC,CAAC1V,OAAO,CAAC,IAAI+uC,EAAE,CAACE,IAAI,CAACv5B,CAAC,CAACxV,UAAU,IAAI,EAAE,CAAC,CAAC;IACtJ,IAAI,CAAC8sC,UAAU,CAAC97B,IAAI,CAAC49B,WAAW,CAAC;EACnC;EAEA/B,aAAaA,CAAA;IACX,OAAQ,IAAI,CAACkB,SAAS,GAAI,0BAA0B,GAAG,0BAA0B;EACnF;EAEA1B,UAAUA,CAAA;IACR,IAAI,CAAC0B,SAAS,GAAG,CAAC,IAAI,CAACA,SAAS;IAChC,IAAI,CAACQ,aAAa,EAAE;EACtB;EAAC,QAAAj9C,CAAA;qBAvJU+7C,gBAAgB,EAAAr7C,sDAAA,CAAAL,qDAAA,GAAAK,sDAAA,CAAAL,uDAAA,GAAAK,sDAAA,CAAAmD,8DAAA;EAAA;EAAA,QAAA5D,EAAA;WAAhB87C,gBAAgB;IAAArwC,OAAA,EAAhBqwC,gBAAgB,CAAApwC,IAAA;IAAAC,UAAA,EADH;EAAM;;;;;;;;;;;;;;;;;;ACH1B,MAAO8xC,iBAAiB;EAQ5B,IAAIC,MAAMA,CAAA;IACR,OAAO,qBAAqB,IAAI,CAACC,MAAM,IAAI,IAAI,CAAC5D,SAAS,EAAE;EAC7D;EACA,IAAI6D,SAASA,CAAA;IACX,OAAO,UAAU,IAAI,CAACC,KAAK,GAAG;EAChC;EAAC,QAAA99C,CAAA;qBAbU09C,iBAAiB;EAAA;EAAA,QAAAz9C,EAAA;UAAjBy9C,iBAAiB;IAAAt5C,SAAA;IAAAshC,MAAA;MAAAkY,MAAA;MAAAE,KAAA;MAAAruC,IAAA;MAAA+lB,SAAA;MAAAuoB,SAAA;MAAA/D,SAAA;IAAA;IAAA31C,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAw5C,2BAAAt5C,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCP9BhE,4DAAA,cAAmD;QACjDA,uDAAA,QAA4C;QAC5CA,4DAAA,gBAA+E;QAAAA,oDAAA,GAAQ;QACzFA,0DADyF,EAAS,EAC3F;;;QAFeA,uDAAA,EAAmB;QAAnBA,wDAAA,CAAAiE,GAAA,CAAAk5C,SAAA,CAAmB;QAApCn9C,wDAAA,CAAAiE,GAAA,CAAAg5C,MAAA,CAAgB;QACwCj9C,uDAAA,EAAmB;QAAnBA,wDAAA,CAAAiE,GAAA,CAAAo5C,SAAA,CAAmB;QAAvCr9C,wDAAA,CAAAiE,GAAA,CAAA6wB,SAAA,CAAmB;QAAqB90B,uDAAA,EAAQ;QAARA,+DAAA,CAAAiE,GAAA,CAAA8K,IAAA,CAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFzF;;;AAI4C;AACU;AACJ;AACA;AACjB;AACmB;AACV;AACM;AACF;AACA;AACA;AACU;AACF;AACE;AACR;AACQ;AACV;;;;;;;;;;;;;;;;;;;;;ACpBiC;AAClC;AACC;;;;;;;;ICSpC/O,4DAFF,YAAwC,gBAChB,gBACgG;IAAnDA,8DAAA,2BAAAu9C,uFAAA90C,MAAA;MAAAzI,2DAAA,CAAA8I,GAAA;MAAA,MAAAV,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAA7G,OAAA,EAAAkH,MAAA,MAAAL,MAAA,CAAA7G,OAAA,GAAAkH,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAqB;IAACzI,wDAAA,oBAAAw9C,gFAAA;MAAAx9C,2DAAA,CAAA8I,GAAA;MAAA,MAAA20C,IAAA,GAAAz9C,2DAAA,GAAAg2B,SAAA;MAAA,MAAA5tB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAUoI,MAAA,CAAA6b,MAAA,CAAAw5B,IAAA,CAAAl8C,OAAA,CAAiB;IAAA,EAAC;IAArHvB,0DAAA,EAAsH;IACtHA,oDAAA,GACA;IACFA,0DADE,EAAQ,EACL;;;;;IAH0CA,uDAAA,GAAqB;IAArBA,mEAAA,UAAAy9C,IAAA,CAAAl8C,OAAA,CAAqB;IAACvB,8DAAA,YAAAoI,MAAA,CAAA7G,OAAA,CAAqB;IACxFvB,uDAAA,EACA;IADAA,gEAAA,MAAAy9C,IAAA,CAAAvqC,IAAA,QAAAuqC,IAAA,CAAAl8C,OAAA,OACA;;;;;IALJvB,qEAAA,GAAwC;IACtCA,wDAAA,IAAA29C,uDAAA,gBAAwC;;;;;;IAAnC39C,uDAAA,EAAgB;IAAhBA,wDAAA,SAAAoI,MAAA,CAAAw1C,OAAA,CAAAH,IAAA,EAAgB;;;;;;IAPzBz9C,4DADF,UAAuC,aACuC;IAC1EA,uDAAA,eAA+G;IAC/GA,4DAAA,WAAqH;IAA3BA,wDAAA,mBAAA69C,uDAAA;MAAA79C,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAASoI,MAAA,CAAA6xC,QAAA,CAAAC,KAAA,EAAgB;IAAA,EAAC;IAEtHl6C,0DADE,EAAI,EACA;IACNA,4DAAA,YAAqF;IACnFA,wDAAA,IAAA89C,kDAAA,0BAAwC;IAS5C99C,0DADE,EAAK,EACD;;;;IAdiBA,uDAAA,GAAwB;IAAxBA,wDAAA,gBAAAoI,MAAA,CAAA6xC,QAAA,CAAwB;IAKfj6C,uDAAA,GAAU;IAAVA,wDAAA,YAAAoI,MAAA,CAAA21C,OAAA,CAAU;;;;;;IAW1C/9C,4DAAA,4BAA+G;IAAhCA,wDAAA,wBAAAg+C,0FAAAv1C,MAAA;MAAAzI,2DAAA,CAAA2qC,GAAA;MAAA,MAAAviC,MAAA,GAAApI,2DAAA;MAAA,OAAAA,yDAAA,CAAcoI,MAAA,CAAAo+B,QAAA,CAAA/9B,MAAA,CAAgB;IAAA,EAAC;IAACzI,0DAAA,EAAoB;;;IAAnEA,wDAAA,cAAa;;;ADTzE,MAAOi+C,oBAAoB;EAS/B99C,YAAA;IARS,KAAA49C,OAAO,GAAa,EAAE;IACtB,KAAAG,UAAU,GAAY,KAAK;IAC1B,KAAA/C,UAAU,GAAyB,IAAIlf,uDAAY,EAAE;IAG/D,KAAAge,QAAQ,GAAG,IAAIyB,uDAAW,EAAE;EAM5B;EAEAz6C,QAAQA,CAAA;IACN,IAAI,IAAI,CAAC88C,OAAO,CAACp7C,MAAM,EAAC;MACtB,IAAI,CAACpB,OAAO,GAAG,IAAI,CAACw8C,OAAO,CAAC,CAAC,CAAC,CAACx8C,OAAO;MACtC,IAAI,CAACilC,QAAQ,CAAC,IAAI,CAACuX,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC;IACA,IAAI,CAAC9D,QAAQ,CAACmC,YAAY,CAACt6C,IAAI,CAC7B65C,4DAAY,CAAC,GAAG,CAAC,CAClB,CAACv6C,SAAS,CAAC;MACVwa,IAAI,EAAGnL,CAAS,IAAI;QAClB,IAAI,CAAC1Q,MAAM,GAAI,CAAC0Q,CAAC,GAAE,IAAI,GAAC,IAAIqsC,MAAM,CAACrsC,CAAC,EAAC,GAAG,CAAC;MAC3C;KACD,CAAC;EACJ;EAEAmtC,OAAOA,CAACxrC,CAAQ;IACd,IAAI,CAAC,IAAI,CAACrS,MAAM,EACd,OAAO,IAAI;IACb,OAAO,GAAGqS,CAAC,CAACc,IAAI,KAAKd,CAAC,CAAC7Q,OAAO,GAAG,CAACohB,MAAM,CAAC,IAAI,CAAC5iB,MAAM,CAAC,IAAE,CAAC;EAC1D;EAEAkkB,MAAMA,CAAC1iB,OAAc;IACnB,IAAI6Q,CAAC,GAAG,IAAI,CAAC2rC,OAAO,CAAC37C,IAAI,CAACgQ,CAAC,IAAEA,CAAC,CAAC7Q,OAAO,IAAEA,OAAO,CAAC;IAChD,IAAI6Q,CAAC,EACH,IAAI,CAACo0B,QAAQ,CAACp0B,CAAC,CAAC;EACpB;EAEAo0B,QAAQA,CAACp0B,CAAQ;IACf,IAAI,CAAC+oC,UAAU,CAAC9d,IAAI,CAACjrB,CAAC,CAAC;EACzB;EAAC,QAAA9S,CAAA;qBA1CU2+C,oBAAoB;EAAA;EAAA,QAAA1+C,EAAA;UAApB0+C,oBAAoB;IAAAv6C,SAAA;IAAAshC,MAAA;MAAA+Y,OAAA;MAAAG,UAAA;IAAA;IAAAjZ,OAAA;MAAAkW,UAAA;IAAA;IAAAx3C,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAq6C,8BAAAn6C,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCVjChE,4DAAA,aAA4B;QAmB1BA,wDAlBA,IAAAo+C,mCAAA,iBAAuC,IAAAC,iDAAA,+BAkBwE;QACjHr+C,0DAAA,EAAM;;;QAnBEA,uDAAA,EAA+B;QAA/BA,wDAAA,SAAAiE,GAAA,CAAA85C,OAAA,IAAA95C,GAAA,CAAA85C,OAAA,CAAAp7C,MAAA,CAA+B;QAkBjB3C,uDAAA,EAAgB;QAAhBA,wDAAA,SAAAiE,GAAA,CAAAi6C,UAAA,CAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IEd5Bl+C,uDAAA,iBAC0B;;;;IADwBA,wDAArB,SAAAs+C,IAAA,CAAAjhD,IAAA,CAAAS,IAAA,CAAoB,oBAAoB;;;;;IADvEkC,4DAFJ,aAAwD,WACqB,aAC7C;IAC1BA,wDAAA,IAAAu+C,0CAAA,qBACgB;IAChBv+C,4DAAA,YAAO;IAAAA,oDAAA,GAAgB;IACzBA,0DADyB,EAAQ,EAC3B;IACNA,oDAAA,GACF;IACFA,0DADE,EAAI,EACA;;;;IARDA,uDAAA,EAA2B;IAA3BA,wDAAA,eAAAA,6DAAA,IAAAmyB,GAAA,EAAAmsB,IAAA,CAAAphD,IAAA,EAA2B;IAEhB8C,uDAAA,GAAiB;IAAjBA,wDAAA,SAAAs+C,IAAA,CAAAjhD,IAAA,CAAAS,IAAA,CAAiB;IAEpBkC,uDAAA,GAAgB;IAAhBA,+DAAA,CAAAs+C,IAAA,CAAAjhD,IAAA,CAAAO,KAAA,CAAgB;IAEzBoC,uDAAA,EACF;IADEA,gEAAA,MAAAs+C,IAAA,CAAAjhD,IAAA,CAAAO,KAAA,MACF;;;ADDA,MAAO4gD,iBAAiB;EAM5Br+C,YACmBC,WAAwB;IAAxB,KAAAA,WAAW,GAAXA,WAAW;IAF9B,KAAAq+C,KAAK,GAAY,EAAE;EAGf;EAEJnrB,eAAeA,CAAA;IACb,IAAI,CAACorB,WAAW,GAAG,IAAI19C,GAAG,CAAS,IAAI,CAACqxB,SAAS,CAAC;IAClD,IAAI,CAACjyB,WAAW,CAACe,KAAK,CAACC,SAAS,CAACoJ,CAAC,IAAIwf,UAAU,CAAC,MAAK;MACpD,IAAI,CAACy0B,KAAK,GAAG,IAAI,CAACxhD,MAAM,CAAC8C,MAAM,CAACtB,CAAC,IAC/B,IAAI,CAACigD,WAAW,CAACl8C,GAAG,CAAC/D,CAAC,CAACvB,IAAI,CAAC,KAAKuB,CAAC,CAACpB,IAAI,EAAEC,KAAK,EAAEmN,IAAI,CAAChM,CAAC,IAAI+L,CAAC,CAAClN,KAAK,CAACkF,GAAG,CAAC/D,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;EACL;EAAC,QAAAa,CAAA;qBAhBUk/C,iBAAiB,EAAAx+C,+DAAA,CAAAL,qDAAA;EAAA;EAAA,QAAAJ,EAAA;UAAjBi/C,iBAAiB;IAAA96C,SAAA;IAAAshC,MAAA;MAAA/nC,MAAA;MAAAo1B,SAAA;IAAA;IAAA1uB,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAA66C,2BAAA36C,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCR5BhE,4DADF,iBAAuE,aACS;QAC5EA,wDAAA,IAAA4+C,gCAAA,iBAAwD;QAU1D5+C,0DAAA,EAAM;QACNA,uDAAA,UAAW;QACbA,0DAAA,EAAU;;;QAZaA,uDAAA,GAAQ;QAARA,wDAAA,YAAAiE,GAAA,CAAAw6C,KAAA,CAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;ACFwC;;;;;;;;;;;;;;ICMjEz+C,uDAAA,YAA2D;;;;;IAC3DA,uDAAA,YAAyD;;;;;;IAF3DA,4DAAA,cAAqF;IAAxDA,wDAAA,mBAAA6+C,2EAAA;MAAA7+C,2DAAA,CAAAgH,GAAA;MAAA,MAAA83C,IAAA,GAAA9+C,2DAAA,IAAAwK,CAAA;MAAA,MAAA+xB,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAASu8B,MAAA,CAAAwiB,QAAA,CAAAD,IAAA,CAAW;IAAA,EAAC;IAEhD9+C,wDADA,IAAAg/C,wDAAA,eAAuD,IAAAC,wDAAA,gBACF;IACvDj/C,0DAAA,EAAO;;;;;IAF+BA,uDAAA,EAAiB;IAAjBA,wDAAA,UAAA8+C,IAAA,CAAA7rB,QAAA,CAAiB;IAClBjzB,uDAAA,EAAgB;IAAhBA,wDAAA,SAAA8+C,IAAA,CAAA7rB,QAAA,CAAgB;;;;;IAErDjzB,4DAAA,WAAmB;IACjBA,oDAAA,GACA;IAAAA,4DAAA,UAAK;IAKHA,uDAJA,YAC0D,YAEwC,YAEN;IAEhGA,0DADE,EAAM,EACD;;;;;IATLA,uDAAA,EACA;IADAA,gEAAA,MAAA8+C,IAAA,CAAAx6B,WAAA,QAAAw6B,IAAA,CAAAhvC,WAAA,MACA;IACuF9P,uDAAA,GAAgC;IACnHA,wDADmF,eAAAu8B,MAAA,CAAArG,UAAA,QAAgC,gBAAAqG,MAAA,CAAApG,WAAA,YAAA2oB,IAAA,CAAAx6B,WAAA,EAChE;IAEnDtkB,uDAAA,EAAuC;IAACA,wDAAxC,eAAAu8B,MAAA,CAAArG,UAAA,eAAuC,gBAAAqG,MAAA,CAAApG,WAAA,YAAA2oB,IAAA,CAAAx6B,WAAA,EAAoD;IAE3FtkB,uDAAA,EAAiC;IAACA,wDAAlC,eAAAu8B,MAAA,CAAArG,UAAA,SAAiC,gBAAAqG,MAAA,CAAApG,WAAA,YAAA2oB,IAAA,CAAAx6B,WAAA,EAAoD;;;;;;IAIzFtkB,4DADF,gBAAkC,gBACsE;IAAtDA,8DAAA,2BAAAk/C,qFAAAz2C,MAAA;MAAAzI,2DAAA,CAAA+1B,GAAA;MAAA,MAAA+oB,IAAA,GAAA9+C,2DAAA,IAAAwK,CAAA;MAAAxK,gEAAA,CAAA8+C,IAAA,CAAA9qC,QAAA,EAAAvL,MAAA,MAAAq2C,IAAA,CAAA9qC,QAAA,GAAAvL,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAwB;IAACzI,wDAAA,oBAAAm/C,8EAAA;MAAAn/C,2DAAA,CAAA+1B,GAAA;MAAA,MAAA+oB,IAAA,GAAA9+C,2DAAA,IAAAwK,CAAA;MAAA,MAAA+xB,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAAUu8B,MAAA,CAAA6iB,cAAA,CAAAN,IAAA,CAAiB;IAAA,EAAC;IAArG9+C,0DAAA,EAAsG;IACtGA,oDAAA,GACF;IAAAA,0DAAA,EAAQ;;;;IAF0CA,uDAAA,EAAwB;IAAxBA,8DAAA,YAAA8+C,IAAA,CAAA9qC,QAAA,CAAwB;IACxEhU,uDAAA,EACF;IADEA,gEAAA,MAAA8+C,IAAA,CAAAx6B,WAAA,QAAAw6B,IAAA,CAAAhvC,WAAA,MACF;;;;;IAnBF9P,4DAAA,aAAgD;IAgB9CA,wDAfA,IAAAq/C,oDAAA,kBAAqF,IAAAC,oDAAA,kBAIlE,IAAAC,qDAAA,mBAWe;IAIpCv/C,0DAAA,EAAM;;;;;;;IAnBGA,uDAAA,EAAoB;IAApBA,wDAAA,SAAAw/C,MAAA,IAAAV,IAAA,CAAA7sC,KAAA,CAAoB;IAIpBjS,uDAAA,EAAU;IAAVA,wDAAA,UAAAy/C,MAAA,CAAU;IAWTz/C,uDAAA,EAAS;IAATA,wDAAA,SAAAy/C,MAAA,CAAS;;;;;IAOjBz/C,4DAAA,UAA0C;IACxCA,gEAAA,MAAgI;IAClIA,0DAAA,EAAM;;;;;;;;;;IADUA,uDAAA,EAA6B;IAACA,wDAA9B,qBAAA0/C,YAAA,CAA6B,4BAAA1/C,6DAAA,IAAAmyB,GAAA,EAAAytB,IAAA,CAAAroB,KAAA,EAAAkoB,MAAA,EAAAI,OAAA,EAAAL,MAAA,EAAqE;;;;;IAElHx/C,4DAAA,UAAyC;IAAAA,uDAAA,YAAwC;IAAAA,oDAAA,iBAAU;IAAAA,0DAAA,EAAM;;;;;IACjGA,4DAAA,UAA+D;IAAAA,oDAAA,6BAAsB;IAAAA,0DAAA,EAAM;;;;;;IAC3FA,4DAAA,qBAQC;IAFCA,wDAFA,4BAAA8/C,gGAAAr3C,MAAA;MAAAzI,2DAAA,CAAA83B,IAAA;MAAA,MAAAyE,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAAkBu8B,MAAA,CAAAwjB,cAAA,CAAA1iB,IAAA,CAAA50B,MAAA,CAA2B;IAAA,EAAC,yBAAAu3C,6FAAAv3C,MAAA;MAAAzI,2DAAA,CAAA83B,IAAA;MAAA,MAAAyE,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAE/Bu8B,MAAA,CAAAjG,WAAA,CAAA+G,IAAA,CAAA50B,MAAA,CAAwB;IAAA,EAAC;IAEzCzI,0DAAA,EAAa;;;;;IADZA,wDALA,WAAA8+C,IAAA,CAAArkB,MAAA,CAAmB,gBAAA8B,MAAA,CAAA0jB,eAAA,CACY,gBAAA1jB,MAAA,CAAA2jB,iBAAA,CAEE,aAAA3jB,MAAA,CAAA4jB,cAAA,CAEN;;;;;IAb/BngD,4DAAA,cAAqC;IACnCA,wDAAA,IAAAogD,mDAAA,kBAA0C;;IAK1CpgD,wDAFA,IAAAqgD,mDAAA,iBAAyC,IAAAC,mDAAA,iBACsB,IAAAC,0DAAA,yBAS9D;IACHvgD,0DAAA,EAAM;;;;;;IAdeA,uDAAA,EAAqB;IAArBA,wDAAA,YAAAA,yDAAA,OAAA8+C,IAAA,CAAA7sC,KAAA,EAAqB;IAGlCjS,uDAAA,GAAiC;IAAjCA,wDAAA,SAAAw/C,MAAA,IAAAV,IAAA,CAAArkB,MAAA,KAAAn4B,SAAA,CAAiC;IACjCtC,uDAAA,EAAuD;IAAvDA,wDAAA,SAAAw/C,MAAA,IAAAV,IAAA,CAAArkB,MAAA,IAAAqkB,IAAA,CAAArkB,MAAA,CAAA93B,MAAA,UAAAm8C,IAAA,CAAA7sC,KAAA,CAAuD;IAE1DjS,uDAAA,EAAwC;IAAxCA,wDAAA,SAAAw/C,MAAA,IAAAV,IAAA,CAAArkB,MAAA,IAAAqkB,IAAA,CAAArkB,MAAA,CAAA93B,MAAA,CAAwC;;;;;IAP7C3C,wDAtBA,IAAAwgD,6CAAA,iBAAgD,IAAAC,6CAAA,iBAsBX;;;;;IAtBhBzgD,wDAAA,SAAA8+C,IAAA,CAAA9qC,QAAA,KAAA6rC,OAAA,CAAyB;IAsBxC7/C,uDAAA,EAAgB;IAAhBA,wDAAA,SAAA8+C,IAAA,CAAA7rB,QAAA,CAAgB;;;ADhBlB,MAAOytB,gBAAgB;EAe3BvgD,YAAA;IAbS,KAAAs/B,MAAM,GAAY,KAAK;IACvB,KAAAkhB,YAAY,GAAY,KAAK;IAC5B,KAAA1pB,YAAY,GAA0B,IAAIgF,uDAAY,EAAE;IACxD,KAAA9E,kBAAkB,GAA0B,IAAI8E,uDAAY,EAAE;IAE/D,KAAAnD,UAAU,GAAY,KAAK;IAC3B,KAAAmnB,eAAe,GAAY,KAAK;IAC/B,KAAAF,cAAc,GAAG,IAAI9jB,uDAAY,EAAU;IAC5C,KAAAikB,iBAAiB,GAAW,QAAQ;IACnC,KAAA5pB,WAAW,GAAG,IAAI2F,uDAAY,EAAU;IACzC,KAAAkkB,cAAc,GAAW,KAAK;EAGxB;EAEfpB,QAAQA,CAACltC,IAAa;IACpBA,IAAI,CAACohB,QAAQ,GAAG,CAACphB,IAAI,CAACohB,QAAQ;IAC9B,IAAI,CAACgE,YAAY,CAACoG,IAAI,CAACxrB,IAAI,CAAC;EAC9B;EAEAutC,cAAcA,CAACvtC,IAAa;IAC1B,IAAI,CAACslB,kBAAkB,CAACkG,IAAI,CAACxrB,IAAI,CAAC;EACpC;EAEAqkB,UAAUA,CAACx3B,GAAW;IACpB,IAAIiX,CAAC,GAAG,IAAI4S,GAAG,CAAC3C,MAAM,CAAC4C,QAAQ,CAACC,MAAM,GAAG/pB,GAAG,CAAC;IAC7C,OAAOiX,CAAC,CAAC+S,QAAQ;EACnB;EAEAyN,WAAWA,CAACz3B,GAAW;IACrB,IAAIiX,CAAC,GAAG,IAAI4S,GAAG,CAAC3C,MAAM,CAAC4C,QAAQ,CAACC,MAAM,GAAG/pB,GAAG,CAAC;IAC7C,IAAI2wB,CAAC,GAAW,EAAE;IAClB,KAAK,IAAIpf,CAAC,IAAI0F,CAAC,CAAC4jB,YAAY,CAACxT,OAAO,EAAE,EAAE;MACtC,IAAIsJ,CAAC,CAACjQ,cAAc,CAACnP,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC1B,IAAI,CAACqf,KAAK,CAACkB,OAAO,CAACnB,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzBof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAACof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrBof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC+B,IAAI,CAAC/B,CAAC,CAAC,CAAC,CAAC,CAAC;MACpB,CAAC,MACCof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC;IAClB;IACA,OAAOof,CAAC;EACV;EAAC,QAAA/vB,CAAA;qBA3CUohD,gBAAgB;EAAA;EAAA,QAAAnhD,EAAA;UAAhBmhD,gBAAgB;IAAAh9C,SAAA;IAAAshC,MAAA;MAAA3L,OAAA;MAAAoG,MAAA;MAAAkhB,YAAA;MAAA7nB,UAAA;MAAAmnB,eAAA;MAAAC,iBAAA;MAAAC,cAAA;IAAA;IAAAlb,OAAA;MAAAhO,YAAA;MAAAE,kBAAA;MAAA4oB,cAAA;MAAAzpB,WAAA;IAAA;IAAA3yB,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAA88C,0BAAA58C,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCV7BhE,gEAAA,MACwG;QAExGA,wDAAA,IAAA6gD,uCAAA,gCAAA7gD,oEAAA,CAA6E;;;;QAF3EA,wDADY,qBAAA0/C,YAAA,CAA6B,4BAAA1/C,6DAAA,IAAAmyB,GAAA,EAAAluB,GAAA,CAAAo1B,OAAA,EAAAp1B,GAAA,CAAAw7B,MAAA,EAAAx7B,GAAA,CAAA08C,YAAA,EAAA18C,GAAA,CAAA60B,UAAA,EAC6C;;;;;;;;;;;;;;;;;;;;;;;ACD7C;AACN;AAI/B,MAAOgoB,SAAU,SAAQvlC,yCAAwB;EACrDpb,YAAoB4gD,QAAyC;IAC3D,KAAK,EAAE;IADW,KAAAA,QAAQ,GAARA,QAAQ;EAE5B;EACOp+B,MAAMA,CAACq+B,IAAY;IACxB,IAAI,CAACD,QAAQ,CAACC,IAAI,CAAC,CAChBl/C,IAAI,CACHqI,mDAAG,CAAE9M,IAAa,IAAI;MACpB,MAAM4jD,OAAO,GAAI5jD,IAAI,CAClB8M,GAAG,CAAE+2C,IAAI,IAAK,IAAI,CAACC,aAAa,CAACD,IAAI,CAAC,CAAoB;MAC7D,IAAI,CAACtlC,IAAI,CAACqlC,OAAO,CAAC;IACpB,CAAC,CAAC,CACH,CACA7/C,SAAS,EAAE;EAChB;EAEOggD,MAAMA,CAAA;IACX;EAAA;EAGKD,aAAaA,CAACE,KAAY;IAC/B,IAAI,CAACA,KAAK,EAAE;MACV,OAAO,IAAI;IACb;IACA;IACA,OAAO;MACLxjD,KAAK,EAAE,GAAGwjD,KAAK,CAACC,UAAU,KAAKD,KAAK,CAACE,KAAK,GAAG;MAC7CC,cAAc,EAAEH;KAEA;EACpB;;;;;;;;;;;;;;;;;;;;;ACnCyF;AAGlD;;;;;AASnC,MAAOI,oBAAoB;EAO/BthD,YACUuhD,KAAiB,EACjBC,QAAsB;IADtB,KAAAD,KAAK,GAALA,KAAK;IACL,KAAAC,QAAQ,GAARA,QAAQ;IART,KAAAC,WAAW,GAAW,kDAAkD;IACvE,KAAAzG,UAAU,GAAwB,IAAIlf,uDAAY,EAAE;IAc9D,KAAAtZ,MAAM,GAAyCC,GAAG,IAAG;MACnD,OAAO,IAAI,CAAC++B,QAAQ,CAACh/B,MAAM,CAACC,GAAG,CAAC;IAClC,CAAC;EARG;EAEJ3hB,QAAQA,CAAA;IACN,IAAI,CAAC4gD,SAAS,GAAG,IAAIf,kDAAS,CAAC,IAAI,CAACn+B,MAAM,CAAC;EAC7C;EAMAm/B,UAAUA,CAACzb,QAAuB;IAChC,IAAIj0B,CAAC,GAAGi0B,QAAQ,CAACmb,cAAuB;IACxC,IAAI,CAACrG,UAAU,CAAC9d,IAAI,CAACjrB,CAAC,CAAC;IACjBie,QAAQ,CAAC0xB,aAAc,CAAC3Y,IAAI,EAAE;EACtC;EAEA4Y,SAASA,CAAC/xC,CAAgB;IACxB,IAAIA,CAAC,CAAC2U,GAAG,IAAI,QAAQ,EAAE;MACfyL,QAAQ,CAAC0xB,aAAc,CAAC3Y,IAAI,EAAE;MACpCpf,UAAU,CAAC,MAAM,IAAI,CAAC03B,KAAK,CAACve,aAAa,CAAC8e,aAAa,CAACC,aAAa,CAACjyC,CAAC,CAAC,CAAC;IAC3E;EACF;EAAC,QAAA3Q,CAAA;qBA/BUmiD,oBAAoB,EAAAzhD,+DAAA,CAAAA,qDAAA,GAAAA,+DAAA,CAAAL,sDAAA;EAAA;EAAA,QAAAJ,EAAA;UAApBkiD,oBAAoB;IAAA/9C,SAAA;IAAAshC,MAAA;MAAA4c,WAAA;IAAA;IAAA3c,OAAA;MAAAkW,UAAA;IAAA;IAAAx3C,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAq+C,8BAAAn+C,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCV7BhE,4DAFJ,aAAqC,aACP,sBAYzB;QAVCA,8DAAA,2BAAAoiD,oEAAA35C,MAAA;UAAAzI,gEAAA,CAAAiE,GAAA,CAAAo+C,YAAA,EAAA55C,MAAA,MAAAxE,GAAA,CAAAo+C,YAAA,GAAA55C,MAAA;UAAA,OAAAA,MAAA;QAAA,EAA0B;QAS1BzI,wDARA,sBAAAsiD,+DAAA75C,MAAA;UAAA,OAAYxE,GAAA,CAAA69C,UAAA,CAAAr5C,MAAA,CAAkB;QAAA,EAAC,qBAAA85C,8DAAA95C,MAAA;UAAA,OAQlBxE,GAAA,CAAA+9C,SAAA,CAAAv5C,MAAA,CAAiB;QAAA,EAAC;QAIrCzI,0DAFI,EAAe,EACX,EACF;;;QAbAA,uDAAA,GAA0B;QAA1BA,8DAAA,YAAAiE,GAAA,CAAAo+C,YAAA,CAA0B;QAM1BriD,wDAJA,eAAAiE,GAAA,CAAA49C,SAAA,CAAwB,sBACH,8BACQ,gBAAA59C,GAAA,CAAA29C,WAAA,CACF,mCACO;;;;;;;;;;;;;;;;;;;;;;;;ACTuC;;;;;;;ICYzE5hD,4DAAA,WAA8I;IAAjCA,wDAAA,mBAAAwiD,qDAAA;MAAAxiD,2DAAA,CAAAgH,GAAA;MAAA,MAAAy7C,IAAA,GAAAziD,2DAAA,GAAAg2B,SAAA;MAAA,MAAAuG,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAASu8B,MAAA,CAAAwjB,cAAA,CAAA1iB,IAAA,CAAAolB,IAAA,CAAsB;IAAA,EAAC;IAACziD,0DAAA,EAAI;;;;IAA3DA,wDAAA,UAAAu8B,MAAA,CAAAmmB,WAAA,CAAqB;;;;;;IAC5G1iD,4DAAA,WAAwJ;IAA9BA,wDAAA,mBAAA2iD,qDAAA;MAAA3iD,2DAAA,CAAA+1B,GAAA;MAAA,MAAA0sB,IAAA,GAAAziD,2DAAA,GAAAg2B,SAAA;MAAA,MAAAuG,MAAA,GAAAv8B,2DAAA;MAAA,OAAAA,yDAAA,CAASu8B,MAAA,CAAAjG,WAAA,CAAA+G,IAAA,CAAAolB,IAAA,CAAmB;IAAA,EAAC;IAACziD,0DAAA,EAAI;;;;IAArDA,wDAAA,UAAAu8B,MAAA,CAAAqmB,QAAA,CAAkB;;;;;IAZ7H5iD,4DAAA,SAA6B;IAC3BA,oDAAA,GACA;IAAAA,4DAAA,UAAK;IAOHA,uDANA,WAC6I,WAEC,WAEE,WAExF;IAExDA,wDADA,IAAA6iD,iCAAA,eAA8I,IAAAC,iCAAA,eACU;IAE5J9iD,0DADE,EAAM,EACH;;;;;IAbHA,uDAAA,EACA;IADAA,gEAAA,MAAAyiD,IAAA,CAAAvvC,IAAA,QAAAuvC,IAAA,CAAAlhD,OAAA,OACA;IAEIvB,uDAAA,GAAgC;IAACA,wDAAjC,eAAAu8B,MAAA,CAAArG,UAAA,QAAgC,gBAAAqG,MAAA,CAAApG,WAAA,qEAAAssB,IAAA,CAAAvvC,IAAA,EAAsG;IAEtIlT,uDAAA,EAAiC;IAACA,wDAAlC,eAAAu8B,MAAA,CAAArG,UAAA,SAAiC,gBAAAqG,MAAA,CAAApG,WAAA,qEAAAssB,IAAA,CAAAvvC,IAAA,EAAsG;IAErIlT,uDAAA,EAAiC;IAACA,wDAAlC,eAAAu8B,MAAA,CAAArG,UAAA,SAAiC,gBAAAqG,MAAA,CAAApG,WAAA,qEAAAssB,IAAA,CAAAvvC,IAAA,EAAsG;IAEzIlT,uDAAA,EAAiD;IAAjDA,wDAAA,eAAAu8B,MAAA,CAAArG,UAAA,gBAAAusB,IAAA,CAAAlhD,OAAA,EAAiD;IAC/CvB,uDAAA,EAAgB;IAAhBA,wDAAA,SAAAu8B,MAAA,CAAAwmB,UAAA,CAAgB;IAChB/iD,uDAAA,EAAgC;IAAhCA,wDAAA,SAAAu8B,MAAA,CAAAymB,WAAA,KAAAP,IAAA,CAAAzuC,QAAA,CAAgC;;;ADHpC,MAAOivC,eAAe;EAU1B9iD,YAAA;IARS,KAAA6iD,WAAW,GAAY,KAAK;IAC5B,KAAAD,UAAU,GAAY,KAAK;IAE1B,KAAAhD,cAAc,GAAG,IAAI9jB,uDAAY,EAAU;IAC5C,KAAAymB,WAAW,GAAW,QAAQ;IAC7B,KAAApsB,WAAW,GAAG,IAAI2F,uDAAY,EAAU;IACzC,KAAA2mB,QAAQ,GAAW,KAAK;EAEjB;EAEhB3hD,QAAQA,CAAA;IACN;EAAA;EAGFi1B,UAAUA,CAACx3B,GAAW;IACpB,IAAIiX,CAAC,GAAG,IAAI4S,GAAG,CAAC3C,MAAM,CAAC4C,QAAQ,CAACC,MAAM,GAAG/pB,GAAG,CAAC;IAC7C,OAAOiX,CAAC,CAAC+S,QAAQ;EACnB;EAEAyN,WAAWA,CAACz3B,GAAW;IACrB,IAAIiX,CAAC,GAAG,IAAI4S,GAAG,CAAC3C,MAAM,CAAC4C,QAAQ,CAACC,MAAM,GAAG/pB,GAAG,CAAC;IAC7C,IAAI2wB,CAAC,GAAW,EAAE;IAClB,KAAK,IAAIpf,CAAC,IAAI0F,CAAC,CAAC4jB,YAAY,CAACxT,OAAO,EAAE,EAAE;MACtC,IAAIsJ,CAAC,CAACjQ,cAAc,CAACnP,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC1B,IAAI,CAACqf,KAAK,CAACkB,OAAO,CAACnB,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzBof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAACof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrBof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC+B,IAAI,CAAC/B,CAAC,CAAC,CAAC,CAAC,CAAC;MACpB,CAAC,MACCof,CAAC,CAACpf,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC;IAClB;IACA,OAAOof,CAAC;EACV;EAAC,QAAA/vB,CAAA;qBAjCU2jD,eAAe;EAAA;EAAA,QAAA1jD,EAAA;UAAf0jD,eAAe;IAAAv/C,SAAA;IAAAshC,MAAA;MAAAvK,MAAA;MAAAuoB,WAAA;MAAAD,UAAA;MAAAL,WAAA;MAAAE,QAAA;IAAA;IAAA3d,OAAA;MAAA8a,cAAA;MAAAzpB,WAAA;IAAA;IAAA3yB,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAo/C,yBAAAl/C,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCV5BhE,4DAAA,YAAmF;QACjFA,wDAAA,IAAAmjD,6BAAA,iBAA6B;QAe/BnjD,0DAAA,EAAK;;;QAfeA,uDAAA,EAAS;QAATA,wDAAA,YAAAiE,GAAA,CAAAw2B,MAAA,CAAS;;;;;;;;;;;;;;;;;;;;;;;ACDc;AACN;AAI/B,MAAO2oB,UAAW,SAAQ7nC,yCAAwB;EACtDpb,YAAoB4gD,QAA0C;IAC5D,KAAK,EAAE;IADW,KAAAA,QAAQ,GAARA,QAAQ;EAE5B;EACOp+B,MAAMA,CAACq+B,IAAY;IACxB,IAAI,CAACD,QAAQ,CAACC,IAAI,CAAC,CAChBl/C,IAAI,CACHqI,mDAAG,CAAE9M,IAAc,IAAI;MACrB,MAAM4jD,OAAO,GAAI5jD,IAAI,CAClB8M,GAAG,CAAE+2C,IAAI,IAAK,IAAI,CAACC,aAAa,CAACD,IAAI,CAAC,CAAoB;MAC7D,IAAI,CAACtlC,IAAI,CAACqlC,OAAO,CAAC;IACpB,CAAC,CAAC,CACH,CACA7/C,SAAS,EAAE;EAChB;EAEOggD,MAAMA,CAAA;IACX;EAAA;EAGKD,aAAaA,CAACrpC,MAAc;IACjC,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IACA;IACA,OAAO;MACLja,KAAK,EAAE,GAAGia,MAAM,CAAC5E,IAAI,KAAK4E,MAAM,CAACvW,OAAO,IAAEuW,MAAM,CAACpE,OAAO,GAAG;MAC3D8tC,cAAc,EAAE1pC;KAEA;EACpB;;;;;;;;;;;;;;;;;;;;;;ACnCyF;AAChD;;;;;;;;;ICgBrC9X,4DADF,eAAuD,eACqB;IAAnDA,8DAAA,2BAAAqjD,sEAAA56C,MAAA;MAAAzI,2DAAA,CAAAgH,GAAA;MAAA,MAAAoB,MAAA,GAAApI,2DAAA;MAAAA,gEAAA,CAAAoI,MAAA,CAAAk7C,MAAA,EAAA76C,MAAA,MAAAL,MAAA,CAAAk7C,MAAA,GAAA76C,MAAA;MAAA,OAAAzI,yDAAA,CAAAyI,MAAA;IAAA,EAAoB;IAA3CzI,0DAAA,EAA0E;IAAAA,oDAAA,6BAC5E;IAAAA,0DAAA,EAAQ;;;;IADiBA,uDAAA,EAAoB;IAApBA,8DAAA,YAAAoI,MAAA,CAAAk7C,MAAA,CAAoB;;;ADL3C,MAAOC,qBAAqB;EAMhCpjD,YACUuhD,KAAiB,EACjB9oB,OAAsB;IADtB,KAAA8oB,KAAK,GAALA,KAAK;IACL,KAAA9oB,OAAO,GAAPA,OAAO;IANR,KAAA4qB,QAAQ,GAAW,KAAK;IACxB,KAAA5B,WAAW,GAAW,+BAA+B;IACpD,KAAAzG,UAAU,GAAsB,IAAIlf,uDAAY,EAAE;IAS5D,KAAAqnB,MAAM,GAAY,KAAK;IAEvB,KAAA3gC,MAAM,GAAsCC,GAAG,IAAE;MAC/C,QAAQ,IAAI,CAAC6gC,IAAI;QACf,KAAK,WAAW;UACd,IAAI,IAAI,CAACH,MAAM,EACf,OAAO,IAAI,CAAC1qB,OAAO,CAAC1U,cAAc,CAACw/B,IAAI,CAAC,IAAI,CAAC9qB,OAAO,EAAEhW,GAAG,CAAC,CAAC,KAE3D,OAAO,IAAI,CAACgW,OAAO,CAACjW,MAAM,CAAC+gC,IAAI,CAAC,IAAI,CAAC9qB,OAAO,EAAEhW,GAAG,CAAC;QACpD,KAAK,IAAI;UACP,OAAO,IAAI,CAACgW,OAAO,CAAC1U,cAAc,CAACw/B,IAAI,CAAC,IAAI,CAAC9qB,OAAO,EAAEhW,GAAG,CAAC;QAC5D,KAAK,SAAS;UACZ,OAAO,IAAI,CAACgW,OAAO,CAACzU,cAAc,CAACu/B,IAAI,CAAC,IAAI,CAAC9qB,OAAO,EAAEhW,GAAG,CAAC;MAC9D;IAEF,CAAC;EAjBD;EAmBA3hB,QAAQA,CAAA;IACN,IAAI,CAAC0iD,WAAW,GAAG,IAAIP,oDAAU,CAAC,IAAI,CAACzgC,MAAM,CAAC;EAChD;EAKAm/B,UAAUA,CAACzb,QAAuB;IAChC,IAAIj0B,CAAC,GAAGi0B,QAAQ,CAACmb,cAAwB;IACzC,IAAI,CAACrG,UAAU,CAAC9d,IAAI,CAACjrB,CAAC,CAAC;IACjBie,QAAQ,CAAC0xB,aAAc,CAAC3Y,IAAI,EAAE;EACtC;EAEA4Y,SAASA,CAAC/xC,CAAe;IACvB,IAAIA,CAAC,CAAC2U,GAAG,IAAI,QAAQ,EAAE;MACfyL,QAAQ,CAAC0xB,aAAc,CAAC3Y,IAAI,EAAE;MACpCpf,UAAU,CAAC,MAAI,IAAI,CAAC03B,KAAK,CAACve,aAAa,CAAC8e,aAAa,CAACC,aAAa,CAACjyC,CAAC,CAAC,CAAC;IACzE;EACF;EAAC,QAAA3Q,CAAA;qBAhDUikD,qBAAqB,EAAAvjD,+DAAA,CAAAA,qDAAA,GAAAA,+DAAA,CAAAL,uDAAA;EAAA;EAAA,QAAAJ,EAAA;UAArBgkD,qBAAqB;IAAA7/C,SAAA;IAAAshC,MAAA;MAAAye,IAAA;MAAAD,QAAA;MAAA5B,WAAA;IAAA;IAAA3c,OAAA;MAAAkW,UAAA;IAAA;IAAAx3C,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAA8/C,+BAAA5/C,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QCT9BhE,4DAHJ,aAAsC,aACR,sBAazB;QAVCA,8DAAA,2BAAA6jD,qEAAAp7C,MAAA;UAAAzI,gEAAA,CAAAiE,GAAA,CAAA6/C,cAAA,EAAAr7C,MAAA,MAAAxE,GAAA,CAAA6/C,cAAA,GAAAr7C,MAAA;UAAA,OAAAA,MAAA;QAAA,EAA4B;QAS5BzI,wDARA,sBAAA+jD,gEAAAt7C,MAAA;UAAA,OAAYxE,GAAA,CAAA69C,UAAA,CAAAr5C,MAAA,CAAkB;QAAA,EAAC,qBAAAu7C,+DAAAv7C,MAAA;UAAA,OAQlBxE,GAAA,CAAA+9C,SAAA,CAAAv5C,MAAA,CAAiB;QAAA,EAAC;QAEjCzI,0DAAA,EAAe;QACfA,wDAAA,IAAAikD,sCAAA,mBAAuD;QAI3DjkD,0DADE,EAAM,EACF;;;QAhBAA,uDAAA,GAA4B;QAA5BA,8DAAA,YAAAiE,GAAA,CAAA6/C,cAAA,CAA4B;QAM5B9jD,wDAJA,eAAAiE,GAAA,CAAA0/C,WAAA,CAA0B,sBACL,8BACQ,gBAAA1/C,GAAA,CAAA29C,WAAA,CACF,mCACO;QAMG5hD,uDAAA,EAAc;QAAdA,wDAAA,SAAAiE,GAAA,CAAAu/C,QAAA,CAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBoF;AACxC;AAEhE;;;;;;;;;;;;ICmBjCxjD,4DAAA,cAAuC;IACrCA,uDAAA,cAAyE;IAC3EA,0DAAA,EAAM;;;;;IAQJA,4DAFJ,cAA4B,SACtB,SACE;IAAAA,oDAAA,yEAAkE;IAAAA,0DAAA,EAAK;IAC3EA,4DAAA,SAAI;IAAAA,oDAAA,+FAAwF;IAAAA,0DAAA,EAAK;IACjGA,4DAAA,SAAI;IAAAA,oDAAA,6CAAsC;IAAAA,0DAAA,EAAK;IAC/CA,4DAAA,SAAI;IAAAA,oDAAA,oFAA6E;IAAAA,0DAAA,EAAK;IACtFA,4DAAA,UAAI;IAAAA,oDAAA,kLACgE;IAAAA,0DAAA,EAAK;IACzEA,4DAAA,UAAI;IAAAA,oDAAA,sGAA8F;IAEtGA,0DAFsG,EAAK,EACpG,EACD;;;AD7BF,MAAOokD,eAAe;EAW1BjkD,YACUkc,IAAgB,EAChBssB,YAA0B;IAD1B,KAAAtsB,IAAI,GAAJA,IAAI;IACJ,KAAAssB,YAAY,GAAZA,YAAY;IAXb,KAAA9qC,KAAK,GAAU,aAAa;IAC3B,KAAAwmD,SAAS,GAAsB,IAAIpoB,uDAAY,EAAE;IAK3D,KAAAtuB,OAAO,GAAQ,EAAE;EAMb;EAEJ04B,QAAQA,CAACtkC,KAAK;IACZ;EAAA;EAGoCuiD,UAAUA,CAACviD,KAAU;IACzD,IAAI,CAACwiD,aAAa,GAAG,UAAU;IAC/BxiD,KAAK,CAAC+3B,cAAc,EAAE;EACxB;EACuC0qB,WAAWA,CAACziD,KAAU;IAC3D,IAAI,CAACwiD,aAAa,GAAG,UAAU;IAC/BxiD,KAAK,CAAC+3B,cAAc,EAAE;EACxB;EACqC2qB,SAASA,CAAC1iD,KAAU;IACvD,IAAI,CAACwiD,aAAa,GAAG,EAAE;IACvBxiD,KAAK,CAAC+3B,cAAc,EAAE;EACxB;EACuC4qB,WAAWA,CAAC3iD,KAAU;IAC3D,IAAI,CAACwiD,aAAa,GAAG,EAAE;IACvBxiD,KAAK,CAAC+3B,cAAc,EAAE;EACxB;EACkC6qB,MAAMA,CAAC5iD,KAAU;IACjD,IAAI,CAACwiD,aAAa,GAAG,EAAE;IACvBxiD,KAAK,CAAC+3B,cAAc,EAAE;IACtB/3B,KAAK,CAACg4B,eAAe,EAAE;IACvB,IAAIh4B,KAAK,CAAC6iD,YAAY,CAACrhC,KAAK,EAAE;MAC5B,MAAMshC,EAAE,GAAG,IAAIC,YAAY,EAAE;MAC7BD,EAAE,CAACpc,KAAK,CAACr7B,GAAG,CAACrL,KAAK,CAAC6iD,YAAY,CAACrhC,KAAK,CAAC,CAAC,CAAC,CAAC;MACzC,IAAI,CAACwhC,SAAS,CAAC5hB,aAAa,CAAC5f,KAAK,GAAGxhB,KAAK,CAAC6iD,YAAY,CAACrhC,KAAK;IAC/D;EACF;EAEAyhC,eAAeA,CAAA;IACb,IAAItI,IAAI,GAAG,IAAI,CAACqI,SAAS,EAAE5hB,aAAa,EAAE5f,KAAK,CAAC,CAAC,CAAC;IAClD,IAAI,CAACm5B,IAAI,EACP,OAAO,8BAA8B,CAAC,KACnC,OAAO,EAAE;EAChB;EACAuI,MAAMA,CAACF,SAA2B;IAChC,IAAI,CAACA,SAAS,CAACxhC,KAAK,CAAC,CAAC,CAAC,EACrB;IACF;IACA,IAAImN,QAAQ,GAAG,IAAI5K,QAAQ,EAAE;IAC7B4K,QAAQ,CAAC7N,MAAM,CAAC,aAAa,EAAE,IAAI,CAAClV,OAAO,CAAC;IAC5C+iB,QAAQ,CAAC7N,MAAM,CAAC,MAAM,EAAEkiC,SAAS,CAACxhC,KAAK,CAAC,CAAC,CAAC,EAAEwhC,SAAS,CAACxhC,KAAK,CAAC,CAAC,CAAC,CAACrQ,IAAI,CAAC;IACpE,IAAIsN,GAAG,GAAG,IAAI0jC,6DAAW,CAAC,MAAM,EAAE,IAAI,CAACgB,SAAS,EAAEx0B,QAAQ,EAAE;MAAEy0B,cAAc,EAAE;IAAI,CAAE,CAAC;IACrF,IAAI,CAAC9oC,IAAI,CAAC2E,OAAO,CAACR,GAAG,CAAC,CACnBpf,SAAS,CACPW,KAAqB,IAAI;MACxB,QAAQA,KAAK,CAACiL,IAAI;QAChB,KAAKm3C,+DAAa,CAACiB,IAAI;UACrB;QAEF,KAAKjB,+DAAa,CAACkB,cAAc;UAC/B,IAAI,CAACC,QAAQ,GAAGh4B,IAAI,CAACi4B,KAAK,CAAC,GAAG,GAAGxjD,KAAK,CAACyjD,MAAM,GAAGzjD,KAAK,CAAC6yB,KAAK,CAAC;UAC5D;QAEF;QACA,KAAKuvB,+DAAa,CAACsB,QAAQ;UACzB,IAAI,CAACH,QAAQ,GAAG,CAAC;UACjB,IAAI,CAAC33C,OAAO,GAAG,EAAE;UACjB,IAAI,CAACo3C,SAAS,CAAC5hB,aAAa,CAAC5L,KAAK,GAAG,IAAI;UACzC,IAAI,CAAC8sB,SAAS,CAAChnB,IAAI,CAACt7B,KAAK,CAACsP,IAAI,CAAC;UAC/B;QAEF;UACE;MACJ;IACF,CAAC,EACD0J,KAAK,IAAG;MACN,IAAI,CAACA,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;MAC1C,IAAI,CAACuqC,QAAQ,GAAG,CAAC;IACnB,CAAC,CACF;EACL;EAEAvqC,KAAKA,CAACI,GAAG,EAAE0G,GAAG;IACZA,GAAG,GAAGA,GAAG,IAAI,EAAE;IACf1G,GAAG,IAAI,OAAO,IAAInP,uCAAI,CAACmlB,YAAY,CAACtP,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC8mB,YAAY,CAACa,MAAM,CAAC,OAAO,EAAEruB,GAAG,CAAC,CAAC/Z,SAAS,EAAE;EACpD;EAGAskD,QAAQA,CAAA;IACN,IAAI,CAAC/c,YAAY,CAACnP,IAAI,CAAC;MACrB37B,KAAK,EAAC,mBAAmB;MACzB26C,SAAS,EAAC,IAAI;MACd10C,QAAQ,EAAE,IAAI,CAAC6hD;KAChB,CAAC,CACDvkD,SAAS,EAAE;EACd;EAAC,QAAA9B,CAAA;qBAzGU8kD,eAAe,EAAApkD,+DAAA,CAAAL,4DAAA,GAAAK,+DAAA,CAAAmD,8DAAA;EAAA;EAAA,QAAA5D,EAAA;UAAf6kD,eAAe;IAAA1gD,SAAA;IAAAo3B,SAAA,WAAA8qB,sBAAA5hD,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;;;;;;;;;;;;QAAfhE,wDAAA,sBAAA6lD,4CAAAp9C,MAAA;UAAA,OAAAxE,GAAA,CAAAqgD,UAAA,CAAA77C,MAAA,CAAkB;QAAA,EAAH,uBAAAq9C,6CAAAr9C,MAAA;UAAA,OAAfxE,GAAA,CAAAugD,WAAA,CAAA/7C,MAAA,CACb;QAAA,EAD4B,qBAAAs9C,2CAAAt9C,MAAA;UAAA,OAAfxE,GAAA,CAAAwgD,SAAA,CAAAh8C,MAAA,CAAiB;QAAA,EAAF,uBAAAu9C,6CAAAv9C,MAAA;UAAA,OAAfxE,GAAA,CAAAygD,WAAA,CAAAj8C,MAAA,CACb;QAAA,EAD4B,kBAAAw9C,wCAAAx9C,MAAA;UAAA,OAAfxE,GAAA,CAAA0gD,MAAA,CAAAl8C,MAAA,CAAc;QAAA,EAAC;;;;;;;;;;;;;;;;;;QCT1BzI,4DADF,aAA6B,WAEkC;QADkBA,wDAAA,mBAAAkmD,4CAAA;UAAAlmD,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAASiE,GAAA,CAAAyhD,QAAA,EAAU;QAAA,EAAC;QACtC1lD,0DAAA,EAAI;QAI3DA,4DAHN,aAAoD,aAC3B,aACiC,eACmB;QAAAA,oDAAA,0BAAmB;QAAAA,0DAAA,EAAQ;QAClGA,4DAAA,kBAAgH;QAA9BA,wDAAA,oBAAAmmD,iDAAA19C,MAAA;UAAAzI,2DAAA,CAAAgH,GAAA;UAAA,OAAAhH,yDAAA,CAAUiE,GAAA,CAAAoiC,QAAA,CAAA59B,MAAA,CAAgB;QAAA,EAAC;QAC/GzI,0DADE,EAAgH,EAC5G;QACNA,4DAAA,aAAoD;QAClDA,0DAAA,IAA6C;QAC7CA,4DAAA,kBACiC;QADzBA,wDAAA,mBAAAqmD,kDAAA;UAAArmD,2DAAA,CAAAgH,GAAA;UAAA,MAAAs/C,YAAA,GAAAtmD,yDAAA;UAAA,OAAAA,yDAAA,CAASiE,GAAA,CAAAghD,MAAA,CAAAqB,YAAA,CAAiB;QAAA,EAAC;QAEjCtmD,oDAAA,qBACF;QAEJA,0DAFI,EAAS,EACL,EACF;QAEJA,4DADF,eAAkC,oBACoE;QAA3BA,8DAAA,2BAAAumD,4DAAA99C,MAAA;UAAAzI,2DAAA,CAAAgH,GAAA;UAAAhH,gEAAA,CAAAiE,GAAA,CAAA0J,OAAA,EAAAlF,MAAA,MAAAxE,GAAA,CAAA0J,OAAA,GAAAlF,MAAA;UAAA,OAAAzI,yDAAA,CAAAyI,MAAA;QAAA,EAA0B;QAACzI,0DAAA,EAAW;QAC/GA,4DAAA,iBAAwC;QAAAA,oDAAA,oBAAY;QACtDA,0DADsD,EAAQ,EACxD;QACNA,wDAAA,KAAAwmD,+BAAA,kBAAuC;QAK3CxmD,0DAFE,EAAM,EAEF;QAENA,wDAAA,KAAAymD,uCAAA,iCAAAzmD,oEAAA,CAAsB;;;QAzBIA,uDAAA,GAA2B;QAA3BA,mEAAA,YAAAiE,GAAA,CAAAsgD,aAAA,CAA2B;QAQTvkD,uDAAA,GAAmC;QAACA,wDAApC,aAAAiE,GAAA,CAAA+gD,eAAA,GAAmC,UAAA/gD,GAAA,CAAA+gD,eAAA,GAAiC;QAOjChlD,uDAAA,GAA0B;QAA1BA,8DAAA,YAAAiE,GAAA,CAAA0J,OAAA,CAA0B;QAG9E3N,uDAAA,GAAc;QAAdA,wDAAA,SAAAiE,GAAA,CAAAqhD,QAAA,CAAc;;;;;;;;;;;;;;;;;;;;;;ACtBzC;;;;;;;;;;;;;;;;;;;;;ACA+E;;;;;;ICA/EtlD,uDAAA,aAAgF;;;;;IAChFA,uDAAA,aAA6F;;;;IAApEA,wDAAA,cAAA0mD,MAAA,CAAAC,oBAAA,EAAA3mD,4DAAA,CAAkC;;;ADgBrD,MAAO6mD,iBAAiB;EAsB1B1mD,YAA6B2mD,eAAgC,EAChCC,SAA2B;IAD3B,KAAAD,eAAe,GAAfA,eAAe;IACf,KAAAC,SAAS,GAATA,SAAS;IAjB5B,KAAAC,OAAO,GAAuB,IAAI/qB,uDAAY,EAAQ;IAEhE,KAAA0qB,oBAAoB,GAAW,YAAY;IAI3C,KAAAM,oBAAoB,GAAa,CAAC,6DAA6D,GAAG,IAAIv/C,IAAI,EAAE,CAACw/C,OAAO,EAAE,CAAC;IAEvH,KAAAC,2BAA2B,GAAa,CACpC,kEAAkE,GAAG,IAAIz/C,IAAI,EAAE,CAACw/C,OAAO,EAAE,EACzF,0FAA0F,GAAG,IAAIx/C,IAAI,EAAE,CAACw/C,OAAO,EAAE,EACjH,6CAA6C,EAC7C,6EAA6E,CAChF;IAMG,IAAI,CAACE,OAAO,GAAGL,SAAS,CAACM,YAAY;EACzC;EAEApmD,QAAQA,CAAA;IAEJ,IAAI,IAAI,CAACqmD,OAAO,IAAI,CAAC,IAAI,CAACC,eAAe,EAAE;MACvC,IAAI,CAACC,cAAc,EAAE;IACzB,CAAC,MAAM;MACH,IAAI,CAACC,cAAc,EAAE;IACzB;EACJ;EAEAD,cAAcA,CAAA;IACV,IAAI,CAACE,kBAAkB,GAAG,IAAI;IAC9B,IAAI,CAACC,kBAAkB,GAAG,KAAK;IAE/B,IAAI,CAACb,eAAe,CAACc,iBAAiB,CAAC,IAAI,CAACC,cAAc,CAAC,CACtDzmD,SAAS,CAAEomD,cAA8B,IAAI;MAC1C,IAAI,CAACJ,OAAO,CAACU,cAAc,GAAG;QAC1BC,OAAO,EAAEP,cAAc,CAACQ,MAAM;QAC9BC,UAAU,EAAE,IAAI,CAACC,iBAAiB;QAClCC,YAAY,EAAE,EAAE;QAChBC,KAAK,EAAEZ,cAAc,CAACviC,MAAM,CAAC,CAAC,CAAC;QAC/BojC,SAAS,EAAEb,cAAc,CAACc,QAAQ;QAClCC,WAAW,EAAEf,cAAc,CAACe,WAAW;QACvCC,cAAc,EAAE,EAAE;QAClBC,qBAAqB,EAAE;OAC1B;MAED;MACA,IAAI,CAACxB,oBAAoB,CAAC95C,OAAO,CAAEskB,GAAG,IAAI;QACtC,IAAIi3B,IAAI,GAAGr4B,QAAQ,CAACs4B,aAAa,CAAC,QAAQ,CAAC;QAC3CD,IAAI,CAACE,KAAK,GAAG,IAAI;QACjBF,IAAI,CAACj3B,GAAG,GAAGA,GAAG;QACdi3B,IAAI,CAAC17C,IAAI,GAAG,iBAAiB;QAE7BqjB,QAAQ,CAACw4B,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACC,WAAW,CAACJ,IAAI,CAAC;MAC9D,CAAC,CAAC;IACN,CAAC,CAAC;EACV;EAEAjB,cAAcA,CAAA;IACV,IAAI,CAACC,kBAAkB,GAAG,KAAK;IAC/B,IAAI,CAACC,kBAAkB,GAAG,IAAI;IAE9B;IACA,IAAI,CAACR,2BAA2B,CAACh6C,OAAO,CAAEskB,GAAG,IAAI;MAC7C,IAAIi3B,IAAI,GAAGr4B,QAAQ,CAACs4B,aAAa,CAAC,QAAQ,CAAC;MAC3CD,IAAI,CAACE,KAAK,GAAG,IAAI;MACjBF,IAAI,CAACj3B,GAAG,GAAGA,GAAG;MACdi3B,IAAI,CAAC17C,IAAI,GAAG,iBAAiB;MAC7BqjB,QAAQ,CAACw4B,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACC,WAAW,CAACJ,IAAI,CAAC;IAC9D,CAAC,CAAC;IAEF,IAAI,CAAC5B,eAAe,CAACiC,iBAAiB,CAAC,IAAI,CAAClB,cAAc,EAAE,IAAI,CAACK,iBAAiB,CAAC,CAC9E9mD,SAAS,CAAEqmD,cAAc,IAAI;MAC1Bz9B,UAAU,CAAC,MAAK;QAGZ;QACA,IAAI,CAAC28B,oBAAoB,GAAGqC,qBAAqB,CAACvB,cAAc,EAAE,IAAI,CAACS,iBAAiB,CAAC;QAEzFl+B,UAAU,CAAC,MAAK;UAEZ,IAAI,CAACi/B,WAAW,EAAE;QACtB,CAAC,EAAE,IAAI,CAAC;MACZ,CAAC,EAAE,IAAI,CAAC;IACZ,CAAC,CAAC;EACV;EAEQA,WAAWA,CAAA;IACf,IAAI,CAACjC,OAAO,CAAC3pB,IAAI,EAAE;EACvB;EAAC,QAAA/9B,CAAA;qBAjGQunD,iBAAiB,EAAA7mD,+DAAA,CAAAL,sDAAA,GAAAK,+DAAA,CAAAL,uDAAA;EAAA;EAAA,QAAAJ,EAAA;UAAjBsnD,iBAAiB;IAAAnjD,SAAA;IAAAshC,MAAA;MAAA6iB,cAAA;MAAAK,iBAAA;MAAAZ,OAAA;MAAAC,eAAA;IAAA;IAAAtiB,OAAA;MAAA+hB,OAAA;IAAA;IAAArjD,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,QAAA,WAAAslD,2BAAAplD,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QChB9BhE,wDADA,IAAAqpD,gCAAA,iBAA0E,IAAAC,gCAAA,iBACa;;;QADvCtpD,wDAAA,SAAAiE,GAAA,CAAAyjD,kBAAA,CAAwB;QACX1nD,uDAAA,EAAwB;QAAxBA,wDAAA,SAAAiE,GAAA,CAAA0jD,kBAAA,CAAwB;;;;;;;;;;;;;;;;;;;;;;;;;ACK/E,MAAO4B,kBAAkB;EAC7BppD,YAAoBqpD,EAAc;IAAd,KAAAA,EAAE,GAAFA,EAAE;EAAgB;EACFC,YAAYA,CAAC1nD,KAAoB;IACnE,IAAI2vB,GAAG,GAAQ3vB,KAAK,CAACizB,MAAM;IAC3B,IAAIjzB,KAAK,CAAC6iB,GAAG,IAAI,OAAO,EAAE;MACxB7iB,KAAK,CAAC+3B,cAAc,EAAE;MACtB/3B,KAAK,CAACg4B,eAAe,EAAE;MACvBrI,GAAG,CAAC0X,IAAI,EAAE;IACZ;EACF;EAAC,QAAA9pC,CAAA;qBATUiqD,kBAAkB,EAAAvpD,+DAAA,CAAAA,qDAAA;EAAA;EAAA,QAAAT,EAAA;UAAlBgqD,kBAAkB;IAAA7lD,SAAA;IAAAgmD,YAAA,WAAAC,gCAAA3lD,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QAAlBhE,wDAAA,qBAAA4pD,8CAAAnhD,MAAA;UAAA,OAAAxE,GAAA,CAAAwlD,YAAA,CAAAhhD,MAAA,CAAoB;QAAA,EAAF;;;;;;AAgBzB,MAAOohD,oBAAoB;EAC/B1pD,YAAoBqpD,EAAc;IAAd,KAAAA,EAAE,GAAFA,EAAE;EAAgB;EACHM,OAAOA,CAAC75C,CAAa;IACtD,IAAI85C,OAAO,GAAG95C,CAAC,CAAC+kB,MAAqB;IACrC,MAAMtJ,KAAK,GAAG2E,QAAQ,CAAC25B,WAAW,EAAE;IACpCt+B,KAAK,CAACu+B,QAAQ,CAACF,OAAO,CAACnnD,UAAU,EAAE,CAAC,CAAC;IACrC8oB,KAAK,CAACw+B,MAAM,CAACH,OAAO,CAACI,SAAS,EAAEJ,OAAO,CAACI,SAAS,CAACC,WAAW,CAACznD,MAAM,CAAC;IACrE,MAAM0nD,SAAS,GAAGzkC,MAAM,CAAC0kC,YAAY,EAAE;IACvCD,SAAS,CAACE,eAAe,EAAE;IAC3BF,SAAS,CAACG,QAAQ,CAAC9+B,KAAK,CAAC;EAC3B;EAAC,QAAApsB,CAAA;qBAVUuqD,oBAAoB,EAAA7pD,+DAAA,CAAAA,qDAAA;EAAA;EAAA,QAAAT,EAAA;UAApBsqD,oBAAoB;IAAAnmD,SAAA;IAAAgmD,YAAA,WAAAe,kCAAAzmD,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QAApBhE,wDAAA,mBAAA0qD,8CAAAjiD,MAAA;UAAA,OAAAxE,GAAA,CAAA6lD,OAAA,CAAArhD,MAAA,CAAe;QAAA,EAAK;;;;;;AAiB3B,MAAOkiD,oBAAoB;EAC/BxqD,YAAoBqpD,EAAc;IAAd,KAAAA,EAAE,GAAFA,EAAE;IACpBx/B,UAAU,CAAC,MAAIw/B,EAAE,CAACrmB,aAAa,CAACynB,KAAK,EAAE,CAAC;EAC1C;EAAC,QAAAtrD,CAAA;qBAHUqrD,oBAAoB,EAAA3qD,+DAAA,CAAAA,qDAAA;EAAA;EAAA,QAAAT,EAAA;UAApBorD,oBAAoB;IAAAjnD,SAAA;IAAAmnD,UAAA;EAAA;;;;;;;;;;;;;;;;;;;ACvCiB;;;;;;;;;;;;;;;;;;;ACA0C;AACX;;;;;ICSrE7qD,uDAAA,YAA6C;;;;IAA1CA,wDAAA,cAAA0mD,MAAA,CAAAzrC,OAAA,EAAAjb,4DAAA,CAAqB;;;;;IACxBA,gEAAA,GAA0D;;;;;;IAG1DA,4DAAA,iBACyB;IAAvBA,wDAAA,mBAAAirD,0DAAA;MAAAjrD,2DAAA,CAAAs8B,GAAA;MAAA,MAAAoqB,MAAA,GAAA1mD,2DAAA;MAAA,OAAAA,yDAAA,CAAS0mD,MAAA,CAAA7oB,KAAA,CAAM,KAAK,CAAC;IAAA,EAAC;IAAC79B,oDAAA,GAAa;IAAAA,0DAAA,EAAS;;;;IAAtBA,uDAAA,EAAa;IAAbA,+DAAA,CAAA0mD,MAAA,CAAAzsB,SAAA,CAAa;;;ADI5C,MAAOixB,cAAc;EAf3B/qD,YAAA;IAgBE,KAAAmK,KAAK,GAAwB,QAAQ;IAgBrC,KAAAouC,SAAS,GAAwB,EAAE;IAEnC,KAAAD,aAAa,GAA0B,KAAK;IAG5C,KAAAl3B,MAAM,GAAG,IAAI0a,uDAAY,EAAE;;EAI3BkvB,YAAYA,CAAA;IACV,IAAI,OAAO,IAAI,CAACzS,SAAS,IAAI,UAAU,EACrC,OAAO,IAAI,CAACA,SAAS,EAAE,CAAC,KAExB,OAAO,IAAI,CAACA,SAAS;EACzB;EACA0S,gBAAgBA,CAAA;IACd,IAAI,OAAO,IAAI,CAAC3S,aAAa,IAAI,UAAU,EACzC,OAAO,IAAI,CAACA,aAAa,EAAE,CAAC,KAE5B,OAAO,IAAI,CAACA,aAAa;EAC7B;EACA5a,KAAKA,CAAC/V,MAAM;IACV,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACvG,MAAM,CAAC3F,IAAI,CAAC,CAAC,CAAC;EACrB;EAAC,QAAAtc,CAAA;qBAzCU4rD,cAAc;EAAA;EAAA,QAAA3rD,EAAA;UAAd2rD,cAAc;IAAAxnD,SAAA;IAAA2nD,QAAA;IAAA3B,YAAA,WAAA4B,4BAAAtnD,EAAA,EAAAC,GAAA;MAAA,IAAAD,EAAA;QAAdhE,qEAAA,WAAAiE,GAAA,CAAAqG,KAAA,CAAc;;;;;;;;;;;;;;;;;;;;;QCdftK,4DALZ,UAAK,aACqB,aACM,aACG,aACC,YACA;QAAAA,oDAAA,GAAS;QAAAA,0DAAA,EAAK;QACtCA,4DAAA,gBAA8E;QAA1CA,wDAAA,mBAAAwrD,gDAAA;UAAA,OAASvnD,GAAA,CAAA45B,KAAA,CAAM,KAAK,CAAC;QAAA,EAAC;QAAoB79B,4DAAA,cACvD;QAAAA,oDAAA,aAAO;QAChCA,0DADgC,EAAO,EAAS,EAC1C;QACNA,4DAAA,cAAwB;QAEtBA,wDADA,KAAAyrD,4BAAA,eAAyC,KAAAC,uCAAA,0BACE;QAC7C1rD,0DAAA,EAAM;QACNA,4DAAA,eAA0B;QACxBA,wDAAA,KAAA2rD,iCAAA,qBACyB;QACzB3rD,4DAAA,kBAOC;QADCA,wDAAA,mBAAA4rD,iDAAA;UAAA,OAAS3nD,GAAA,CAAA45B,KAAA,CAAM,IAAI,CAAC;QAAA,EAAC;QAErB79B,oDAAA,IACF;QAKZA,0DALY,EAAS,EACL,EACF,EACF,EACJ,EACF;;;QAzB8BA,uDAAA,GAAS;QAATA,+DAAA,CAAAiE,GAAA,CAAApG,KAAA,CAAS;QAKPmC,uDAAA,GAAa;QAAbA,wDAAA,SAAAiE,GAAA,CAAAgX,OAAA,CAAa;QACxBjb,uDAAA,EAA0B;QAA1BA,wDAAA,qBAAAiE,GAAA,CAAAH,QAAA,CAA0B;QAGhC9D,uDAAA,GAAe;QAAfA,wDAAA,SAAAiE,GAAA,CAAAg2B,SAAA,CAAe;QAMtBj6B,uDAAA,EAAwB;QACxBA,wDADA,UAAAiE,GAAA,CAAAknD,YAAA,GAAwB,aAAAlnD,GAAA,CAAAmnD,gBAAA,GACO;QAG/BprD,uDAAA,EACF;QADEA,gEAAA,MAAAiE,GAAA,CAAAw5B,KAAA,cACF;;;;;;iBDfE,CACVutB,4DAAO,CAAC,OAAO,EAAE,CACf1gD,0DAAK,CAAC,QAAQ,EAAE6kB,0DAAK,CAAC;QAAE08B,SAAS,EAAE;MAAgB,CAAE,CAAC,CAAC,EACvDvhD,0DAAK,CAAC,cAAc,EAAE6kB,0DAAK,CAAC;QAAE08B,SAAS,EAAE,kBAAkB;QAAEC,OAAO,EAAE;MAAC,CAAE,CAAC,CAAC,EAC3Ef,+DAAU,CAAC,QAAQ,EAAED,4DAAO,CAAC,eAAe,CAAC,CAAC,CAC/C,CAAC;IACH;EAAA;;;;;;;;;;;;;;;;;;;AEf4C,CAAC;AACG;;AAS7C,MAAOiB,WAAW;EAAA,QAAAzsD,CAAA;qBAAXysD,WAAW;EAAA;EAAA,QAAAxsD,EAAA;UAAXwsD;EAAW;EAAA,QAAAvsD,EAAA;cAJhB6J,yDAAY;EAAA;;;sHAIP0iD,WAAW;IAAA1lD,YAAA,GANL6kD,4DAAc;IAAAxrD,OAAA,GAEzB2J,yDAAY;IAAAzJ,OAAA,GAENsrD,4DAAc;EAAA;AAAA;;;;;;;;;;;;;;;;;;;ACRuD;AAElC;AACH;;AAIxC,MAAOrwB,YAAY;EAEvB16B,YAAYya,QAAkB;IAC5B,IAAG,CAACsxC,cAAc,CAACtqD,GAAG,CAAC,eAAe,CAAC,EAAE;MACvC,MAAMuqD,YAAY,GAAGH,sEAAmB,CAACd,4DAAc,EAAE;QAAEtwC;MAAQ,CAAE,CAAC;MACtEsxC,cAAc,CAACE,MAAM,CAAC,eAAe,EAAED,YAAY,CAAC;IACtD;EACF;EAEAh7B,YAAYA,CAACtP,GAAG;IACd,IAAI,OAAOA,GAAG,IAAI,QAAQ,EACxB,OAAOA,GAAG,CAAC,KACR,IAAIA,GAAG,CAAC9G,KAAK,IAAI,OAAO8G,GAAG,CAAC9G,KAAK,IAAI,QAAQ,EAChD,OAAO8G,GAAG,CAAC9G,KAAK,CAAC,KACd,IAAI8G,GAAG,CAAC9G,KAAK,IAAI8G,GAAG,CAAC9G,KAAK,CAACqW,OAAO,IAAI,OAAOvP,GAAG,CAAC9G,KAAK,CAACqW,OAAO,IAAI,QAAQ,EAC7E,OAAOvP,GAAG,CAAC9G,KAAK,CAACqW,OAAO,CAAC,KACtB,IAAIvP,GAAG,CAAC9G,KAAK,IAAI8G,GAAG,CAAC9G,KAAK,CAACE,OAAO,IAAI,OAAO4G,GAAG,CAAC9G,KAAK,CAACE,OAAO,IAAI,QAAQ,EAC7E,OAAO4G,GAAG,CAAC9G,KAAK,CAACE,OAAO,CAAC,KACtB,IAAI4G,GAAG,CAAC5G,OAAO,IAAI,OAAO4G,GAAG,CAAC5G,OAAO,IAAI,QAAQ,EACpD,OAAO4G,GAAG,CAAC5G,OAAO,CAAC,KAEnB,OAAO,IAAI;EACf;EAGAmf,GAAGA,CAACv8B,KAAK,EAAEod,OAAO;IAChB,OAAO,IAAI,CAACue,IAAI,CAAC;MAAC37B,KAAK;MAACod,OAAO;MAACgf,SAAS,EAAC,QAAQ;MAACue,SAAS,EAAC;IAAI,CAAC,CAAC;EACrE;EAEAhP,MAAMA,CAAC3rC,KAAK,EAAEod,OAAO;IACnB,OAAO,IAAI,CAACue,IAAI,CAAC;MAAE37B,KAAK;MAAEod,OAAO;MAAEu9B,SAAS,EAAC;IAAI,CAAC,CAAC;EACrD;EAEAz9B,KAAKA,CAAC8G,GAAO,EAAE5G,OAAe,EAAEpd,KAAa;IAC3C,IAAIsd,GAAG,GAAG,IAAI,CAACgW,YAAY,CAACtP,GAAG,CAAC,IAAE,sBAAsB;IACxD,OAAO,IAAI,CAAC2nB,MAAM,CAAC3rC,KAAK,IAAE,OAAO,EAAC,GAAGod,OAAO,IAAE,EAAE,GAAGA,OAAO,GAAC,IAAI,GAAC,EAAE,GAAGE,GAAG,EAAE,CAAC;EAC7E;EAKAqe,IAAIA,CAAC6yB,IAWJ;IACC,IAAI,IAAI,CAAC9uB,OAAO,EACd,IAAI,CAACM,KAAK,EAAE;IACd,IAAI,CAACyuB,UAAU,GAAGD,IAAI,CAACC,UAAU,IAAE,IAAI;IACvC,IAAI,CAAC9T,SAAS,GAAI6T,IAAI,CAAC7T,SAAS,KAAGl2C,SAAS,GAAE,IAAI,GAAC+pD,IAAI,CAAC7T,SAAS;IACjE,OAAO,IAAIyT,4CAAU,CAAMM,GAAG,IAAG;MAC/B,MAAMhvB,OAAO,GAA+ClN,QAAQ,CAACs4B,aAAa,CAAC,eAAe,CAAQ;MAC1GprB,OAAO,CAAC1/B,KAAK,GAAGwuD,IAAI,CAACxuD,KAAK;MAC1B0/B,OAAO,CAACtiB,OAAO,GAAGoxC,IAAI,CAACpxC,OAAO;MAC9BsiB,OAAO,CAACE,KAAK,GAAG4uB,IAAI,CAAC5uB,KAAK;MAC1BF,OAAO,CAACtD,SAAS,GAAGoyB,IAAI,CAACpyB,SAAS;MAClCsD,OAAO,CAACz5B,QAAQ,GAAGuoD,IAAI,CAACvoD,QAAQ;MAChC,IAAIuoD,IAAI,CAAC1uB,YAAY,EACnBJ,OAAO,CAACivB,SAAS,GAAGH,IAAI,CAAC1uB,YAAY;MACvC,IAAI0uB,IAAI,CAAC3T,SAAS,EAChBnb,OAAO,CAACmb,SAAS,GAAG2T,IAAI,CAAC3T,SAAS;MACpC,IAAI2T,IAAI,CAAC5T,aAAa,EACpBlb,OAAO,CAACkb,aAAa,GAAG4T,IAAI,CAAC5T,aAAa;MAC5Clb,OAAO,CAACkvB,gBAAgB,CAAC,QAAQ,EAAE,MAAI,IAAI,CAACC,OAAO,EAAE,CAAC;MACtDr8B,QAAQ,CAACo8B,gBAAgB,CAAC,SAAS,EAAGx8C,CAAC,IAAG,IAAI,CAAC08C,SAAS,CAAC18C,CAAC,CAAC,CAAC;MAC5DstB,OAAO,CAACjzB,KAAK,GAAC,QAAQ;MACtBizB,OAAO,CAACpO,KAAK,CAACy9B,OAAO,GAAC,UAAU;MAChCv8B,QAAQ,CAAChf,IAAI,CAACy3C,WAAW,CAACvrB,OAAO,CAAC;MAClC,IAAI,CAACA,OAAO,GAAGA,OAAO;MACtB,IAAI,CAACA,OAAO,CAACsvB,UAAU,GAAGN,GAAG;MAC7B,IAAI3B,KAAK,GAAGv6B,QAAQ,CAAC+S,aAAa,CAAC,oBAAoB,CAAC;MACxD,IAAIwnB,KAAK,EAAC;QACV,IAAIA,KAAK,CAACloB,OAAO,IAAI,OAAO,EAC1BkoB,KAAK,GAAGv6B,QAAQ,CAAC+S,aAAa,CAAC,0BAA0B,CAAC;QAC1D,IAAIwnB,KAAK,EACDA,KAAM,CAACA,KAAK,EAAE;MACxB;IACF,CAAC,CAAC;EACJ;EAEA+B,SAASA,CAAC18C,CAAe;IACvB,QAAQA,CAAC,CAAC2U,GAAG;MACb,KAAK,QAAQ;QACX,IAAI,CAAC8nC,OAAO,EAAE;QACd;MACF,KAAK,OAAO;QACV,IAAI,IAAI,CAAClU,SAAS,EAChB,IAAI,OAAO,IAAI,CAACA,SAAU,IAAI,SAAS,IAAI,IAAI,CAACA,SAAS,CAACvoC,CAAC,CAAC,EAC5D,IAAI,CAAC68C,EAAE,EAAE;QACX;IACF;EACF;EAEAJ,OAAOA,CAAA;IACL,IAAI,CAAC,IAAI,CAACnvB,OAAO,EACf;IACF,IAAIzV,MAAM,GAAG,IAAI,CAACyV,OAAO,EAAEzV,MAAM;IACjC,IAAI,CAACyV,OAAO,CAACsvB,UAAU,EAAEjxC,IAAI,CAACkM,MAAM,GAAG,IAAI,CAACwkC,UAAU,GAAG,KAAK,CAAC;IAC/D,IAAI,CAACzuB,KAAK,EAAE;EACd;EACAA,KAAKA,CAAA;IACHxN,QAAQ,CAAC08B,mBAAmB,CAAC,OAAO,EAAC,IAAI,CAACJ,SAAS,CAAC;IACpD,IAAI,CAAC,IAAI,CAACpvB,OAAO,EACf;IACF,IAAI,CAACA,OAAO,CAACwvB,mBAAmB,CAAC,OAAO,EAAC,IAAI,CAACL,OAAO,CAAC;IACtDr8B,QAAQ,CAAChf,IAAI,CAAC27C,WAAW,CAAC,IAAI,CAACzvB,OAAO,CAAC;IACvC,IAAI,CAACA,OAAO,CAACsvB,UAAU,EAAEI,QAAQ,EAAE;IACnC,IAAI,CAAC1vB,OAAO,CAACsvB,UAAU,EAAE/pD,WAAW,EAAE;IACtC,IAAI,CAACy6B,OAAO,CAACsvB,UAAU,GAAGvqD,SAAS;IACnC,IAAI,CAACi7B,OAAO,GAAGj7B,SAAS;EAC1B;EACAwqD,EAAEA,CAAA;IACcz8B,QAAQ,CAAC+S,aAAa,CAAC,yBAAyB,CAAE,EAAE8pB,KAAK,EAAE;EAC3E;EAAC,QAAA5tD,CAAA;qBAxHUu7B,YAAY,EAAA76B,sDAAA,CAAAA,mDAAA;EAAA;EAAA,QAAAT,EAAA;WAAZs7B,YAAY;IAAA7vB,OAAA,EAAZ6vB,YAAY,CAAA5vB,IAAA;IAAAC,UAAA,EADC;EAAM;;;;;;;;;;;;;;;;;;;ACPhC;;;AAImC;;;;;;;;;;;;;;;;;;ACMnC,SAASiiD,SAASA,CAAA;EACd,OAAOvnC,MAAM;AACjB;AAGM,MAAOujC,gBAAgB;EACzB,IAAI9B,YAAYA,CAAA;IACZ,OAAO8F,SAAS,EAAE;EACtB;EAEAC,kBAAkBA,CAAA;IACd,IAAIC,KAAK,GAAGh9B,QAAQ,CAACi9B,cAAc,CAAC,MAAM,CAAC;IAC3CD,KAAK,CAACE,MAAM,CAAC;MACTxrC,GAAG,EAAE,CAAC;MACNyrC,IAAI,EAAE,CAAC;MACPC,QAAQ,EAAE;KACb,CAAC;EACN;EAAC,QAAAnuD,CAAA;qBAZQ6pD,gBAAgB;EAAA;EAAA,QAAA5pD,EAAA;WAAhB4pD,gBAAgB;IAAAn+C,OAAA,EAAhBm+C,gBAAgB,CAAAl+C,IAAA;IAAAC,UAAA,EADJ;EAAM;;;;;;;;;;;;;;;;;;;;ACczB,MAAOg+C,eAAe;EAGxB/oD,YAA6B4b,UAAsB;IAAtB,KAAAA,UAAU,GAAVA,UAAU;IAFtB,KAAA2xC,MAAM,GAAG,QAAQ;EAGlC;EAEA9F,iBAAiBA,CAAC+F,QAAyB;IACvC,OAAO,IAAI,CAAC5xC,UAAU,CAACna,GAAG,CAAiB,GAAG,IAAI,CAAC8rD,MAAM,IAAIC,QAAQ,UAAU,CAAC;EACpF;EAGA5E,iBAAiBA,CAAClB,cAAsB,EAAEK,iBAAyB;IAC/D,OAAO,IAAI,CAACnsC,UAAU,CAACna,GAAG,CAAS,GAAG,IAAI,CAAC8rD,MAAM,IAAI7F,cAAc,mBAAmBK,iBAAiB,EAAE,CAAC;EAC9G;EAEA0F,iBAAiBA,CAAC/F,cAAqB,EAAEK,iBAAyB;IAC9D,OAAO,IAAI,CAACnsC,UAAU,CAACna,GAAG,CAAyB,GAAG,IAAI,CAAC8rD,MAAM,IAAI7F,cAAc,IAAIK,iBAAiB,iBAAiB,CAAC;EAC9H;EAAC,QAAA5oD,CAAA;qBAjBQ4pD,eAAe,EAAAlpD,sDAAA,CAAAL,4DAAA;EAAA;EAAA,QAAAJ,EAAA;WAAf2pD,eAAe;IAAAl+C,OAAA,EAAfk+C,eAAe,CAAAj+C,IAAA;IAAAC,UAAA,EAFZ;EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzByB;AACQ;AACW;AACnB;AACsB;AACtB;AACI;AACyN;AACvM;AACQ;AACV;AACP;AAC+B;AACzC;AAC6B;AAChC;AAC6C;AACnB;AAC6B;;;AAwEhG,MAAO7F,YAAY;EAAA,QAAA/F,CAAA;qBAAZ+F,YAAY;EAAA;EAAA,QAAA9F,EAAA;UAAZ8F;EAAY;EAAA,QAAA7F,EAAA;cApErB6J,0DAAY,EACZtO,0DAAY,EACZ8J,kEAAS,EACTyE,wDAAW,EACXwkD,0DAAa,EACb7oD,gFAAiB,EACjB8oD,0DAAY,EACZF,gEAAmB,EACnBI,uEAAiB,EACjBC,6DAAc,EACdF,gFAAwB,EA2BxB3kD,0DAAY,EACZxE,kEAAS,EACTyE,wDAAW,EACXwkD,0DAAa,EACb7oD,gFAAiB,EACjB8mD,4DAAW,EACXgC,0DAAY;EAAA;;;sHAyBH1oD,YAAY;IAAAgB,YAAA,GApDrBi4B,6DAAoB,EACpB8O,2DAAkB,EAClByZ,0DAAiB,EACjBre,6DAAoB,EACpB4b,wDAAe,EACflJ,2DAAkB,EAClB1P,0DAAiB,EACjBwR,sFAAiB,EACjB/D,4EAAO,EACPsK,oGAAqB,EACrB9B,6DAAoB,EACpBxD,6DAAoB,EACpBvhB,gDAAO,EACP8a,kDAAS,EACTgH,wFAAiB,EACjBvN,qGAAsB,EACtByP,yDAAgB,EAChBuC,wDAAe,EACf5M,kFAAS;IAAA32C,OAAA,GAlCT2J,0DAAY,EACZtO,0DAAY,EACZ8J,kEAAS,EACTyE,wDAAW,EACXwkD,0DAAa,EACb7oD,gFAAiB,EACjB8oD,0DAAY,EACZF,gEAAmB,EACnBI,uEAAiB,EACjBC,6DAAc,EACdF,gFAAwB,EACxBzE,mEAAkB,EAClBM,qEAAoB,EACpBc,qEAAoB;IAAA/qD,OAAA,GAwBpByJ,0DAAY,EACZxE,kEAAS,EACTyE,wDAAW,EACXwkD,0DAAa,EACb7oD,gFAAiB,EACjB8mD,4DAAW,EACXgC,0DAAY,EACZzvB,6DAAoB,EACpB8O,2DAAkB,EAClByZ,0DAAiB,EACjBre,6DAAoB,EACpB4b,wDAAe,EACflJ,2DAAkB,EAClB1P,0DAAiB,EACjBwR,sFAAiB,EACjB/D,4EAAO,EACPsK,oGAAqB,EACrB9B,6DAAoB,EACpBxD,6DAAoB,EACpBvhB,gDAAO,EACP8a,kDAAS,EACTgH,wFAAiB,EACjBvN,qGAAsB,EACtByP,yDAAgB,EAChBuC,wDAAe,EACf5M,kFAAS,EACTkT,mEAAkB,EAClBM,qEAAoB,EACpBc,qEAAoB;EAAA;AAAA;kEArCpBjuB,gDAAO,GAAA/8B,gEAAA,EACP63C,kDAAS;;;;;;;;;;;;;;;ACpDb;AACA;AACA;AAEO,MAAM+Q,WAAW,GAAG;EACzB6F,UAAU,EAAE;CACb;AAED;;;;;;;AAOA;;;;;;;;;;;;;;;;;ACf+C;AAGF;AACY;AAEzD,IAAI7F,kEAAW,CAAC6F,UAAU,EAAE;EAC1BC,6DAAc,EAAE;AAClB;AAEAC,sEAAA,EAAwB,CAACE,eAAe,CAACzoD,sDAAS,CAAC,CAChDkW,KAAK,CAAC4F,GAAG,IAAIC,OAAO,CAAC/G,KAAK,CAAC8G,GAAG,CAAC,CAAC;;;;;;;;;;ACXnC;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/components/access-denied/access-denied.component.ts","./src/app/core/components/access-denied/access-denied.component.html","./src/app/core/components/app-footer/app-footer.component.ts","./src/app/core/components/app-footer/app-footer.component.html","./src/app/core/components/impersonation/impersonation.component.ts","./src/app/core/components/impersonation/impersonation.component.html","./src/app/core/core.module.ts","./src/app/core/guards/role.guard.ts","./src/app/core/index.ts","./src/app/core/models/HubFile.ts","./src/app/core/models/advisory.ts","./src/app/core/models/app-event.ts","./src/app/core/models/application-user.ts","./src/app/core/models/attachment.ts","./src/app/core/models/change.ts","./src/app/core/models/comment.ts","./src/app/core/models/expense.ts","./src/app/core/models/fav-account.ts","./src/app/core/models/notification.ts","./src/app/core/models/notificationSubj.ts","./src/app/core/models/org-unit.ts","./src/app/core/models/passport.ts","./src/app/core/models/person.ts","./src/app/core/models/role.ts","./src/app/core/models/status-change.ts","./src/app/core/models/transaction.ts","./src/app/core/models/trip-dest-ban.ts","./src/app/core/models/trip-dest.ts","./src/app/core/models/trip-personal-date.ts","./src/app/core/models/trip.ts","./src/app/core/models/xp-distribution.ts","./src/app/core/models/xpreport.ts","./src/app/core/services/app-errror-handler.ts","./src/app/core/services/app-events.service.ts","./src/app/core/services/config.service.ts","./src/app/core/services/expenses.service.ts","./src/app/core/services/favorites.service.ts","./src/app/core/services/http-cache-control.service.ts","./src/app/core/services/impersonation.service.ts","./src/app/core/services/notifications.service.ts","./src/app/core/services/pcard.service.ts","./src/app/core/services/person.service.ts","./src/app/core/services/testApi.interceptor.ts","./src/app/core/services/testing.service.ts","./src/app/core/services/trip.service.ts","./src/app/core/services/unauthorized.interceptor.ts","./src/app/core/services/user.service.ts","./src/app/core/services/uss-service.ts","./src/app/core/services/xpreports.service.ts","./src/app/core/util/app-route-reuse-strategy.ts","./src/app/core/util/util.ts","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/layout/layout.component.ts","./src/app/layout/layout.component.html","./src/app/minidash/minidash.component.ts","./src/app/minidash/minidash.component.html","./src/app/minidash/minidash.module.ts","./src/app/my-links/my-links-routing.module.ts","./src/app/my-links/my-links.component.ts","./src/app/my-links/my-links.component.html","./src/app/my-links/my-links.module.ts","./src/app/shared/components/account/account.component.ts","./src/app/shared/components/account/account.component.html","./src/app/shared/components/ag-datatable/ag-datatable.component.ts","./src/app/shared/components/ag-datatable/ag-datatable.component.html","./src/app/shared/components/attachments/attachments.component.ts","./src/app/shared/components/attachments/attachments.component.html","./src/app/shared/components/comments/comments.component.ts","./src/app/shared/components/comments/comments.component.html","./src/app/shared/components/date-range/date-range.component.ts","./src/app/shared/components/date-range/date-range.component.html","./src/app/shared/components/distributions/distributions.component.ts","./src/app/shared/components/distributions/distributions.component.html","./src/app/shared/components/exp-editor/exp-editor.component.ts","./src/app/shared/components/exp-editor/exp-editor.component.html","./src/app/shared/components/fav-accnts/fav-accnts.component.ts","./src/app/shared/components/fav-accnts/fav-accnts.component.html","./src/app/shared/components/fav-star/fav-star.component.ts","./src/app/shared/components/fav-star/fav-star.component.html","./src/app/shared/components/hubSelect/hubSelect.component.ts","./src/app/shared/components/hubSelect/hubSelect.component.html","./src/app/shared/components/hubSelect/hubSelect.service.ts","./src/app/shared/components/iconText/iconText.component.ts","./src/app/shared/components/iconText/iconText.component.html","./src/app/shared/components/index.ts","./src/app/shared/components/my-ppl-search/my-ppl-search.component.ts","./src/app/shared/components/my-ppl-search/my-ppl-search.component.html","./src/app/shared/components/nav-tiles/nav-tiles.component.ts","./src/app/shared/components/nav-tiles/nav-tiles.component.html","./src/app/shared/components/org-tree/org-tree.component.ts","./src/app/shared/components/org-tree/org-tree.component.html","./src/app/shared/components/pcard-search/pcard-data.ts","./src/app/shared/components/pcard-search/pcard-search.component.ts","./src/app/shared/components/pcard-search/pcard-search.component.html","./src/app/shared/components/people/people.component.ts","./src/app/shared/components/people/people.component.html","./src/app/shared/components/person-search/person-data.ts","./src/app/shared/components/person-search/person-search.component.ts","./src/app/shared/components/person-search/person-search.component.html","./src/app/shared/components/upload/upload.component.ts","./src/app/shared/components/upload/upload.component.html","./src/app/shared/components/workflow/index.ts","./src/app/shared/components/workflow/workflow.component.ts","./src/app/shared/components/workflow/workflow.component.html","./src/app/shared/directives/utility.ts","./src/app/shared/index.ts","./src/app/shared/modal/modal.component.ts","./src/app/shared/modal/modal.component.html","./src/app/shared/modal/modal.module.ts","./src/app/shared/modal/modal.service.ts","./src/app/shared/services/index.ts","./src/app/shared/services/window.service.ts","./src/app/shared/services/workflow.service.ts","./src/app/shared/shared.module.ts","./src/environments/environment.ts","./src/main.ts","ignored|E:\\TeamCityAgent\\TC_Agent2\\work\\117fa98785e071e2\\chargeflow.Web\\Angular\\node_modules\\@microsoft\\signalr\\dist\\esm|abort-controller","ignored|E:\\TeamCityAgent\\TC_Agent2\\work\\117fa98785e071e2\\chargeflow.Web\\Angular\\node_modules\\@microsoft\\signalr\\dist\\esm|eventsource","ignored|E:\\TeamCityAgent\\TC_Agent2\\work\\117fa98785e071e2\\chargeflow.Web\\Angular\\node_modules\\@microsoft\\signalr\\dist\\esm|fetch-cookie","ignored|E:\\TeamCityAgent\\TC_Agent2\\work\\117fa98785e071e2\\chargeflow.Web\\Angular\\node_modules\\@microsoft\\signalr\\dist\\esm|node-fetch","ignored|E:\\TeamCityAgent\\TC_Agent2\\work\\117fa98785e071e2\\chargeflow.Web\\Angular\\node_modules\\@microsoft\\signalr\\dist\\esm|tough-cookie","ignored|E:\\TeamCityAgent\\TC_Agent2\\work\\117fa98785e071e2\\chargeflow.Web\\Angular\\node_modules\\@microsoft\\signalr\\dist\\esm|ws"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router';\r\nimport { HomeComponent } from './home/home.component';\r\nimport {\r\n RoleGuard,\r\n AccessDeniedComponent,\r\n ImpersonationComponent\r\n} from './core';\r\nimport {\r\n faCreditCard as expenseMenuIcon,\r\n faFileLines as expReportMenuIcon,\r\n faStar as myLinksIcon,\r\n faSuitcase as myTravelIcon,\r\n faPlane as TripsIcon,\r\n faThumbsUp as myAuditIcon,\r\n faFolderOpen as myFilesIcon,\r\n faUserGear as adminIcon,\r\n faLayerGroup as cardAdminIcon,\r\n faMessage as cardAdminN10nsIcon,\r\n faTrowelBricks as N10TemplatesIcon,\r\n faUser as PrsnIcon,\r\n faExclamationTriangle as CntryBansIcon,\r\n faBuildingColumns as myMfksIcon\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { LayoutComponent } from './layout/layout.component';\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n component:LayoutComponent,\r\n canActivate: [RoleGuard],\r\n data: { roles: ['BasicUser', 'SharedService', 'Admin', 'Auditor']},\r\n children: [\r\n {\r\n path: 'home',\r\n component: HomeComponent\r\n },\r\n {\r\n path: 'my-links',\r\n loadChildren: () => import('./my-links/my-links.module').then(m => m.MyLinksModule),\r\n data: {\r\n label: \"My Links\",\r\n title: \"My Links\",\r\n icon: myLinksIcon,\r\n }\r\n },\r\n { // $$Implements SW.FE.Menu, SW.FE.XP.PAGE\r\n path: 'xp',\r\n loadChildren: () => import('./expenses/expenses.module').then(m => m.ExpensesModule),\r\n data: {\r\n label: \"My PCard\",\r\n title: \"My PCard\",\r\n icon: expenseMenuIcon,\r\n }\r\n },\r\n {\r\n path: 'my-travel',\r\n loadChildren: () => import('./expenses/expenses.module').then(m => m.ExpensesModule),\r\n data: {\r\n label: \"My Travel\",\r\n title: \"My Travel\",\r\n icon: myTravelIcon,\r\n }\r\n },\r\n {\r\n path: 'xpr',\r\n loadChildren: () => import('./expreports/expreports.module').then(m => m.ExpreportsModule),\r\n data: {\r\n label: \"Expense Reports\",\r\n title: \"Exp. Reports\",\r\n icon: expReportMenuIcon,\r\n }\r\n },\r\n {\r\n path: 'trips',\r\n loadChildren: () => import('./trips/trips.module').then(m => m.TripsModule),\r\n data: {\r\n label: \"My Trips\",\r\n title: \"My Trips\",\r\n icon: TripsIcon,\r\n }\r\n },\r\n {\r\n path: 'my-audit',\r\n loadChildren: () => import('./my-audit/my-audit.module').then(m => m.MyAuditModule),\r\n canActivate: [RoleGuard],\r\n data: {\r\n label: \"My Audit\",\r\n title: \"My Audit\",\r\n icon: myAuditIcon,\r\n roles: ['Auditor','Admin']\r\n }\r\n },\r\n {\r\n path: 'my-files', // $$Implements SW.FE.Menu, SW.FE.HUB.PAGE\r\n loadChildren: () => import('./my-files/my-files.module').then(m => m.MyFilesModule),\r\n data: {\r\n label: \"My Files\",\r\n title: \"My Files\",\r\n icon: myFilesIcon,\r\n }\r\n },\r\n {\r\n path: 'admin',\r\n loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule),\r\n canActivate: [RoleGuard],\r\n data: {\r\n label: \"Admin Tools\",\r\n title: \"Admin Tools\",\r\n icon: adminIcon,\r\n roles: ['Admin']\r\n }\r\n },\r\n {\r\n path: 'card-admin',\r\n loadChildren: () => import('./card-admin/card-admin.module').then(m => m.CardAdminModule),\r\n canActivate: [RoleGuard],\r\n data: {\r\n label: \"Card Manager\",\r\n title: \"Card Manager\",\r\n icon: cardAdminIcon,\r\n roles: ['Admin']\r\n }\r\n },\r\n {\r\n path: 'my-mfks',\r\n loadChildren: () => import('./my-mfks/my-mfks.module').then(m => m.MyMfksModule),\r\n data: {\r\n label: \"My MFKs\",\r\n title: \"My MFKs\",\r\n icon: myMfksIcon,\r\n }\r\n },\r\n {\r\n path: 'xpdtl/:id',\r\n pathMatch: 'full',\r\n loadChildren: () => import('./exp-dtl/exp-dtl.module').then(m => m.ExpDtlModule),\r\n data: {\r\n title: (r: ActivatedRouteSnapshot) => `Expense:${r.url.slice(-1)[0]?.path}`\r\n }\r\n },\r\n {\r\n path: 'expr/:id',\r\n pathMatch: 'full',\r\n loadChildren: () => import('./expr/expr.module').then(m => m.ExprModule),\r\n data: {\r\n title: (r: ActivatedRouteSnapshot) => `Exp.Report:${r.url.slice(-1)[0]?.path}`\r\n }\r\n },\r\n {\r\n path: 'expr/efr/:id',\r\n pathMatch: 'full',\r\n loadChildren: () => import('./expr/expr.module').then(m => m.ExprModule),\r\n data: {\r\n title: (r: ActivatedRouteSnapshot) => `Exp.Report:${r.url.slice(-1)[0]?.path}`\r\n }\r\n },\r\n {\r\n path: 'trip/:id',\r\n pathMatch: 'full',\r\n loadChildren: () => import('./trip/trip.module').then(m => m.TripModule),\r\n data: {\r\n title: (r: ActivatedRouteSnapshot) => `Trip:${r.url.slice(-1)[0]?.path}`\r\n }\r\n },\r\n { \r\n path: 'n10ns', \r\n pathMatch: 'full',\r\n loadChildren: () => import('./n10ns/n10ns.module').then(m => m.N10nsModule),\r\n data: {\r\n title:`Notifications`\r\n }\r\n },\r\n { \r\n path: 'n10ns/:id', \r\n pathMatch: 'full',\r\n loadChildren: () => import('./n10ns/n10ns.module').then(m => m.N10nsModule),\r\n data: {\r\n title: (r: ActivatedRouteSnapshot) => `Notification:${r.url.slice(-1)[0]?.path}`\r\n }\r\n },\r\n {\r\n path: 'n10ns-adm',\r\n pathMatch: 'full',\r\n loadChildren: () => import('./n10ns-admin/n10ns-admin.module').then(m => m.N10nsModule),\r\n canActivate: [RoleGuard],\r\n data: {\r\n label: \"Notifications\",\r\n title: `Admin:Notifications`,\r\n icon: cardAdminN10nsIcon,\r\n roles: ['Admin']\r\n }\r\n },\r\n {\r\n path: 'n10ns-adm/:id',\r\n pathMatch: 'full',\r\n loadChildren: () => import('./n10ns-admin/n10ns-admin.module').then(m => m.N10nsModule),\r\n canActivate: [RoleGuard],\r\n data: {\r\n title: (r: ActivatedRouteSnapshot) => `Admin:Notification:${r.url.slice(-1)[0]?.path}`,\r\n roles: ['Admin']\r\n },\r\n },\r\n {\r\n path: 'n10n-ts',\r\n loadChildren: () => import('./n10n-templates/n10n-templates.module').then(m => m.N10nTemplatesModule),\r\n data: {\r\n label: \"Templates\",\r\n title: (r: ActivatedRouteSnapshot) => `Notification Templates:${r.url.slice(-1)[0]?.path}`,\r\n icon: N10TemplatesIcon,\r\n roles: ['Admin'],\r\n }\r\n },\r\n {\r\n path: 'prsn/:id',\r\n loadChildren: () => import('./prsn/prsn.module').then(m => m.PrsnModule),\r\n data: {\r\n label: \"Personal Data\",\r\n title: (r: ActivatedRouteSnapshot) => `Personal data:${r.url.slice(-1)[0]?.path}`,\r\n icon: PrsnIcon,\r\n roles: ['SharedService', 'Admin', 'Auditor'],\r\n }\r\n },\r\n {\r\n path: 'passports',\r\n pathMatch: 'full',\r\n loadChildren: () => import('./passports/passports.module').then(m => m.PassportsModule),\r\n data: {\r\n title: `Passports`\r\n }\r\n },\r\n { \r\n path: 'cntry-bans', \r\n loadChildren: () => import('./cntry-bans/cntry-bans.module').then(m => m.CntryBansModule),\r\n data:{\r\n title: `Country Bans`,\r\n label: `Country Bans`,\r\n icon: CntryBansIcon,\r\n roles: ['Admin'],\r\n },\r\n },\r\n ]\r\n },\r\n {\r\n path: 'impersonation',\r\n component: ImpersonationComponent,\r\n canActivate: [RoleGuard],\r\n data: { roles: ['Admin', 'WebMaster'] }\r\n },\r\n {\r\n path: 'access-denied',\r\n component: AccessDeniedComponent\r\n },\r\n { path: 'test-data', loadChildren: () => import('./test-data/test-data.module').then(m => m.TestDataModule) },\r\n {\r\n path: '**',\r\n redirectTo: ''\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { InternalRoute, ExternalLink, HeaderUser, BannerLinks } from '@uiowa/uiowa-header';\r\nimport { ApplicationUser, UserService, ImpersonationService } from './core';\r\nimport { Subscription } from 'rxjs';\r\nimport { ActivatedRoute, ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { filter } from 'rxjs/operators';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n applicationName = 'ProTrav';\r\n externalLinks:BannerLinks = {\r\n link1: new ExternalLink('Employee Self Service', 'https://hris.uiowa.edu/portal18')\r\n};\r\n user: HeaderUser;\r\n\r\n startTimer: boolean;\r\n private userSubscription: Subscription;\r\n testing = false;\r\n showMiniDash = true;\r\n hideMinidashRoutes = new Set([\r\n 'impersonation',\r\n 'test-data'\r\n ])\r\n\r\n constructor(\r\n private readonly userService: UserService,\r\n private readonly impersonationService: ImpersonationService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private cookieService: CookieService,\r\n private titleService: Title\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.userSubscription = this.userService.user$.subscribe(user => {\r\n this.user = {\r\n userName: user.loginId,\r\n originalUserName: user.originalUser\r\n };\r\n this.startTimer = user.isAuthenticated();\r\n });\r\n\r\n this.testing = !!this.cookieService.get('test');\r\n this.showMiniDash = !this.testing;\r\n this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd),\r\n ).subscribe(() => {\r\n const title = this.getChildTitle(this.applicationName, this.activatedRoute.snapshot);\r\n this.titleService.setTitle(title);\r\n if (!this.testing) {\r\n let page = this.activatedRoute.snapshot.children.find(x => x !== undefined) ?.routeConfig.path;\r\n this.showMiniDash = !this.hideMinidashRoutes.has(page);\r\n }\r\n }); \r\n\r\n }\r\n\r\n getChildTitle(parentTitle: string, activatedRoute: ActivatedRouteSnapshot) {\r\n let title = activatedRoute.data.title;\r\n if (title === undefined) {\r\n let segments = activatedRoute.url.slice(-1);\r\n if (segments && segments.length)\r\n title = segments[0].path;\r\n } else if (typeof title == \"function\")\r\n title = title(activatedRoute);\r\n if (title)\r\n parentTitle += \":\" + title;\r\n if (activatedRoute.firstChild?.firstChild) {\r\n return this.getChildTitle(parentTitle, activatedRoute.firstChild.firstChild);\r\n } else {\r\n return parentTitle;\r\n }\r\n } \r\n\r\n ngOnDestroy(): void {\r\n if (this.userSubscription) {\r\n this.userSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n stopImpersonate() {\r\n this.impersonationService.stopImpersonate();\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule, APP_INITIALIZER, NgZone } from '@angular/core';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CoreModule, FavoritesService, PersonService, UserService } from './core';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { LayoutComponent } from './layout/layout.component';\r\nimport { ConfigService } from './core/services/config.service';\r\nimport { MinidashModule } from './minidash/minidash.module';\r\nimport { MyLinksModule } from './my-links/my-links.module';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { SharedModule } from './shared';\r\n\r\n// Uncomment to debug Zone Tasks affecting angular testability\r\n// import 'zone.js/plugins/task-tracking'; \r\n\r\nexport function appUserServiceFactory(userService: UserService) {\r\n return () => userService.getUser();\r\n}\r\n\r\nexport function configServiceFactory(configService: ConfigService) {\r\n return () => configService.init();\r\n}\r\n\r\nexport function favoritesServiceFactory(favoritesService: FavoritesService) {\r\n return () => favoritesService.init();\r\n}\r\n\r\nexport function personServiceFactory(personService: PersonService) {\r\n return () => personService.init();\r\n}\r\n\r\n@NgModule({\r\n declarations: [AppComponent, HomeComponent, LayoutComponent],\r\n imports: [\r\n FontAwesomeModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n NgbModule,\r\n HttpClientModule,\r\n ToastrModule.forRoot(),\r\n CoreModule,\r\n AppRoutingModule,\r\n MinidashModule,\r\n MyLinksModule,\r\n SharedModule\r\n ],\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: appUserServiceFactory,\r\n deps: [UserService],\r\n multi: true\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: configServiceFactory,\r\n deps: [ConfigService],\r\n multi: true\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: favoritesServiceFactory,\r\n deps: [FavoritesService],\r\n multi: true\r\n },\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n /* \r\n // Code to debug Zone Tasks affecting angular testability\r\n constructor(ngZone: NgZone) {\r\n const WAIT_SECONDS = 2;\r\n\r\n console.log(\r\n `⏳ ... Wait ${WAIT_SECONDS} seconds to dump pending tasks ... ⏳`\r\n );\r\n\r\n // Run the debugging `setTimeout` code outside of\r\n // the Angular Zone, so it's not considered as \r\n // yet another pending Zone Task:\r\n ngZone.runOutsideAngular(() => {\r\n setTimeout(() => {\r\n // Access the NgZone's internals - TaskTrackingZone:\r\n const TaskTrackingZone = (ngZone as any)._inner\r\n ._parent._properties.TaskTrackingZone;\r\n\r\n // Print to the console all pending tasks\r\n // (micro tasks, macro tasks and event listeners):\r\n console.debug('👀 Pending tasks in NgZone: 👀');\r\n console.debug({\r\n microTasks: TaskTrackingZone.getTasksFor('microTask'),\r\n macroTasks: TaskTrackingZone.getTasksFor('macroTask'),\r\n eventTasks: TaskTrackingZone.getTasksFor('eventTask'),\r\n });\r\n\r\n // Advice how to find the origin of Zone tasks:\r\n console.debug(\r\n `👀 For every pending Zone Task listed above investigate the stacktrace in the property 'creationLocation' 👆`\r\n );\r\n }, 1000 * WAIT_SECONDS);\r\n });\r\n }\r\n */\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from '../../services/user.service';\r\nimport { LoginService } from '@uiowa/uiowa-header';\r\n\r\n@Component({\r\n templateUrl: './access-denied.component.html',\r\n styleUrls: ['./access-denied.component.css']\r\n})\r\nexport class AccessDeniedComponent implements OnInit {\r\n constructor(\r\n private readonly loginService: LoginService,\r\n public readonly userService: UserService\r\n ) {}\r\n\r\n ngOnInit() {}\r\n login() {\r\n this.loginService.login();\r\n }\r\n}\r\n","
\r\n

Access Denied.

\r\n\r\n
\r\n \r\n

\r\n Your account doesn't have enough permission to view protected content in\r\n this website.\r\n

\r\n
\r\n
\r\n \r\n \r\n

Hello,

\r\n

\r\n You haven't logged in our system or your account doesn't have enough\r\n permission.\r\n

\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './app-footer.component.html',\r\n styleUrls: ['./app-footer.component.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AppFooterComponent implements OnInit {\r\n year = 0;\r\n emailLinkText = 'Business Services IT';\r\n emailDistributionList = 'FBIS-DL_Developer@iowa.uiowa.edu';\r\n emailSubject = 'Questions about the chargeflow Website';\r\n emailHref: string;\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n const today = new Date();\r\n this.year = today.getFullYear();\r\n this.emailHref = `mailto:${\r\n this.emailDistributionList\r\n }?subject=${this.emailSubject.replace(' ', '%20')}`;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n Copyright © {{year}}\r\n University of Iowa\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n E-mail any questions to\r\n {{emailLinkText}}\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from '../../services/user.service';\r\nimport { ImpersonationService } from '../../services/impersonation.service';\r\n\r\n@Component({\r\n selector: 'app-impersonation',\r\n templateUrl: './impersonation.component.html',\r\n styleUrls: ['./impersonation.component.css']\r\n})\r\nexport class ImpersonationComponent implements OnInit {\r\n hawkId: string;\r\n constructor(\r\n public readonly userService: UserService,\r\n private readonly impersonationService: ImpersonationService\r\n ) {}\r\n\r\n ngOnInit() {}\r\n impersonate() {\r\n if (!this.hawkId) {\r\n return;\r\n }\r\n this.impersonationService.impersonate(this.hawkId);\r\n }\r\n\r\n stopImpersonate() {\r\n this.impersonationService.stopImpersonate();\r\n }\r\n}\r\n","
\r\n \r\n

Warning

\r\n

Please logout or stop impersonation after you finish testing.

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { NgModule, Optional, SkipSelf, ErrorHandler } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { UiowaHeaderModule } from '@uiowa/uiowa-header';\r\nimport { RouteReuseStrategy, RouterModule } from '@angular/router';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { AppFooterComponent } from './components/app-footer/app-footer.component';\r\nimport { AccessDeniedComponent } from './components/access-denied/access-denied.component';\r\nimport { ImpersonationComponent } from './components/impersonation/impersonation.component';\r\nimport { AppErrorHandler } from './services/app-errror-handler';\r\nimport { HttpCacheControlService } from './services/http-cache-control.service';\r\nimport { UnauthorizedInterceptor } from './services/unauthorized.interceptor';\r\nimport { TestApiInterceptor } from './services/testApi.interceptor';\r\nimport { AppRouteReuseStrategy } from './util/app-route-reuse-strategy';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n UiowaHeaderModule,\r\n RouterModule,\r\n FormsModule,\r\n NgbModule,\r\n ],\r\n declarations: [\r\n AppFooterComponent,\r\n AccessDeniedComponent,\r\n ImpersonationComponent,\r\n ],\r\n providers: [\r\n {\r\n provide: ErrorHandler,\r\n useClass: AppErrorHandler,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: UnauthorizedInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: TestApiInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HttpCacheControlService,\r\n multi: true,\r\n },\r\n {\r\n provide: RouteReuseStrategy,\r\n useClass: AppRouteReuseStrategy\r\n }\r\n ],\r\n exports: [\r\n UiowaHeaderModule,\r\n AppFooterComponent,\r\n AccessDeniedComponent,\r\n ImpersonationComponent,\r\n ],\r\n})\r\nexport class CoreModule {\r\n constructor(\r\n @Optional()\r\n @SkipSelf()\r\n core: CoreModule\r\n ) {\r\n if (core) {\r\n throw new Error('Core Module can only be imported in AppModule.');\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n Router,\r\n CanLoad,\r\n Route,\r\n UrlSegment,\r\n} from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { UserService } from '../services/user.service';\r\nimport { map, take } from 'rxjs/operators';\r\nimport { LoginService } from '@uiowa/uiowa-header';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RoleGuard implements CanActivate, CanLoad {\r\n constructor(\r\n private router: Router,\r\n private readonly userService: UserService,\r\n private readonly loginService: LoginService\r\n ) {}\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): boolean | Observable | Promise {\r\n this.loginService.returnUri = state.url;\r\n const roles = (route.data.roles || []) as Array;\r\n return this.userService.user$.pipe(\r\n map((u) => {\r\n if (!u.isAuthenticated()) {\r\n this.loginService.login();\r\n return false;\r\n }\r\n if (!roles.some(r=>u.roles.has(r))) {\r\n this.router.navigateByUrl('/access-denied');\r\n return false;\r\n }\r\n return true;\r\n })\r\n );\r\n }\r\n\r\n canLoad(\r\n route: Route,\r\n segments: UrlSegment[]\r\n ): Observable | Promise | boolean {\r\n const navigation = this.router.getCurrentNavigation();\r\n this.loginService.returnUri = navigation?.extractedUrl.toString() || '/';\r\n const roles = (route.data.roles || []) as Array;\r\n return this.userService.user$.pipe(\r\n take(1),\r\n map((u) => {\r\n if (!u.isAuthenticated()) {\r\n this.loginService.login();\r\n return false;\r\n }\r\n if (!roles.some(r=>u.roles.has(r))) {\r\n this.router.navigateByUrl('/access-denied');\r\n return false;\r\n }\r\n return true;\r\n })\r\n );\r\n }\r\n}\r\n","import { from } from 'rxjs';\r\n\r\nexport { ApplicationUser } from './models/application-user';\r\nexport { Expense } from './models/expense';\r\nexport { Comment } from './models/comment';\r\nexport { XpReport } from './models/xpreport';\r\nexport { UserService } from './services/user.service';\r\nexport { ImpersonationService } from './services/impersonation.service';\r\nexport { RoleGuard } from './guards/role.guard';\r\nexport { ExpensesService } from './services/expenses.service';\r\nexport { XpReportsService } from './services/xpreports.service';\r\nexport { ConfigService } from './services/config.service';\r\nexport { PersonService } from './services/person.service';\r\nexport { PCardService } from './services/pcard.service';\r\nexport { AppEventsService } from './services/app-events.service';\r\nexport { FavoritesService } from './services/favorites.service';\r\nexport { NotificationsService } from './services/notifications.service';\r\nexport { UssService } from './services/uss-service';\r\nexport { TripService } from './services/trip.service';\r\nexport { TestingService } from './services/testing.service';\r\nexport { Util } from './util/util';\r\nexport { AppRouteReuseStrategy } from './util/app-route-reuse-strategy';\r\nexport { AccessDeniedComponent } from './components/access-denied/access-denied.component';\r\nexport { ImpersonationComponent } from './components/impersonation/impersonation.component';\r\nexport { CoreModule } from './core.module';\r\n","import { Util } from \"../util/util\";\r\nimport { Attachment } from \"./attachment\";\r\n\r\nexport class HubFile extends Attachment {\r\n mfk: string;\r\n bjust: string;\r\n\r\n static fromJson(c: HubFile) {\r\n return Object.assign(new HubFile(), Util.FixDates(c, Attachment.Dates));\r\n }\r\n\r\n}","import { Util } from \"../util/util\";\r\n\r\n// $$Implements SW.BE.XI.TRVL_AVDSRY.DTO\r\nexport class Advisory {\r\n level: number;\r\n title: string;\r\n publishedDate: Date = new Date();\r\n link: string;\r\n countryName: string;\r\n countryCode: string;\r\n description: string;\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new Advisory());\r\n static fixDates(a:Advisory) {\r\n return Util.FixDates(a, Advisory.Dates);\r\n }\r\n}","export enum AppEventType {\r\n ExpenseStateChanged = 'XP_STATE',\r\n ExpenseReportStateChanged = 'XPR_STATE',\r\n UrlUpdated = 'AE_URL'\r\n}\r\n\r\nexport class AppEvent {\r\n constructor(\r\n public type: AppEventType,\r\n public payload: T,\r\n ) { }\r\n}\r\n","export class ApplicationUser {\r\n /**\r\n * Application User View Model.\r\n */\r\n roles = new Set();\r\n constructor(\r\n public id: number = 0,\r\n public loginId: string = '',\r\n public originalUser?: string | null,\r\n roles: Set=null\r\n ) {\r\n roles&&roles.forEach(r => {this.roles.add(r)});\r\n }\r\n\r\n isAuthenticated(): boolean {\r\n return !!this.loginId;\r\n }\r\n\r\n isBasicUser(): boolean {\r\n return (\r\n this.roles.has('BasicUser')\r\n );\r\n }\r\n\r\n isAdmin(): boolean {\r\n return this.roles.has('Admin');\r\n }\r\n\r\n isAuditor(): boolean {\r\n return this.roles.has('Auditor');\r\n }\r\n\r\n isSharedService(): boolean {\r\n return this.roles.has('SharedService');\r\n }\r\n\r\n isAdminOrAuditor(): boolean {\r\n return this.isAdmin() || this.isAuditor();\r\n }\r\n}\r\n","import { Util } from \"../util/util\";\r\n\r\n// $$Implements SW.BE.DTO.ATT\r\nexport class Attachment {\r\n id: number = 0;\r\n filename: string = \"\";\r\n comment: string = \"\";\r\n entityId: number = 0;\r\n deleted: boolean = false;\r\n creator: string = \"\";\r\n createdOn: Date = new Date();\r\n modifiedBy?: string = \"\";\r\n modifiedOn?: Date = new Date();\r\n editable?: boolean = false;\r\n hasMenu?: boolean;\r\n selected?: boolean;\r\n tags?: string[];\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new Attachment());\r\n static fixDates(c: Attachment) {\r\n return Util.FixDates(c, Attachment.Dates);\r\n }\r\n static fromJson(c: Attachment) {\r\n return Object.assign(new Attachment(), Util.FixDates(c, Attachment.Dates));\r\n }\r\n\r\n public get isUsed():boolean {\r\n return this.tags?.some(t=>t==\"used\");\r\n }\r\n}\r\n","import { Util } from \"../util/util\";\r\n\r\n// $$Implements SW.BE.DTO.CHNG\r\nexport class Change {\r\n creator: string=\"\";\r\n createdOn: Date= new Date();\r\n property: string = \"\";\r\n entity?: string = \"\";\r\n entityId?: number = 0;\r\n oldValue: string = \"\";\r\n newValue: string = \"\";\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new Change());\r\n static fixDates(c: Change) {\r\n return Util.FixDates(c, Change.Dates);\r\n }\r\n\r\n public static render(c:Change): string {\r\n let res = `${c.creator ?? \"???\"} on ${Util.dateTimeString(c.createdOn)} `;\r\n let prop = c.property + (c.entity ? ` of ${c.entity}` : '');\r\n if (c.oldValue && c.newValue)\r\n res += `changed ${prop} from \"${c.oldValue}\" to \"${c.newValue}\"`\r\n else if (!c.oldValue && c.newValue)\r\n res += `added ${prop}: \"${c.newValue}\"`\r\n else if (c.oldValue && !c.newValue)\r\n res += `deleted ${prop}: \"${c.oldValue}\"`\r\n return res;\r\n }\r\n\r\n\r\n}","import { Util } from \"../util/util\";\r\n\r\n// $$Implements SW.BE.DTO.CMNT\r\nexport class Comment {\r\n id: number = 0;\r\n text: string = \"\";\r\n viewTypeCd?: string = \"\";\r\n deleted: boolean = false;\r\n editable?: boolean = false;\r\n entityId?: number = 0;\r\n creator: string = \"\";\r\n createdOn: Date = new Date();\r\n modifiedBy?: string = \"\";\r\n modifiedOn?: Date = new Date();\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new Comment());\r\n static fixDates(c:Comment) {\r\n return Util.FixDates(c,Comment.Dates);\r\n }\r\n}\r\n","import { Transaction } from \"./transaction\";\r\nimport { Util } from \"../util/util\";\r\nimport { Comment } from \"./comment\";\r\nimport { XpDistribution } from \"./xp-distribution\";\r\nimport { Attachment } from \"./attachment\";\r\nimport { Change } from \"./change\";\r\n\r\n// $$Implements SW.BE.DTO.XP\r\nexport class Expense {\r\n id: number = 0;\r\n personId: number = 0;\r\n loginId: string = \"\";\r\n personName: string = \"\";\r\n xprId?: number = 0;\r\n postdate: Date = new Date();\r\n vendor: string = \"\";\r\n amount: number = 0;\r\n debit?: number = undefined;\r\n credit?: number = undefined;\r\n reconciled: number = 0;\r\n disputed: boolean = false;\r\n trip: boolean = false;\r\n description: string = \"\";\r\n lineNumber: number = 0;\r\n xctn?: Transaction;\r\n editable?: boolean;\r\n commentable?: boolean;\r\n reconciler?: boolean;\r\n defaultAcc?: string;\r\n last4?: string;\r\n auditError?: number;\r\n comments?: Comment[];\r\n commentCount?: number;\r\n distributions?: XpDistribution[];\r\n attachments?: Attachment[];\r\n changes?: Change[];\r\n selected?: boolean;\r\n\r\n readonly dates: string[] = Expense.Dates;\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new Expense());\r\n static fixDates(e:Expense) {\r\n if (e.xctn)\r\n Transaction.fixDates(e.xctn);\r\n if (e.comments)\r\n e.comments.map(c=>Comment.fixDates(c));\r\n if (e.distributions)\r\n e.distributions.map(c=>XpDistribution.fixDates(c));\r\n if (e.attachments)\r\n e.attachments.map(c => Attachment.fixDates(c));\r\n if (e.changes)\r\n e.changes.map(c => Change.fixDates(c));\r\n return Util.FixDates(e, Expense.Dates);\r\n }\r\n\r\n public get attCount(): number {\r\n return this.attachments?.reduce((v,a)=>v+(a.deleted?0:1),0) ?? 0;\r\n }\r\n\r\n public get distCount(): number {\r\n return this.distributions?.length ?? 0;\r\n }\r\n\r\n public get att1(): string {\r\n let res= 'Add attachment';\r\n if (this.attCount)\r\n res = this.getAtt(0).filename;\r\n return res;\r\n }\r\n\r\n public getAtt(idx:number): Attachment {\r\n let atts= this.attachments?.filter(a=>!a.deleted);\r\n return atts && atts.length>idx?atts[idx]:undefined;\r\n }\r\n}\r\n\r\n","import { Util } from \"../util/util\";\r\n\r\n// $$Implements SW.BE.DTO.FavAccount\r\nexport class FavAccount {\r\n id: number = 0;\r\n account: string = \"\";\r\n description: string = \"\";\r\n valid?: boolean = false;\r\n editor?: string = \"\";\r\n modifiedOn?: Date = new Date();\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new FavAccount());\r\n static fixDates(r: FavAccount) {\r\n return Util.FixDates(r, FavAccount.Dates);\r\n }\r\n}\r\n\r\n","import { Util } from \"../util/util\";\r\nimport { NotificationSubj } from \"./notificationSubj\";\r\n\r\n// $$Implements SW.BE.DTO.N10N\r\nexport class Notification extends NotificationSubj {\r\n body = \"\";\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new Notification());\r\n static fixDates(e: Notification) {\r\n return Util.FixDates(e, Notification.Dates);\r\n }\r\n\r\n}","import { Util } from \"../util/util\";\r\n\r\n// $$Implements SW.BE.DTO.N10N_SUBJ\r\nexport class NotificationSubj {\r\n id = 0;\r\n createdOn: Date = new Date();\r\n viewedOn?: Date = new Date();\r\n emailed?: boolean = false;\r\n deleted?: boolean = false;\r\n recipient?: string = \"\";\r\n subject = \"\";\r\n type?=\"\";\r\n optOut?=false;\r\n canOptOut?=false;\r\n \r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new NotificationSubj());\r\n static fixDates(e: NotificationSubj) {\r\n return Util.FixDates(e, NotificationSubj.Dates);\r\n }\r\n\r\n}","import { Person } from \"./person\";\r\n\r\nexport interface OrgUnit {\r\n accessScope:string;\r\n description:string;\r\n uss?:boolean;\r\n ussEmails?:string[];\r\n units?:{[Code:string]:OrgUnit};\r\n favorite?: boolean;\r\n expanded?: boolean;\r\n people?: Person[];\r\n}\r\n\r\nexport function filterUnits(unit: OrgUnit, pred: (u: OrgUnit) => boolean, deep?: boolean): OrgUnit[] {\r\n let res: OrgUnit[] = [];\r\n if (pred(unit))\r\n res.push(unit);\r\n if ((deep || !res.length) && unit.units)\r\n res = res.concat(Object.values(unit.units).reduce((p, c) => p.concat(filterUnits(c, pred, deep)), []));\r\n return res;\r\n}\r\n\r\nexport function reduceUnits(unit: OrgUnit, callbackfn: (previousValue: T, currentValue: OrgUnit) => T, initialValue: T): T {\r\n let res = callbackfn(initialValue, unit);\r\n if (unit.units)\r\n res = Object.values(unit.units).reduce((p, c) => reduceUnits(c, callbackfn, p), res);\r\n return res;\r\n}\r\n\r\nexport function iterateUnits(unit: OrgUnit, cb: (u: OrgUnit) => void) {\r\n cb(unit);\r\n if (unit.units)\r\n Object.values(unit.units).forEach((u) => iterateUnits(u,cb));\r\n}\r\n\r\n","import { Util } from \"../util/util\";\r\n\r\nexport class Passport {\r\n id = 0;\r\n number = \"\";\r\n countryId = \"\";\r\n country = \"\";\r\n expiryDate = new Date();\r\n issueDate = new Date();\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new Passport());\r\n static fixDates(e: Passport) {\r\n return Util.FixDates(e, Passport.Dates);\r\n }\r\n\r\n}","import { AddrCity } from \"./addr-city\";\r\nimport { Advisory } from \"./advisory\";\r\nimport { Change } from \"./change\";\r\nimport { Role } from \"./role\";\r\n\r\n// $$Implements SW.BE.DTO.PERSON\r\nexport class Person implements AddrCity {\r\n name: string = \"\";\r\n firstName?: string = \"\";\r\n lastName?: string = \"\";\r\n middleName?: string = \"\";\r\n loginId?: string = \"\";\r\n univId?: string = \"\";\r\n emplId?: string = \"\";\r\n campusAddress?: string = \"\";\r\n campusPhone?: string = \"\";\r\n id?: number = 0;\r\n address?: string = \"\";\r\n department?: string = \"\";\r\n type?: string = \"\";\r\n email?: string;\r\n phone?: string;\r\n\r\n addr1?: string = \"\";\r\n addr2?: string;\r\n addr3?: string;\r\n zip?: string = \"\";\r\n\r\n roles?: Role[] = [];\r\n roleHistory?: Change[] = [];\r\n\r\n country: string;\r\n countryCode?: string;\r\n stateCode?: string;\r\n cityCode?: number;\r\n cityName: string =\"\";\r\n cityStateCountry: string;\r\n advisory?: Advisory;\r\n\r\n favorite?: boolean = false;\r\n\r\n static studentEmployeeTypes = new Set([\"Faculty/Staff and Student\", \"Student Employee\"])\r\n public static isStudentEmployee(p:Person) {\r\n return Person.studentEmployeeTypes.has(p.type);\r\n }\r\n\r\n static fixDates(p:Person) {\r\n if (p.roles)\r\n p.roles.map(c => Role.fixDates(c));\r\n if (p.roleHistory)\r\n p.roleHistory.map(c => Change.fixDates(c));\r\n if (p.advisory)\r\n Advisory.fixDates(p.advisory);\r\n return p;\r\n }\r\n}","import { Util } from \"../util/util\";\r\nimport { PCard } from \"./pcard\";\r\nimport { Person } from \"./person\";\r\n\r\nexport class Role {\r\n id: number;\r\n roleId: number;\r\n person?: Person;\r\n accScope?: string;\r\n pcard?: PCard;\r\n scope: string;\r\n creator: Person;\r\n createdOn: Date = new Date();\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new Role());\r\n static fixDates(r: Role) {\r\n return Util.FixDates(r, Role.Dates);\r\n }\r\n}","import { Util } from \"../util/util\";\r\n\r\nexport class StatusChange {\r\n id: number = 0;\r\n entityId: number = 0;\r\n statusId: number = 0;\r\n creator: string = \"\";\r\n createdOn: Date = new Date();\r\n modifiedBy?: string = \"\";\r\n modifiedOn?: Date = new Date();\r\n memo?: string = \"\";\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new StatusChange());\r\n static fixDates(c:StatusChange) {\r\n return Util.FixDates(c, StatusChange.Dates);\r\n }\r\n}\r\n\r\n","import { Util } from \"../util/util\";\r\n\r\nexport class LineItemSummary {\r\n shippingCost: number = 0;\r\n lineItemDetails: LineItemDetail[];\r\n}\r\n\r\nexport class LineItemDetail {\r\n itemName: string = \"\";\r\n quantity: number = 0;\r\n unitMeasure: string = \"\";\r\n unitCost: number = 0;\r\n itemTotalAmount: number = 0;\r\n itemCommodityCode: string = \"\";\r\n itemProductCode: string = \"\";\r\n correctionMessage: string = \"\";\r\n}\r\n\r\nexport class PassengerItinerary {\r\n ticketNumber: string = \"\";\r\n passangerName: string = \"\";\r\n legInformation: LegInformation[];\r\n}\r\n\r\nexport class LegInformation {\r\n legNumber: number = 0;\r\n travelFrom: string = \"\";\r\n travelTo: string = \"\";\r\n dateOfTravel: Date = new Date();\r\n isFinalDestination: boolean = false;\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new LegInformation());\r\n static fixDates(l: LegInformation) {\r\n return Util.FixDates(l, LegInformation.Dates);\r\n }\r\n}\r\n\r\nexport class Transaction{\r\n id: number = 0;\r\n accountNumber: string = \"\";\r\n transactionReferenceNumber: string = \"\";\r\n sequenceNumber: number = 0;\r\n transactionDate: Date = new Date();\r\n postingDate: Date = new Date();\r\n billingAmount: number = 0;\r\n supplierName: string = \"\";\r\n supplierCity: string = \"\";\r\n supplierStateProvinceCode: string = \"\";\r\n merchantCategoryCode: number = 0;\r\n billingAccountNumber: string = \"\";\r\n customerCodeCri: string = \"\";\r\n purchaseIdentification: string = \"\";\r\n lineItemSummary?: LineItemSummary;\r\n passengerItinerary?: PassengerItinerary;\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new Transaction());\r\n static fixDates(t: Transaction) {\r\n if (t.passengerItinerary)\r\n t.passengerItinerary.legInformation.forEach(l => LegInformation.fixDates(l));\r\n return Util.FixDates(this, Transaction.Dates);\r\n }\r\n}\r\n","import { Util } from \"../util/util\";\r\n\r\nexport class TripDestBan {\r\n id: number = 0;\r\n countryId: string = \"\";\r\n country: string = \"\";\r\n beginDate: Date = new Date();\r\n endDate: Date = new Date();\r\n description: string = \"\";\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new TripDestBan());\r\n\r\n static fixDates(e: TripDestBan) {\r\n return Util.FixDates(e, TripDestBan.Dates);\r\n }\r\n}","import { nameof } from \"ts-simple-nameof\";\r\nimport { Util } from \"../util/util\";\r\nimport { AddrCity } from \"./addr-city\";\r\nimport { Address } from \"./address\";\r\nimport { Advisory } from \"./advisory\";\r\n\r\n// $$Implements SW.BE.DTO.CITY\r\nexport class City {\r\n name: string;\r\n code?: number;\r\n}\r\n\r\n// $$Implements SW.BE.DTO.STATE\r\nexport class State {\r\n name: string;\r\n code?: string;\r\n cities: City[]\r\n}\r\n\r\n// $$Implements SW.BE.DTO.CNTRY\r\nexport class Country {\r\n name: string;\r\n code?: string;\r\n states: {[key:string]:State}\r\n}\r\n\r\n// $$Implements SW.BE.DTO.TRIP_DEST\r\nexport class TripDest implements AddrCity {\r\n id: number = 0;\r\n begin: Date = new Date();\r\n end: Date = new Date();\r\n comment: string = \"\";\r\n country: string = \"\";\r\n countryCode?: string = \"\";\r\n stateCode?: string = \"\";\r\n cityCode?: number = 0;\r\n cityName: string = \"\";\r\n cityStateCountry: string = \"\";\r\n addresses: Address[] = [];\r\n org?: Address;\r\n advisory?: Advisory;\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new TripDest());\r\n static fixDates(r: TripDest) {\r\n return Util.FixDates(r, TripDest.Dates);\r\n }\r\n static compare = (a: TripDest, b: TripDest) => (a.begin > b.begin) ? 1 : (a.begin < b.begin) ? -1 : (a.end > b.end) ? 1 : (a.end < b.end) ? -1 : a.cityStateCountry.localeCompare(b.cityStateCountry)\r\n}","import { Util } from \"../util/util\";\r\n\r\nexport class TripPersonalDate {\r\n id: number = 0;\r\n begin: Date = new Date();\r\n end: Date = new Date();\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new TripPersonalDate());\r\n static fixDates(c: TripPersonalDate) {\r\n return Util.FixDates(c, TripPersonalDate.Dates);\r\n }\r\n\r\n static compare = (a:TripPersonalDate, b:TripPersonalDate) => (a.begin > b.begin) ? 1 : (a.begin < b.begin) ? -1 : (a.end > b.end) ? 1 : (a.end < b.end) ? -1 : 0\r\n}\r\n","import { Util } from \"../util/util\";\r\nimport { Attachment } from \"./attachment\";\r\nimport { Change } from \"./change\";\r\nimport { Comment } from \"./comment\";\r\nimport { Expense } from \"./expense\";\r\nimport { Person } from \"./person\";\r\nimport { StatusChange } from \"./status-change\";\r\nimport { TripPersonalDate } from \"./trip-personal-date\";\r\nimport { TripContact } from \"./trip-contact\";\r\nimport { TripDest } from \"./trip-dest\";\r\n\r\n// $$Implements SW.BE.DTO.TRIP\r\nexport class Trip {\r\n id: number = 0;\r\n person: Person = new Person();\r\n isGroup?: boolean = false;\r\n purpose?: string = \"\";\r\n tripPurposeOther?: string = \"\";\r\n description?: string = \"\";\r\n emergencyDesc?: string = \"\";\r\n dest?: string = \"\";\r\n depart: Date = new Date();\r\n return: Date = new Date();\r\n pmntMethod?: string = \"\";\r\n justification?: string = \"\";\r\n justificationCmnt?: string = \"\";\r\n intrntnlCmnt?: string = \"\";\r\n reminderOptOut?: boolean = false;\r\n accountingVal?: string = \"\";\r\n aeAirfair?: number = 0;\r\n aeHotel?: number = 0;\r\n aeMeal?: number = 0;\r\n aeMileage?: number = 0;\r\n aeRegistration?: number = 0;\r\n aeOther?: number = 0;\r\n trvlAs?: string = \"\";\r\n travelerType?: string = \"\";\r\n personType?: string = \"\";\r\n apprvlRqrd?: boolean = false;\r\n wfPackageId?: number = 0;\r\n cancelled?: boolean = false;\r\n \r\n creator: string = \"\";\r\n createdOn: Date = new Date();\r\n modifiedBy: string = \"\";\r\n modifiedOn: Date = new Date();\r\n\r\n editable?: boolean = true;\r\n intrntnl?: boolean = false;\r\n emergency?: boolean = false;\r\n\r\n destinations: TripDest[] = [];\r\n contacts: TripContact[] = [];\r\n persDates: TripPersonalDate[] = [];\r\n comments?: Comment[] = [];\r\n attachments?: Attachment[] = [];\r\n statusChanges?: StatusChange[] = [];\r\n changes?: Change[] = [];\r\n expenses?: Expense[] = [];\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new Trip());\r\n static fixDates(t: Trip) {\r\n if (t.destinations)\r\n t.destinations.map(d => TripDest.fixDates(d));\r\n if (t.persDates)\r\n t.persDates.map(d => TripPersonalDate.fixDates(d));\r\n if (t.comments)\r\n t.comments.map(c => Comment.fixDates(c));\r\n if (t.statusChanges)\r\n t.statusChanges.map(c => StatusChange.fixDates(c));\r\n if (t.changes)\r\n t.changes.map(c => Change.fixDates(c));\r\n if (t.attachments)\r\n t.attachments.map(x => Attachment.fixDates(x));\r\n return Util.FixDates(t, Trip.Dates);\r\n }\r\n\r\n}","import { Util } from \"../util/util\";\r\n\r\n// $$Implements SW.BE.DTO.XP_DIST\r\nexport class XpDistribution {\r\n id: number = 0;\r\n xpid?: number = 0;\r\n creator?: string = \"\";\r\n createdOn?: Date = new Date();\r\n modifiedBy?: string = \"\";\r\n modifiedOn?: Date = new Date();\r\n description: string = \"\";\r\n amount: number = 0;\r\n account: string = \"\";\r\n slid: string;\r\n slac: string;\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new XpDistribution());\r\n static fixDates(c: XpDistribution) {\r\n return Util.FixDates(c, XpDistribution.Dates);\r\n }\r\n\r\n fullAcct() {\r\n return this.account + (this.slid ? ` ${this.slid}/${this.slac}` : \"\");\r\n }\r\n}","import { Expense } from \"./expense\";\r\nimport { StatusChange } from \"./status-change\";\r\nimport { Comment } from \"./comment\";\r\nimport { Util } from \"../util/util\";\r\nimport { Attachment } from \"./attachment\";\r\nimport { Change } from \"./change\";\r\n\r\n// $$Implements SW.BE.DTO.XPR\r\nexport class XpReport {\r\n id: number = 0;\r\n personId: number = 0;\r\n personName: string = \"\";\r\n loginId: string = \"\";\r\n creator: string = \"\";\r\n createdOn: Date = new Date();\r\n modifiedBy: string = \"\";\r\n modifiedOn: Date = new Date();\r\n glId: string = \"\";\r\n description?: string = \"\";\r\n packageId: number = 0;\r\n status: number=0;\r\n statusChanges?: StatusChange[];\r\n numExp: number=0;\r\n numRecExp: number=0;\r\n editable?: boolean;\r\n commentable?: boolean;\r\n canPassAudit?: boolean;\r\n reconciler?: boolean;\r\n comments?: Comment[];\r\n expenses?: Expense[];\r\n attachments?: Attachment[];\r\n changes?: Change[];\r\n\r\n static readonly Dates: string[] = Util.DatePropertiesKeys(new XpReport());\r\n static fixDates(r:XpReport) {\r\n if (r.comments)\r\n r.comments.map(c=>Comment.fixDates(c));\r\n if (r.statusChanges)\r\n r.statusChanges.map(c=>StatusChange.fixDates(c));\r\n if (r.expenses)\r\n r.expenses.map(x=>Expense.fixDates(x));\r\n if (r.attachments)\r\n r.attachments.map(x=>Attachment.fixDates(x));\r\n if (r.changes)\r\n r.changes.map(x=>Change.fixDates(x));\r\n return Util.FixDates(r,XpReport.Dates);\r\n }\r\n}\r\n","import { ErrorHandler, Inject, Injector, Injectable } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable()\r\nexport class AppErrorHandler extends ErrorHandler {\r\n constructor(@Inject(Injector) private injector: Injector) {\r\n super();\r\n }\r\n\r\n private get toastrService(): ToastrService {\r\n return this.injector.get(ToastrService);\r\n }\r\n\r\n public handleError(error: any): void {\r\n if (error instanceof HttpErrorResponse) {\r\n if (error.status === 0) {\r\n this.toastrError(\r\n `Developers have been notified and will resolve this issue soon.`,\r\n `System Error`\r\n );\r\n } else {\r\n this.toastrError(error.error || error.message || 'error');\r\n }\r\n } else if (error instanceof TypeError) {\r\n this.toastrError(error.message, 'TypeScript Type error.');\r\n } else if (error instanceof Error) {\r\n this.toastrError(error.message);\r\n } else {\r\n this.toastrError('Something unexpected happened...');\r\n }\r\n super.handleError(error);\r\n }\r\n\r\n private toastrError(msg: string, title?: string) {\r\n this.toastrService.error(msg, title, {\r\n closeButton: true,\r\n timeOut: 5000,\r\n onActivateTick: true,\r\n });\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { AppEvent, AppEventType } from \"../models/app-event\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AppEventsService {\r\n\r\n private eventBrocker = new Subject>();\r\n\r\n on(...eventTypes: AppEventType[]): Observable> {\r\n return this.eventBrocker.pipe(filter(event => eventTypes.some(t => event.type === t)));\r\n }\r\n\r\n dispatch(event: AppEvent): void {\r\n this.eventBrocker.next(event);\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ApplicationConfig } from '../models/application-config';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfigService {\r\n private static _config: ApplicationConfig;\r\n get current(): ApplicationConfig {\r\n return { ...ConfigService._config };\r\n }\r\n public init(): Promise {\r\n return this.httpClient\r\n .get('api/config')\r\n .toPromise()\r\n .then((c) => {\r\n ConfigService._config = c;\r\n return { ...ConfigService._config };\r\n })\r\n .catch(() => {\r\n ConfigService._config = null;\r\n return { ...ConfigService._config };\r\n });\r\n }\r\n constructor(private readonly httpClient: HttpClient) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { Dataset, DatasetCommand } from '../models/dataset';\r\nimport { AppEventsService, Util } from '..';\r\n\r\nimport { Expense } from '../models/expense';\r\nimport { XpDistribution } from '../models/xp-distribution';\r\nimport { AppEvent, AppEventType } from '../models/app-event';\r\n\r\n@Injectable()\r\nexport class ExpensesService {\r\n constructor(\r\n private http: HttpClient,\r\n private aeBus: AppEventsService\r\n ) { } \r\n\r\n // $$Implements SW.FE.XP.PAGE\r\n getAll(cmd: DatasetCommand): Observable> {\r\n let params = Util.CommandToHttpParams(cmd);\r\n return this.http.get>(\"api/expenses/all\", { params }).pipe(\r\n map(ds => {\r\n ds.data.forEach(d => Expense.fixDates(d));\r\n return ds;\r\n })\r\n );\r\n }\r\n\r\n private _counts = new BehaviorSubject (new Object());\r\n counts$: Observable = this._counts.asObservable();\r\n\r\n getCounts(types:string[]) {\r\n types.forEach(t => {\r\n this.http.get(`api/expenses/counts/${t}`)\r\n .subscribe(\r\n v=>this._counts.next(Object.fromEntries([[t,v]])),\r\n e => this._counts.next(Object.fromEntries([[t, NaN]]))\r\n )\r\n });\r\n }\r\n\r\n // $$Implements SW.FE.XP.PAGE.DTL\r\n getExpDetails(xpid: number) : Observable {\r\n return this.http.get(`api/expenses/${xpid}`).pipe(\r\n map(x => Expense.fixDates(x))\r\n );\r\n }\r\n\r\n // $$Implements SW.FE.PAGE.DTL.DIST_EDIT_SBMT\r\n putDistribution(xp: Expense, dist:XpDistribution):Observable {\r\n return this.http.put(`api/expenses/${xp.id}`, dist).pipe(\r\n tap( r => {\r\n if (xp.distributions?.length == 0)\r\n this.aeBus.dispatch(new AppEvent(AppEventType.ExpenseStateChanged, [xp.id]));\r\n })\r\n );\r\n }\r\n\r\n updateDistributions(expid:number, dists:XpDistribution[]): Observable {\r\n return this.http.put(`api/expenses/${expid}/dists`, dists);\r\n }\r\n\r\n\r\n // $$Implements SW.FE.XP.PAGE.DTL.DST_DEL\r\n delDistribution(id: number):Observable {\r\n return this.http.delete(`api/expenses/dist/${id}`);\r\n }\r\n\r\n delExpenseReportAttachment(id: number):Observable {\r\n return this.http.delete(`api/expenses/att/xpr/${id}`);\r\n }\r\n\r\n delExpenseAttachment(id: number):Observable {\r\n return this.http.delete(`api/expenses/att/${id}`);\r\n }\r\n\r\n attachFromHub(xpid: number, fileid: number): Observable {\r\n return this.http.post(`api/expenses/${xpid}/att/${fileid}`,null);\r\n }\r\n\r\n // $$Implements SW.FE.XP.PAGE.DTL.CMNTS.CREATE.ACT\r\n addComment(xpid: number, comment: string, prvt: boolean): Observable {\r\n return this.http.post(`api/expenses/${xpid}/cmnt`, {comment,prvt});\r\n }\r\n\r\n updateAttachmentComment(id: number, comment: string): Observable {\r\n return this.http.put(`api/expenses/att/${id}`, {comment});\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { map, tap } from \"rxjs/operators\";\r\nimport { FavLink } from \"../models/fav-link\";\r\nimport { UserService } from \"./user.service\";\r\nimport { Person } from \"../models/person\";\r\nimport { OrgUnit } from \"../models/org-unit\";\r\nimport { FavAccount } from \"../models/fav-account\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FavoritesService {\r\n constructor (\r\n private http: HttpClient,\r\n private readonly userService: UserService,\r\n ) {\r\n this.userService.user$.subscribe(user => {\r\n if (user.id && user.id != FavoritesService.userId) {\r\n FavoritesService.userId = user.id;\r\n this.init();\r\n }\r\n });\r\n }\r\n private static userId:number;\r\n private static _links: FavLink[];\r\n private static _urlMap:{[url:string]:FavLink} = {};\r\n get favorites(): FavLink[] {\r\n if (!FavoritesService._links)\r\n return [];\r\n return [...FavoritesService._links];\r\n }\r\n private static _myUnits = new BehaviorSubject(null);\r\n myUnits$: Observable = FavoritesService._myUnits.asObservable();\r\n private static _accounts = new BehaviorSubject(null);\r\n accounts$: Observable = FavoritesService._accounts.asObservable();\r\n\r\n init(): Promise {\r\n if (!FavoritesService.userId)\r\n return;\r\n this.updateMyUnits();\r\n\r\n this.updateAccounts();\r\n \r\n return this.http\r\n .get('api/favs/lnk')\r\n .toPromise()\r\n .then((a) => {\r\n FavoritesService._urlMap = {};\r\n let m = [];\r\n a.forEach(l => { \r\n m.push(l);\r\n FavoritesService._urlMap[l.url]=l;\r\n });\r\n m.sort((x, y) => x.description.localeCompare(y.description));\r\n FavoritesService._links = m;\r\n return {...FavoritesService._links};\r\n })\r\n .catch(() => {\r\n FavoritesService._links = [];\r\n FavoritesService._urlMap = {};\r\n return { ...FavoritesService._links };\r\n });\r\n }\r\n\r\n \r\n userLinks(id:number):Observable {\r\n return this.http\r\n .get(`api/favs/lnk/${id}`)\r\n .pipe(map((a) => {\r\n let m = [...a];\r\n m.sort((x, y) => x.description.localeCompare(y.description));\r\n return m;\r\n })\r\n );\r\n }\r\n\r\n isUrlAdded(url:string): boolean {\r\n return FavoritesService._urlMap.hasOwnProperty(url);\r\n }\r\n\r\n getLink(url:string):FavLink {\r\n return FavoritesService._urlMap[url];\r\n }\r\n\r\n addLink(fav: FavLink): Observable {\r\n return this.http.post(`api/favs/lnk`, fav).pipe(\r\n tap(r=>{\r\n FavoritesService._links.push(fav);\r\n FavoritesService._links.sort((x, y) => x.description.localeCompare(y.description))\r\n FavoritesService._urlMap[fav.url]=fav;\r\n })\r\n );\r\n }\r\n\r\n updateLink(fav: FavLink): Observable {\r\n return this.http.put(`api/favs/lnk`, fav).pipe(\r\n tap(r=>{\r\n let l = FavoritesService._urlMap[fav.url];\r\n l.description = fav.description;\r\n FavoritesService._links.sort((x, y) => x.description.localeCompare(y.description))\r\n })\r\n );\r\n }\r\n\r\n delLink(fav: FavLink): Observable {\r\n return this.http.delete(`api/favs/lnk`, {body:fav}).pipe(\r\n tap(r=>{\r\n let l = FavoritesService._urlMap[fav.url];\r\n let a = FavoritesService._links;\r\n a.splice(a.indexOf(l),1);\r\n delete(FavoritesService._urlMap[fav.url]);\r\n })\r\n );\r\n }\r\n\r\n userPeople(id?: number): Observable {\r\n return this.http\r\n .get(`api/favs/ppl/${id||''}`)\r\n .pipe(map((a) => {\r\n let m = [...a];\r\n m.sort((x, y) => x.name.localeCompare(y.name));\r\n return m;\r\n })\r\n );\r\n }\r\n\r\n addPerson(id:number): Observable {\r\n return this.http.post(`api/favs/ppl/${id}`, null);\r\n }\r\n\r\n removePerson(id:number): Observable {\r\n return this.http.delete(`api/favs/ppl/${id}`);\r\n }\r\n\r\n updateMyUnits() {\r\n this.http.get('api/person/units')\r\n .toPromise()\r\n .then((units) => {\r\n FavoritesService._myUnits.next(units);\r\n });\r\n }\r\n\r\n userUnits(id?: number): Observable {\r\n return this.http.get(`api/person/units/${id || ''}`);\r\n }\r\n\r\n\r\n updateFavUnits(units: string[]): Observable {\r\n return this.http.put(`api/favs/units`,units);\r\n }\r\n\r\n updateAccounts() {\r\n return this.http.get('api/favs/acc')\r\n .toPromise()\r\n .then((accounts) => {\r\n FavoritesService._accounts.next(accounts);\r\n });\r\n }\r\n\r\n addAccnt(fav: FavAccount): Observable {\r\n return this.http.post(`api/favs/acc`, fav);\r\n }\r\n\r\n updateAccnt(fav: FavAccount): Observable {\r\n return this.http.put(`api/favs/acc`, fav);\r\n }\r\n\r\n delAccnt(fav: FavAccount): Observable {\r\n return this.http.delete(`api/favs/acc`, { body: {id:fav.id} });\r\n }\r\n}","import {\r\n HttpHandler,\r\n HttpProgressEvent,\r\n HttpInterceptor,\r\n HttpSentEvent,\r\n HttpHeaderResponse,\r\n HttpUserEvent,\r\n HttpRequest,\r\n HttpResponse\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class HttpCacheControlService implements HttpInterceptor {\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable<\r\n | HttpSentEvent\r\n | HttpHeaderResponse\r\n | HttpProgressEvent\r\n | HttpResponse\r\n | HttpUserEvent\r\n > {\r\n const nextReq = req.clone({\r\n headers: req.headers\r\n .set('Cache-Control', 'no-cache')\r\n .set('Pragma', 'no-cache')\r\n .set('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT')\r\n .set('If-Modified-Since', '0')\r\n });\r\n\r\n return next.handle(nextReq);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { UserService } from './user.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ImpersonationService {\r\n constructor(\r\n private router: Router,\r\n private readonly httpClient: HttpClient,\r\n private readonly userService: UserService,\r\n private readonly toastr: ToastrService\r\n ) {}\r\n\r\n impersonate(hawkIdToBeImpersonated: string, url?:string) {\r\n if (!hawkIdToBeImpersonated) {\r\n return;\r\n }\r\n url = url||'home';\r\n const request = { hawkId: hawkIdToBeImpersonated };\r\n this.httpClient.post('account/impersonation', request).subscribe(x => {\r\n if (x) {\r\n this.userService.getUser().then(() => {\r\n this.router.navigateByUrl(url, { replaceUrl: true });\r\n });\r\n } else {\r\n this.toastr.error(`You cannot impersonate ${hawkIdToBeImpersonated}.`);\r\n }\r\n });\r\n }\r\n\r\n stopImpersonate() {\r\n this.httpClient.post('account/impersonation/stop', null).subscribe(x => {\r\n if (x) {\r\n this.userService.getUser().then(() => {\r\n this.router.navigateByUrl('home');\r\n });\r\n } else {\r\n this.toastr.error(`You failed in stopping impersonation.`);\r\n }\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, interval, merge, of } from 'rxjs';\r\nimport { filter, map, startWith, switchMap, tap } from 'rxjs/operators';\r\nimport { NotificationSubj } from '../models/notificationSubj';\r\nimport { Notification } from '../models/notification';\r\nimport { Dataset, DatasetCommand } from '../models/dataset';\r\nimport { Util } from '../util/util';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { UserService } from './user.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NotificationsService {\r\n constructor(\r\n private http: HttpClient,\r\n private readonly userService: UserService,\r\n ) {\r\n this._new.closed = true;\r\n this.userService.user$.subscribe((u) => {\r\n if (u?.id) {\r\n this._new.closed = false;\r\n this.connection = new signalR.HubConnectionBuilder().withUrl(\"/hub/n10ns\").build();\r\n this.connection.on(\"new\", () => this._new.next(void 0));\r\n this.connection.start().catch(err => console.error(err.toString()))\r\n }\r\n });\r\n\r\n }\r\n connection: signalR.HubConnection;\r\n _new = new BehaviorSubject(void 0);\r\n update$:Observable = this._new.asObservable();\r\n \r\n top() {\r\n return this.http.get<{ unread: number, total: number, notifications: NotificationSubj[] }>(\"api/n10ns/top\").pipe(\r\n map(res => {\r\n res.notifications.forEach(d => NotificationSubj.fixDates(d));\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n get(cmd: DatasetCommand) {\r\n let params = Util.CommandToHttpParams(cmd);\r\n return this.http.get>(\"api/n10ns\", { params }).pipe(\r\n map(ds => {\r\n ds.data.forEach(d => NotificationSubj.fixDates(d));\r\n return ds;\r\n })\r\n );\r\n }\r\n\r\n getAdmin(cmd: DatasetCommand) {\r\n let params = Util.CommandToHttpParams(cmd);\r\n return this.http.get>(\"api/n10ns/adm\", { params }).pipe(\r\n map(ds => {\r\n ds.data.forEach(d => NotificationSubj.fixDates(d));\r\n return ds;\r\n })\r\n );\r\n }\r\n\r\n read(id:number) {\r\n return this.http.get(`api/n10ns/${id}`).pipe(\r\n map(nt => {\r\n Notification.fixDates(nt);\r\n return nt;\r\n })\r\n );\r\n }\r\n\r\n viewed(id:number) {\r\n return this.http.put(`api/n10ns/${id}`,null).pipe(\r\n tap(() => this._new.next(this._new.getValue()))\r\n );\r\n }\r\n\r\n delete(ids:number[]) {\r\n return this.http.delete(`api/n10ns`,{body:ids}).pipe(\r\n tap(() => this._new.next(this._new.getValue())),\r\n switchMap(()=>of(ids.length))\r\n );\r\n }\r\n\r\n optOut(cmd:{n10nId?:number,tmplId?:number}) {\r\n\r\n return this.http.post(`api/n10ns/optout`, Util.CommandToFormData(cmd), { responseType: \"text\" });\r\n }\r\n\r\n templateName(id:number) {\r\n return this.http.get(`api/n10ns/name/${id}`, { responseType: \"text\" });\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { PCard } from \"../models/pcard\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PCardService {\r\n\r\n constructor(\r\n private readonly http: HttpClient,\r\n ) {}\r\n\r\n search(qry: string): Observable {\r\n let params = new HttpParams()\r\n .append(\"qry\", qry);\r\n return this.http.get(\"api/pcard/search\", { params });\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Comment } from 'src/app/core/models/comment';\r\nimport { Attachment } from '../models/attachment';\r\nimport { Util } from '../util/util';\r\nimport { Person } from '../models/person';\r\nimport { UserService } from './user.service';\r\nimport { HubFile } from '../models/HubFile';\r\nimport { Passport } from '../models/passport';\r\nimport { Description } from '../models/description';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PersonService {\r\n constructor(\r\n private readonly http: HttpClient,\r\n private readonly userService: UserService,\r\n ) {\r\n this.userService.user$.subscribe(user => {\r\n if (user.id && user.id != PersonService.userId) {\r\n PersonService.userId = user.id;\r\n this.init();\r\n }\r\n });\r\n }\r\n\r\n private static userId: number;\r\n private static _myPplCnt = new BehaviorSubject(0);\r\n myPplCnt$: Observable = PersonService._myPplCnt.asObservable();\r\n private static _allMyPpl = new BehaviorSubject([]);\r\n allMyPpl$: Observable = PersonService._allMyPpl.asObservable();\r\n\r\n init(): Promise {\r\n PersonService._allMyPpl.next([]);\r\n PersonService._myPplCnt.next(0);\r\n if (!PersonService.userId)\r\n return;\r\n this.updateMyPplCnt();\r\n\r\n }\r\n\r\n // $$Implements SW.FE.XP.PAGE.DTL.PRSN_CMNT.API\r\n getComments(id: number): Observable {\r\n return this.http.get(`api/person/cmnt/${id}`).pipe(\r\n map(cmnts => {\r\n cmnts.forEach(c=>Comment.fixDates(c));\r\n return cmnts;\r\n })\r\n );\r\n }\r\n\r\n addComment(id: number, comment: string): Observable {\r\n return this.http.post(`api/person/${id}/cmnt`, { comment });\r\n }\r\n\r\n // $$Implements SW.FE.XP.PAGE.DTL.PRSN_CMNT.DEL\r\n deleteComment(id:number):Observable {\r\n return this.http.delete(`api/person/cmnt/${id}`);\r\n }\r\n\r\n // $$Implements SW.FE.HUB.PAGE.LIST\r\n getMyFiles():Observable {\r\n return this.http.get('api/person/att').pipe(\r\n map(files => {\r\n return files.map(f => HubFile.fromJson(f));\r\n })\r\n );\r\n }\r\n\r\n // $$Implements SW.FE.HUB.DLG\r\n getFiles(id:number):Observable {\r\n return this.http.get(`api/person/${id}/att`).pipe(\r\n map(files => {\r\n files.forEach(f => Attachment.fixDates(f));\r\n return files;\r\n })\r\n );\r\n }\r\n\r\n deleteFiles(ids:number[]):Observable{\r\n let params = Util.CommandToHttpParams({ids});\r\n return this.http.delete(`api/person/att`,{params});\r\n }\r\n\r\n copyFile(id:number,loginId:string):Observable{\r\n let params = Util.CommandToHttpParams({id,loginId});\r\n return this.http.post(`api/person/att/cp`,params);\r\n }\r\n\r\n moveFile(id:number,loginId:string):Observable{\r\n let params = Util.CommandToHttpParams({id,loginId});\r\n return this.http.post(`api/person/att/mv`,params);\r\n }\r\n\r\n renameFile(id:number,name:string):Observable{\r\n let params = Util.CommandToHttpParams({id,name});\r\n return this.http.put(`api/person/att/nm`,params);\r\n }\r\n\r\n updateFileExtras(f:HubFile):Observable{\r\n return this.http.put(`api/person/att/xtrs`,{id:f.id,mfk:f.mfk,bjust:f.bjust});\r\n }\r\n\r\n search(qry: string): Observable {\r\n let params = new HttpParams()\r\n .append(\"qry\", qry);\r\n return this.http.get(\"api/person/search\", { params });\r\n }\r\n\r\n lookup(loginId?:string): Observable {\r\n let params = new HttpParams();\r\n if (loginId)\r\n params = params.append(\"loginId\", loginId);\r\n return this.http.get(\"api/person/lookup\", { params });\r\n }\r\n\r\n searchMyPeople(qry: string): Observable {\r\n let params = new HttpParams().append(\"qry\", qry);\r\n return this.http.get(\"api/person/my\", { params });\r\n }\r\n\r\n searchVisitors(qry: string): Observable {\r\n let params = new HttpParams().append(\"qry\", qry);\r\n return this.http.get(\"api/person/visitors\", { params });\r\n }\r\n\r\n getMyPeople(): Observable {\r\n return this.http.get(\"api/person/my\");\r\n }\r\n\r\n getPeople(accessScope:string) {\r\n let params = new HttpParams().append(\"ac\", accessScope);\r\n return this.http.get(\"api/person/unit\", {params});\r\n }\r\n\r\n updateMyPplCnt() {\r\n this.http.get('api/person/cnt')\r\n .toPromise()\r\n .then((cnt) => {\r\n PersonService._myPplCnt.next(cnt);\r\n if (cnt > 0 && cnt < 100) {\r\n this.getMyPeople().subscribe(\r\n ppl => { PersonService._allMyPpl.next(ppl); }\r\n );\r\n }\r\n\r\n });\r\n }\r\n\r\n getPerson(id: number): Observable {\r\n return this.http.get(`api/person/${id}`);\r\n }\r\n\r\n getRolesDesc(): Observable> {\r\n return this.http.get<{ [key: number]: Description }>(\"api/person/roles\").pipe(\r\n map(roles => {\r\n let map = new Map();\r\n for (let key in roles) {\r\n map.set(+key, roles[key]);\r\n }\r\n return map;\r\n })\r\n );\r\n }\r\n\r\n getAssociate(loginId: string): Observable {\r\n return this.http.get(`api/person/assoc/${loginId}`).pipe(\r\n map(p => Person.fixDates(p))\r\n );\r\n }\r\n\r\n addGlobalRoles(loginId: string, roles: number[]): Observable {\r\n return this.http.post(`api/person/roles/${loginId}`, roles);\r\n }\r\n\r\n addAccScopeRoles(loginId: string, roleId: number, scopes: string[]): Observable {\r\n return this.http.post(`api/person/roles/${loginId}/${roleId}`, scopes);\r\n }\r\n\r\n removeRole(roleId: number): Observable {\r\n return this.http.delete(`api/person/roles/${roleId}`);\r\n }\r\n\r\n createVisitor(visitor: Person): Observable {\r\n return this.http.post(\"api/person\", visitor);\r\n }\r\n\r\n updateVisitor(visitor: Person): Observable {\r\n return this.http.put(\"api/person\", visitor)\r\n .pipe(\r\n map(() => visitor.id)\r\n );\r\n }\r\n\r\n getPassports(id: number): Observable {\r\n return this.http.get(`api/person/${id}/ppt`).pipe(\r\n map(ps => ps.map(p => Passport.fixDates(p)))\r\n );\r\n }\r\n\r\n savePassport(id: number, ppt: Passport): Observable {\r\n if (ppt.id)\r\n return this.http.put(`api/person/ppt`, ppt);\r\n else\r\n return this.http.post(`api/person/${id}/ppt`, ppt);\r\n } \r\n\r\n deletePassport(id: number): Observable {\r\n return this.http.delete(`api/person/ppt/${id}`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class TestApiInterceptor implements HttpInterceptor {\r\n constructor(\r\n private cookieService: CookieService,\r\n ) {}\r\n\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n let clone:any;\r\n if (!!(window).http_requests_log) {\r\n let http_requests_log: HttpRequest[] = (window).http_requests_log;\r\n clone = request.clone();\r\n if (clone.body instanceof FormData) {\r\n let body = {};\r\n for (let e of clone.body.entries())\r\n body[e[0]] = e[1];\r\n clone.body = body;\r\n }\r\n http_requests_log.push(clone);\r\n }\r\n\r\n return next.handle(request).pipe(\r\n tap({\r\n next:(event)=>{\r\n if (!clone)\r\n return;\r\n if (event instanceof HttpResponse)\r\n clone.response = event.clone();\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class TestingService {\r\n constructor(\r\n private cookieService: CookieService\r\n ) { \r\n }\r\n\r\n get testing() {\r\n return !!this.cookieService.get('test')\r\n }\r\n\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Trip } from \"../models/trip\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { Dataset, DatasetCommand } from \"../models/dataset\";\r\nimport { Util } from \"../util/util\";\r\nimport { map, switchMap, tap } from \"rxjs/operators\";\r\nimport { City, Country, State } from \"../models/trip-dest\";\r\nimport { WfOffice } from \"../models/wf-office\";\r\nimport { Advisory } from \"../models/advisory\";\r\nimport { Passport } from \"../models/passport\";\r\nimport { TripDestBan } from \"../models/trip-dest-ban\";\r\n\r\n@Injectable()\r\nexport class TripService {\r\n constructor(\r\n private http: HttpClient\r\n ) { \r\n if (Object.keys(TripService._countries).length == 0) {\r\n this.fetchCountries().subscribe();\r\n }\r\n }\r\n\r\n private static _countries:{[key:string]:Country} = {}\r\n static get countries() {\r\n return Util.toArray(TripService._countries, ([k, v]) => { code: k, name: v.name }, c=>c.name)\r\n }\r\n\r\n static getCountryName(code:string) {\r\n return TripService._countries[code]?.name??code;\r\n }\r\n\r\n // $$Implements SW.FE.TRIP.LIST_PAGE\r\n getAll(cmd: DatasetCommand): Observable> {\r\n let params = Util.CommandToHttpParams(cmd);\r\n return this.http.get>(\"api/trips/all\", { params }).pipe(\r\n map(ds => {\r\n if (ds.data)\r\n ds.data.forEach(r => Trip.fixDates(r));\r\n return ds;\r\n })\r\n );\r\n }\r\n\r\n getTripDetails(tripId: number): Observable {\r\n return this.http.get(`api/trips/${tripId}`).pipe(\r\n map(x => Trip.fixDates(x))\r\n );\r\n }\r\n\r\n create(draft: Trip): Observable {\r\n return this.http.post(`api/trips/`, draft);\r\n }\r\n\r\n update(draft: Trip): Observable {\r\n return this.http.put(`api/trips/`, draft);\r\n }\r\n\r\n attachFromHub(xprid: number, fileid: number): Observable {\r\n return this.http.post(`api/trips/${xprid}/att/${fileid}`, null);\r\n }\r\n\r\n deleteFiles(ids: number[]): Observable {\r\n let params = Util.CommandToHttpParams({ ids });\r\n return this.http.delete(`api/person/att`, { params });\r\n }\r\n\r\n addComment(xpid: number, comment: string, prvt: boolean): Observable {\r\n return this.http.post(`api/trips/${xpid}/cmnt`, { comment, prvt });\r\n }\r\n\r\n validateTrip(tripId: number): Observable {\r\n return this.http.get(\"api/trips/validate/\" + tripId, {responseType: \"text\"});\r\n }\r\n\r\n getWfOffices(acc:string): Observable {\r\n return this.http.get(\"api/wf/offices/\" + acc);\r\n }\r\n\r\n submitToWF(tripId: number, subDpt?: string, frstApprvr?: string): Observable {\r\n return this.http.post(\"api/trips/wf\", {id:tripId, subDpt, frstApprvr});\r\n }\r\n\r\n cancelTrip(tripId: number): Observable {\r\n return this.http.delete(\"api/trips/\"+tripId);\r\n }\r\n\r\n copyTrip(tripId: number): Observable {\r\n return this.http.post(\"api/trips/copy/\"+tripId, null);\r\n }\r\n\r\n getCountry(code?:string): Observable {\r\n code = code||\"USA\";\r\n if (TripService._countries.hasOwnProperty(code)) {\r\n var country = TripService._countries[code];\r\n if (country.states?.hasOwnProperty(\"states\") && Object.keys(country.states).length)\r\n return of(country);\r\n else\r\n return this.http.get(\"api/trips/states/\" + code).pipe(\r\n switchMap(states => {\r\n let c = TripService._countries[code];\r\n c.states = Object.fromEntries(states.map(s=>[s.code,s]));\r\n return of(c);\r\n })\r\n );\r\n } else \r\n if (Object.keys(TripService._countries).length == 0) {\r\n return this.fetchCountries().pipe(\r\n switchMap(cs => {\r\n TripService._countries = cs;\r\n return this.getCountry(code);\r\n })\r\n );\r\n } else {\r\n throw Error(`Unknown country requested: \"${code}\"`)\r\n }\r\n }\r\n\r\n fetchCountries() {\r\n return this.http.get<{[key:string]:Country}>(\"api/trips/countries\").pipe(\r\n tap(cs => TripService._countries = cs)\r\n );\r\n }\r\n\r\n getCities(stateCode: string): Observable {\r\n return this.getCountry(\"USA\").pipe(\r\n switchMap(c => {\r\n if (!c.states.hasOwnProperty(stateCode))\r\n throw Error(`Unknown state requested: \"${stateCode}\"`);\r\n let s = c.states[stateCode];\r\n if (s.cities?.length)\r\n return of(s.cities)\r\n else\r\n return this.http.get(`api/trips/cities/${s.code}`).pipe(\r\n tap(c => s.cities = c)\r\n )\r\n })\r\n )\r\n }\r\n\r\n getCountriesStatesCities(countryCode:string, stateCode?:string): \r\n Observable<{\r\n countries:Country[], \r\n states:State[], \r\n cities:City[]\r\n }> \r\n {\r\n let result = {countries:[], states:[], cities:[]};\r\n return this.getCountry(countryCode).pipe(\r\n switchMap(c => {\r\n result.countries = TripService.countries;\r\n result.states = Util.toArray(c.states, ([k, v]) => { code: k, name: v.name }, s => s.name);\r\n if (c.code == \"USA\" && stateCode)\r\n return this.getCities(stateCode)\r\n else\r\n return of([])\r\n }),\r\n switchMap(cs => {\r\n result.cities = cs;\r\n return of(result);\r\n })\r\n );\r\n }\r\n\r\n getAdvisory(stateCode: string): Observable {\r\n return this.http.get(\"api/trips/advisory/\" + stateCode);\r\n }\r\n\r\n getPassports(tripId: number) {\r\n return this.http.get(`api/trips/${tripId}/ppt`).pipe(\r\n map(ps => ps.map(p => Passport.fixDates(p)))\r\n );\r\n }\r\n\r\n savePassport(tripId: number, p: Passport) {\r\n if (p.id)\r\n return this.http.put(`api/trips/${tripId}/ppt`, p);\r\n else\r\n return this.http.post(`api/trips/${tripId}/ppt`, p);\r\n }\r\n\r\n deletePassport(tripId: number, id: number) {\r\n return this.http.delete(`api/trips/${tripId}/ppt/${id}`);\r\n }\r\n\r\n getTripDestBans(): Observable {\r\n return this.http.get(\"api/trips/bans\").pipe(\r\n map(ps => ps.map(p => TripDestBan.fixDates(p)))\r\n );\r\n }\r\n\r\n saveCntryBan(b: TripDestBan) {\r\n if (b.id)\r\n return this.http.put(`api/trips/ban/${b.id}`, b);\r\n else\r\n return this.http.post(`api/trips/ban`, b);\r\n }\r\n\r\n deleteCntryBan(id: number) {\r\n return this.http.delete(`api/trips/ban/${id}`);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { throwError } from 'rxjs';\r\nimport { LoginService } from '@uiowa/uiowa-header';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class UnauthorizedInterceptor implements HttpInterceptor {\r\n constructor(\r\n private readonly loginService: LoginService,\r\n private router: Router\r\n ) {}\r\n\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n return next.handle(request).pipe(\r\n catchError((err) => {\r\n var url = request.url;\r\n if (!url.toLowerCase().startsWith(\"http\"))\r\n url = \"https://\" + url;\r\n if (err.status === 401 && !(new URL(window.location.origin + \"/\"+ request.url).pathname.startsWith(\"/api\"))) {\r\n this.loginService.returnUri = this.router.url;\r\n this.loginService.login();\r\n }\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ApplicationUser } from '../models/application-user';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n private _user = new BehaviorSubject(new ApplicationUser());\r\n user$: Observable = this._user.asObservable();\r\n\r\n constructor(private readonly httpClient: HttpClient) {}\r\n\r\n getUser(): Promise {\r\n let user = new ApplicationUser();\r\n return this.httpClient\r\n .get('account/user')\r\n .toPromise()\r\n .then(x => {\r\n if (x) {\r\n user = new ApplicationUser(\r\n x.id,\r\n x.loginId,\r\n x.originalUser,\r\n x.roles\r\n );\r\n }\r\n this._user.next(user);\r\n return user;\r\n })\r\n .catch(() => {\r\n this._user.next(user);\r\n return user;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Person } from '../models/person';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UssService {\r\n constructor(private readonly http: HttpClient) { }\r\n\r\n getReps(): Observable {\r\n return this.http.get(\"api/uss/reps\");\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { Dataset, DatasetCommand } from '../models/dataset';\r\nimport { Expense, Util } from '..';\r\n\r\nimport { XpReport } from '../models/xpreport';\r\nimport { AppEventsService } from './app-events.service';\r\nimport { AppEvent, AppEventType } from '../models/app-event';\r\nimport { XpDistribution } from '../models/xp-distribution';\r\n\r\n@Injectable()\r\nexport class XpReportsService {\r\n constructor(\r\n private http: HttpClient,\r\n private aeBus: AppEventsService\r\n ) { } \r\n\r\n // $$Implements SW.FE.XPR.PAGE, SW.FE.XPR.AUDIT.PAGE\r\n getAll(cmd: DatasetCommand): Observable> {\r\n let params = Util.CommandToHttpParams(cmd);\r\n return this.http.get>(\"api/xpreports/all\", { params }).pipe(\r\n map(ds => {\r\n if (ds.data)\r\n ds.data.forEach(r => XpReport.fixDates(r));\r\n return ds;\r\n })\r\n );\r\n }\r\n\r\n // $$Implements SW.FE.XPR.PAGE.DTL, SW.FE.XPR.PAGE.DTL.SRC, SW.FE.XPR.PAGE.DTL.SRC.EFR\r\n getXprDetails(xprid: number, efr?: boolean) : Observable {\r\n let url = efr ? `api/xpreports/efr/${xprid}` : `api/xpreports/${xprid}`;\r\n return this.http.get(url).pipe(\r\n map(r => {\r\n r.expenses = r.expenses.map(e=>{\r\n e = Object.assign(new Expense(),e);\r\n e.distributions = e.distributions.map(d=>Object.assign(new XpDistribution(),d));\r\n return e;\r\n })\r\n return XpReport.fixDates(r);\r\n })\r\n );\r\n }\r\n\r\n // $$Implements SW.FE.XP.PAGE.RPRT_SBMT\r\n addExpenses(reportId:number, xpIds:number[]): Observable {\r\n return this.http.put(`api/xpreports/add`,{reportId,xpIds});\r\n }\r\n\r\n // $$Implements SW.FE.XPR.PAGE.DTL.XP.RM_ACT\r\n removeExpenses(reportId: number, xpIds: number[]): Observable {\r\n return this.http.put(`api/xpreports/rm`, { reportId, xpIds });\r\n }\r\n\r\n // $$Implements SW.FE.XPR.PAGE.DTL.DESC_UPDT\r\n updateDescription(reportId: number, desc: string): Observable {\r\n return this.http.post(`api/xpreports/desc`, Util.CommandToFormData({ reportId, desc }));\r\n }\r\n\r\n // $$Implements SW.FE.XPR.PAGE.DTL.WF_BTN_VLDT\r\n validateExpenses(reportId: number): Observable {\r\n return this.http.get(\"api/xpreports/validate/\"+reportId);\r\n }\r\n\r\n // $$Implements SW.FE.XPR.PAGE.DTL.WF_SBMT\r\n submitToWF(reportId: number): Observable {\r\n return this.http.post(\"api/xpreports/wf/\"+reportId,null).pipe(\r\n tap(\r\n r=>this.aeBus.dispatch(new AppEvent(AppEventType.ExpenseReportStateChanged,reportId))\r\n )\r\n );\r\n }\r\n\r\n passAudit(reportId: number): Observable {\r\n return this.http.post(\"api/xpreports/audit/\"+reportId,null).pipe(\r\n tap(\r\n r=>this.aeBus.dispatch(new AppEvent(AppEventType.ExpenseReportStateChanged,reportId))\r\n )\r\n );\r\n }\r\n\r\n // $$Implements SW.FE.XPR.PAGE.DTL.ATT.ASSOC\r\n assocAtt(id: number, expenses: number[]): Observable {\r\n return this.http.post(\"api/xpreports/att/\" + id, Util.CommandToFormData({ expenses }));\r\n }\r\n\r\n // $$Implements SW.FE.XPR.PAGE.DTL.CMNTS.CREATE.ACT\r\n addComment(xpid: number, comment: string, prvt: boolean): Observable {\r\n return this.http.post(`api/xpreports/${xpid}/cmnt`, { comment, prvt });\r\n }\r\n\r\n attachFromHub(xprid: number, fileid: number): Observable {\r\n return this.http.post(`api/xpreports/${xprid}/att/${fileid}`, null);\r\n }\r\n\r\n deleteFiles(ids: number[]): Observable {\r\n let params = Util.CommandToHttpParams({ ids });\r\n return this.http.delete(`api/person/att`, { params });\r\n }\r\n\r\n\r\n bulkUpdate(cmd: {\r\n acc: string,\r\n tripId: number,\r\n description: string,\r\n expIds: number[]\r\n }): Observable {\r\n return this.http.put(`api/expenses/bulk`, cmd);\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, DetachedRouteHandle, RouteReuseStrategy, Params } from '@angular/router';\r\n\r\nexport interface Attachable {\r\n OnAttach?: ()=>void;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AppRouteReuseStrategy extends RouteReuseStrategy {\r\n private savedHandles = new Map();\r\n\r\n retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle | null {\r\n const key = this.getRouteKey(route);\r\n //console.log(`retrieve ${key}`)\r\n let handle = this.savedHandles.get(key);\r\n if (handle) {\r\n let c = (handle as any).componentRef?.instance;\r\n if (c && c.OnAttach)\r\n setTimeout(()=>c.OnAttach());\r\n }\r\n return handle;\r\n }\r\n\r\n shouldAttach(route: ActivatedRouteSnapshot): boolean {\r\n if (!route.data.reuse)\r\n return false;\r\n let key = this.getRouteKey(route);\r\n let result = this.savedHandles.has(key);\r\n //console.log(`shouldAttach ${key} : ${result}`)\r\n return result;\r\n }\r\n\r\n shouldDetach(route: ActivatedRouteSnapshot): boolean {\r\n return route.data.reuse;\r\n }\r\n\r\n shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\r\n let result = future.routeConfig === curr.routeConfig;\r\n //console.log(`Should reuse furure ${this.getRouteKey(future)} curr ${this.getRouteKey(future)}: ${result}`)\r\n return result\r\n }\r\n\r\n store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle | null): void {\r\n const key = this.getRouteKey(route);\r\n //console.log(`store ${key}`)\r\n const path = this.getRoutePath(route);\r\n for (const k of this.savedHandles.keys()) {\r\n if (k!=key && k.startsWith(path)) {\r\n const stored = this.savedHandles.get(k);\r\n if (stored==null || (handle as any).componentRef?.instance === (stored as any).componentRef?.instance)\r\n this.savedHandles.delete(k);\r\n else\r\n this.clearSavedHandle(k);\r\n }\r\n }\r\n this.savedHandles.set(key, handle);\r\n }\r\n\r\n getRoutePath(route: ActivatedRouteSnapshot): string {\r\n return route.pathFromRoot.filter(u => u.url).map(u => u.url).join('/');\r\n }\r\n private getRouteKey(route: ActivatedRouteSnapshot): string { \r\n var params:Params = {...route.queryParams};\r\n if (route.data.ignoreQPars)\r\n route.data.ignoreQPars.forEach(p=>delete(params[p]));\r\n return this.getRoutePath(route) +JSON.stringify(params);\r\n }\r\n\r\n public clearSavedHandle(key: string): void {\r\n //console.log('Delete '+key);\r\n const handle = this.savedHandles.get(key);\r\n if (handle) {\r\n (handle as any).componentRef.destroy();\r\n }\r\n\r\n this.savedHandles.delete(key);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpParams } from '@angular/common/http';\r\n\r\nenum Day {\r\n Sunday = 0,\r\n Monday,\r\n Tuesday,\r\n Wednesday,\r\n Thursday,\r\n Friday,\r\n Saturday\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Util {\r\n static holidayCache:{[year:number]:{[date:string]:number}} = {};\r\n static holidays(year: number): { [date: string]: number } {\r\n if (this.holidayCache.hasOwnProperty(year))\r\n return this.holidayCache[year];\r\n let res = [\r\n (()=>{// New Year\r\n let ny = new Date(year,0,1);\r\n if (ny.getDay() == Day.Sunday)\r\n ny = new Date(year, 0, 2);\r\n else if (ny.getDay()==Day.Saturday)\r\n ny = new Date(year-1, 11, 31);\r\n return ny;\r\n })(),\r\n (() => {// MLK\r\n let jan1 = new Date(year,0,1);\r\n return Util.range(14,7)\r\n .map(d => Util.addDays(d, jan1)).filter(d=>d.getDay()==Day.Monday)[0];\r\n })(),\r\n (() => {// Memorial Day\r\n let may1 = new Date(year, 4, 1);\r\n return Util.range(24, 7)\r\n .map(d => Util.addDays(d, may1)).filter(d => d.getDay() == Day.Monday)[0];\r\n })(),\r\n new Date(year,6,4), // Independence Day\r\n (() => {// Labor Day\r\n let sep1 = new Date(year, 8, 1);\r\n return Util.range(0, 7)\r\n .map(d => Util.addDays(d, sep1)).filter(d => d.getDay() == Day.Monday)[0];\r\n })(),\r\n (() => {// Thanksgiving\r\n let nov1 = new Date(year, 10, 1);\r\n return Util.range(21, 7)\r\n .map(d => Util.addDays(d, nov1)).filter(d => d.getDay() == Day.Thursday)[0];\r\n })(),\r\n (() => {// Black Friday\r\n let nov1 = new Date(year, 10, 1);\r\n return Util.range(22, 7)\r\n .map(d => Util.addDays(d, nov1)).filter(d => d.getDay() == Day.Friday)[0];\r\n })(),\r\n (() => {// Christmas\r\n let xmas = new Date(year, 11, 25);\r\n if (xmas.getDay() == Day.Sunday)\r\n xmas = new Date(year, 11, 27);\r\n else if (xmas.getDay() == Day.Saturday)\r\n xmas = new Date(year, 11, 23);\r\n return xmas;\r\n })(),\r\n (() => {// Christmas\r\n let xmas1 = new Date(year, 11, 26);\r\n if (xmas1.getDay() == Day.Wednesday || xmas1.getDay() == Day.Saturday)\r\n xmas1 = new Date(year, 11, 24);\r\n return xmas1;\r\n })(),\r\n ].reduce((dict,date)=>{dict[date.toISOString()]=1;return dict;},{});\r\n this.holidayCache[year]=res;\r\n return res;\r\n }\r\n\r\n static IsBDay(date:Date):boolean {\r\n if (date.getDay() == Day.Saturday || date.getDay() == Day.Sunday)\r\n return false;\r\n let holidays = Util.holidays(date.getFullYear());\r\n if (holidays.hasOwnProperty(new Date(date.setHours(0,0,0,0)).toISOString()))\r\n return false;\r\n return true;\r\n }\r\n\r\n \r\n static get today():Date {\r\n return new Date(new Date().setHours(0,0,0,0));\r\n }\r\n\r\n public static addDays(days: number, date?: Date): Date {\r\n date = date||Util.today;\r\n return new Date(new Date(date).setDate(date.getDate() + days));\r\n }\r\n\r\n public static addBDays(days:number, date?: Date): Date {\r\n date = date || Util.today;\r\n if (days == 0 && !this.IsBDay(date))\r\n days = 1;\r\n for (let count=0; count < days;) {\r\n date = Util.addDays(1,date);\r\n if (this.IsBDay(date))\r\n count++;\r\n }\r\n return date;\r\n }\r\n\r\n public static addMonths(months: number, date?: Date): Date {\r\n date = date || Util.today;\r\n return new Date(new Date(date).setMonth(date.getMonth() + months));\r\n }\r\n\r\n public static minDate(d1:Date,d2:Date) {\r\n return new Date(Math.min(Number(d1),Number(d2)));\r\n }\r\n\r\n public static maxDate(d1:Date,d2:Date) {\r\n return new Date(Math.max(Number(d1),Number(d2)));\r\n }\r\n\r\n public static parseAsLocalDate(s:string) {\r\n let d = new Date(s);\r\n return new Date(new Date(d).setMinutes(d.getMinutes() + d.getTimezoneOffset()));\r\n }\r\n static monthFmt = new Intl.DateTimeFormat(\"en\", { month: \"long\" });\r\n public static monthName(month:number): string {\r\n return Util.monthFmt.format(new Date().setMonth(month));\r\n }\r\n\r\n static dateFmt: Intl.DateTimeFormatOptions = {\r\n day: '2-digit',\r\n month: '2-digit',\r\n year: 'numeric',\r\n }\r\n public static dateString(date:Date):string {\r\n return date && date.toLocaleDateString('en-US', Util.dateFmt) || \"\";\r\n }\r\n\r\n static dateTimeFormat = new Intl.DateTimeFormat('en', { timeStyle: 'short', dateStyle: 'short' });\r\n\r\n public static dateTimeString(date: Date): string {\r\n return date && Util.dateTimeFormat.format(date) || \"\";\r\n }\r\n\r\n public static toNgbDate(date:Date):{year:number,month:number,day:number} {\r\n return date && {year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate()} || null;\r\n }\r\n\r\n public static fromNgbDate(ngbd: { year: number, month: number, day: number }):Date {\r\n return ngbd && new Date(ngbd.year,ngbd.month-1,ngbd.day) || null;\r\n }\r\n \r\n public static toISODateString(date:Date): string {\r\n return date&&date.toISOString().split('T')[0]||\"\";\r\n }\r\n\r\n static currency = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', });\r\n public static currencyString(v:number) {\r\n return Util.currency.format(v);\r\n }\r\n\r\n public static FixDates(o: T, keys:readonly string[]):T {\r\n keys.forEach(k => { o[k] = o[k]&&(new Date(o[k]))} );\r\n return o;\r\n }\r\n\r\n public static DatePropertiesKeys(o: object): string[] {\r\n let result:string[] = [];\r\n Object.keys(o).forEach(k => {if (o[k] instanceof Date) result.push(k)});\r\n return result;\r\n }\r\n\r\n static range (start:number, count:number): number[] {\r\n return Array(count).fill(0).map((x, i) => start + i);\r\n }\r\n\r\n public static collatorNoCase = new Intl.Collator('en-US', { sensitivity: 'base' });\r\n public static stringCompareNoCase(x:string, y: string):number {\r\n return Util.collatorNoCase.compare(x,y);\r\n }\r\n\r\n static range2(start:number, stop: number, step?: number) {\r\n step = step || ((startstart+i*step);\r\n }\r\n\r\n static getEM(): number {\r\n return Number(getComputedStyle(document.body, null).fontSize.replace(/[^\\d]/g, ''))\r\n }\r\n\r\n static CommandToHttpParams(cmd:any):HttpParams {\r\n let params = new HttpParams();\r\n Object.keys(cmd).forEach(k => {\r\n let val = cmd[k];\r\n if (val instanceof Date)\r\n val = this.toISODateString(val);\r\n if (Array.isArray(val))\r\n val.forEach(e => {\r\n if (e instanceof Date)\r\n e = this.toISODateString(e);\r\n params = params.append(k, e);\r\n });\r\n else\r\n params = params.append(k, val)\r\n });\r\n return params;\r\n }\r\n\r\n static CommandToParams(cmd:any):{[key: string]: any} {\r\n let params=[];\r\n Object.keys(cmd).forEach(k => {\r\n let val = cmd[k];\r\n if (val instanceof Date)\r\n val = this.toISODateString(val);\r\n else\r\n if (Array.isArray(val))\r\n val = val.map(e => (e instanceof Date)? this.toISODateString(e):e);\r\n params[k] =val;\r\n });\r\n return params;\r\n }\r\n\r\n static CommandToFormData(cmd: any): FormData {\r\n let formData = new FormData();\r\n Object.keys(cmd).forEach(k => {\r\n let val = cmd[k];\r\n if (val instanceof Date)\r\n val = this.toISODateString(val);\r\n if (Array.isArray(val))\r\n val.forEach(e => {\r\n if (e instanceof Date)\r\n e = this.toISODateString(e);\r\n formData.append(k, e);\r\n });\r\n else\r\n formData.append(k, val)\r\n });\r\n return formData;\r\n }\r\n\r\n static compareProperties(o1:object,o2:object):boolean {\r\n return Object.keys(o1).every(k => !o2.hasOwnProperty(k) || (\r\n (o1[k] instanceof Date) ? +o2[k] == +o1[k] :\r\n (typeof (o1[k]) == 'object') ? Util.objectsEqual(o1[k], o2[k]) :\r\n o2[k] == o1[k]\r\n ));\r\n }\r\n\r\n static objectsEqual(o1:object,o2:object):boolean {\r\n return o1 == null && o2 == null || (\r\n o1 !=null && o2 != null &&\r\n Object.keys(o1).length === Object.keys(o2).length\r\n && Object.keys(o1).every(k => \r\n (o1[k] instanceof Date) ? +o2[k] == +o1[k] : \r\n (typeof (o1[k]) == 'object') ? Util.objectsEqual(o1[k],o2[k]):\r\n o2[k] == o1[k]\r\n )\r\n );\r\n }\r\n\r\n static arraysEqual(a1:object[],a2:object[]):boolean{\r\n return a1.length === a2.length && a1.every((o, idx) => Util.objectsEqual(o, a2[idx]));\r\n }\r\n\r\n static errorMessage(err): string {\r\n if (typeof err == \"string\")\r\n return err;\r\n if (err.error && typeof err.error == \"string\")\r\n return err.error;\r\n let result = \"\";\r\n if (err.message)\r\n result = err.message;\r\n if (err.error && err.error.Message)\r\n result += (result && '\\n') + err.error.Message;\r\n return result;\r\n }\r\n\r\n static queryParameters(qry?:string) {\r\n if (qry === undefined)\r\n qry = window.location.search;\r\n qry = qry.replace(/^\\?/, '');\r\n let res = {};\r\n for (let par of qry.split('&')) {\r\n let kv=par.split('=');\r\n res[kv[0]]=kv[1];\r\n }\r\n return res;\r\n }\r\n\r\n static copy(src:object,tgt:object) {\r\n Object.keys(tgt).forEach(k=>{\r\n if (src.hasOwnProperty(k))\r\n tgt[k]=src[k];\r\n })\r\n }\r\n\r\n static undef(o:object) {\r\n Object.keys(o).forEach(k => {\r\n o[k]=undefined;\r\n });\r\n }\r\n\r\n static toArray(o: Object, sel: (kvp: [k: string, v: T]) => T, order:(T)=>string):T[] {\r\n return Object.entries(o).map(sel).sort((a, b) => order(a).localeCompare(order(b)))\r\n }\r\n\r\n static getProp(o:Object, p:string|string[]) {\r\n let path:string[];\r\n if (typeof(p)==\"string\")\r\n path = p.split('.');\r\n else\r\n path = p;\r\n let v = o[path[0]]\r\n if (path.length == 1)\r\n return v;\r\n return this.getProp(v,path.slice(1));\r\n }\r\n\r\n static fromPartialMfk(mfk:Object,a: string) {\r\n let m = a.split('-')\r\n let keys = Object.keys(mfk);\r\n for (let i = 0; i < m.length; i++) {\r\n if (!!m[i])\r\n mfk[keys[i]] = m[i]\r\n }\r\n return mfk;\r\n }\r\n}\r\n","import { AfterViewInit, Component} from '@angular/core';\r\nimport { routes } from '../app-routing.module';\r\nimport { TestingService, UserService } from '../core';\r\nimport { Route, Routes } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent {\r\n\r\n constructor(\r\n private readonly userService: UserService,\r\n private testingService: TestingService\r\n ) {}\r\n get testing() {\r\n return this.testingService.testing;\r\n }\r\n\r\n readonly linkPaths: string[] = [\r\n \"my-links\",\r\n \"xp\",\r\n \"my-travel\",\r\n //\"xpr\",\r\n \"my-audit\",\r\n \"my-files\",\r\n \"admin\",\r\n \"card-admin\",\r\n \"my-mfks\",\r\n ];\r\n routes = routes[0].children;\r\n\r\n}\r\n","
\r\n
\r\n

\r\n Dashboard\r\n

\r\n
\r\n
\r\n \r\n Get test data\r\n
","import { AfterViewInit, Component } from '@angular/core';\r\nimport { ActivatedRoute, Router, Routes } from '@angular/router';\r\nimport { \r\n faTableCellsLarge as HomeIcon,\r\n faAngleDoubleRight as ExpandIcon,\r\n faAngleDoubleLeft as CollapseIcon \r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { routes } from '../app-routing.module';\r\nimport { UserService } from '../core';\r\n\r\nconst linkPaths = new Set([\r\n \"my-links\",\r\n \"xp\", \r\n \"my-travel\", \r\n \"xpr\",\r\n \"trips\",\r\n \"my-audit\",\r\n \"my-files\",\r\n \"admin\",\r\n \"card-admin\",\r\n \"my-mfks\",\r\n]);\r\n\r\n@Component({\r\n selector: 'app-layout',\r\n templateUrl: './layout.component.html',\r\n styleUrls: ['./layout.component.css']\r\n})\r\nexport class LayoutComponent implements AfterViewInit {\r\n homeIcon = HomeIcon;\r\n expandIcon = ExpandIcon;\r\n collapseIcon = CollapseIcon;\r\n // $$Implements SW.FE.Menu\r\n linkItems:Routes = [];\r\n expanded = true;\r\n constructor(\r\n private readonly userService: UserService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.userService.user$.subscribe(u=>setTimeout(()=>{\r\n this.linkItems = routes[0].children.filter(r => \r\n linkPaths.has(r.path) && (r.data?.roles?.some(r=>u.roles.has(r))??true));\r\n }))\r\n if (this.activatedRoute.snapshot.children.length == 0)\r\n this.router.navigate(['/', 'home']);\r\n }\r\n}\r\n","
\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n Dashboard\r\n \r\n
  • \r\n \r\n
  • \r\n \r\n \r\n {{ item.data.label }}\r\n \r\n
  • \r\n \r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ExpensesService, NotificationsService, UserService, Util } from \"../core\";\r\nimport { AppEventType } from \"../core/models/app-event\";\r\nimport { AppEventsService } from \"../core/services/app-events.service\";\r\nimport { NotificationSubj } from \"../core/models/notificationSubj\";\r\nimport { Notification } from \"rxjs\";\r\n\r\nclass Counts {\r\n new?: number = undefined;\r\n pending?: number = undefined;\r\n reconciled?: number = undefined;\r\n inError?: number = undefined;\r\n //completed?: number = undefined;\r\n}\r\n\r\n@Component({\r\n selector: 'minidash',\r\n templateUrl: './minidash.component.html',\r\n styleUrls: ['./minidash.component.scss']\r\n})\r\nexport class MinidashComponent implements OnInit {\r\n counts : Counts;\r\n unreadNtfctns:number;\r\n totalNtfctns = 0;\r\n notifications:NotificationSubj[];\r\n\r\n constructor(\r\n private router: Router,\r\n private xpSvc: ExpensesService,\r\n private aeBus: AppEventsService,\r\n private readonly userService: UserService,\r\n private readonly notificationService: NotificationsService,\r\n ){}\r\n\r\n ngOnInit(): void {\r\n this.aeBus.on(AppEventType.ExpenseStateChanged)\r\n .subscribe(e=>this.refresh());\r\n this.userService.user$.subscribe((u)=>{\r\n if (u?.id){\r\n this.refresh();\r\n this.refreshNotifications();\r\n }\r\n });\r\n this.xpSvc.counts$.subscribe(o=>{\r\n Object.keys(o).forEach(t => {\r\n this.counts[t]=o[t]\r\n });\r\n });\r\n this.notificationService.update$.subscribe(()=>{\r\n this.refreshNotifications();\r\n });\r\n }\r\n\r\n refresh() {\r\n this.counts = new Counts();\r\n this.xpSvc.getCounts(Object.keys(this.counts));\r\n }\r\n\r\n refreshNotifications() {\r\n this.notificationService.top().subscribe(\r\n res=>{\r\n this.unreadNtfctns = res.unread;\r\n this.totalNtfctns = res.total;\r\n this.notifications = res.notifications\r\n }\r\n )\r\n }\r\n\r\n text(i:any) {\r\n return (i == undefined) ?\"⧖\":i.toString();\r\n }\r\n\r\n ntitle() {\r\n return (!this.totalNtfctns) ? \"No notificatios\" : (!this.unreadNtfctns) ? `No unread notifications (${this.totalNtfctns} total` : `${this.unreadNtfctns} unread notification${(this.unreadNtfctns>1)?\"s\":\"\"} out of ${this.totalNtfctns} total`;\r\n }\r\n\r\n textClass(i?:any):string {\r\n return (i == undefined) ? \"flipping\" : \"\";\r\n }\r\n\r\n ntfctnClass(n:NotificationSubj) {\r\n return (!n.viewedOn) ?\"fw-bold\":\"\";\r\n }\r\n\r\n navigate(target:string) {\r\n this.router.navigate(['/', 'xp', target]);\r\n }\r\n \r\n}","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
  • View all notifications in a long list
  • \r\n

  • \r\n
  • {{n.subject}}
  • \r\n
\r\n\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MinidashComponent } from './minidash.component';\r\nimport { SharedModule } from '../shared';\r\nimport { ExpensesService, Util } from '../core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n MinidashComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n RouterModule\r\n ],\r\n exports:[\r\n MinidashComponent\r\n ],\r\n providers: [\r\n ExpensesService,\r\n Util\r\n ]\r\n})\r\nexport class MinidashModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MyLinksComponent } from './my-links.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: MyLinksComponent },\r\n { path: ':loginId', component: MyLinksComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class MyLinksRoutingModule { }\r\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { ContextMenuComponent, ContextMenuService } from '@vldmr-bus/ngx-contextmenu';\r\nimport { FavoritesService, PersonService, UserService, UssService } from '../core';\r\nimport { FavLink } from '../core/models/fav-link';\r\nimport { ModalService } from '../shared';\r\nimport { Person } from '../core/models/person';\r\nimport { switchMap, tap } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\nimport { OrgUnit, filterUnits, iterateUnits, reduceUnits } from '../core/models/org-unit';\r\n\r\n@Component({\r\n selector: 'app-my-links',\r\n templateUrl: './my-links.component.html',\r\n styleUrls: ['./my-links.component.scss']\r\n})\r\nexport class MyLinksComponent implements OnInit {\r\n links: FavLink[];\r\n showPeople = false;\r\n myPplCnt = 0;\r\n myPeople: Person[] =[];\r\n favPeople: Person[] = [];\r\n myUnits: OrgUnit;\r\n showUnits = false;\r\n favUnits:OrgUnit[] = [];\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private contextMenuService: ContextMenuService,\r\n private modal: ModalService,\r\n private favSvc: FavoritesService,\r\n private readonly userService: UserService,\r\n private prsnSvc: PersonService,\r\n private ussSvc: UssService,\r\n ) { }\r\n\r\n person: Person;\r\n iAmSharedService = false;\r\n iAmAdmin = false;\r\n showOthers = false;\r\n ngOnInit(): void {\r\n this.links = this.favSvc.favorites;\r\n this.userService.user$.subscribe(user => {\r\n this.iAmAdmin = user.isAdmin();\r\n this.iAmSharedService = user.isSharedService();\r\n this.showOthers = this.iAmAdmin || this.iAmSharedService;\r\n this.myPplCnt = 0;\r\n });\r\n\r\n this.prsnSvc.myPplCnt$.subscribe(cnt=>{\r\n this.myPplCnt = cnt;\r\n this.showPeople = cnt > 0;\r\n });\r\n this.prsnSvc.allMyPpl$.subscribe(ppl => {\r\n this.myPeople = ppl;\r\n })\r\n\r\n this.favSvc.myUnits$.subscribe(orgTree=>this.unitsUpdated(orgTree));\r\n\r\n this.activatedRoute.params.subscribe(p => setTimeout(() => {\r\n let loginId = p[\"loginId\"];\r\n if (!loginId) {\r\n setTimeout(() => {\r\n this.links = this.favSvc.favorites;\r\n });\r\n this.favSvc.userPeople().subscribe(\r\n ppl=>this.favPeople = ppl,\r\n e => this.modal.error(e).subscribe()\r\n );\r\n this.favSvc.updateMyUnits();\r\n return;\r\n } else {\r\n this.prsnSvc.lookup(loginId).subscribe(\r\n p => {\r\n this.person = p;\r\n this.favSvc.userLinks(p.id).subscribe(\r\n f=>this.links = f,\r\n e => this.modal.error(e).subscribe(() => this.router.navigate([\"/my-links\"]))\r\n );\r\n this.favSvc.userPeople(p.id).subscribe(\r\n ppl => this.favPeople = ppl,\r\n e => this.modal.error(e).subscribe(() => this.router.navigate([\"/my-links\"]))\r\n );\r\n this.favSvc.userUnits(p.id).subscribe(orgTree => this.unitsUpdated(orgTree));\r\n },\r\n e => this.modal.error(e).subscribe(() => this.router.navigate([\"/my-links\"]))\r\n );\r\n }\r\n }));\r\n \r\n }\r\n\r\n get pageDescr():string {\r\n return this.person ? `Favorites of ${this.person.name}` : 'My Favorites';\r\n }\r\n\r\n routerLink(url:string):string {\r\n let l = new URL(window.location.origin+url);\r\n return l.pathname;\r\n }\r\n\r\n routerQuery(url:string):Params {\r\n let l = new URL(window.location.origin+url);\r\n let o:Params = {};\r\n for (let e of l.searchParams.entries()) {\r\n if (o.hasOwnProperty(e[0])){\r\n if (!Array.isArray(o[e[0]]))\r\n o[e[0]] = [o[e[0]]];\r\n o[e[0]].push(e[1]);\r\n } else\r\n o[e[0]]=e[1];\r\n }\r\n return o;\r\n }\r\n\r\n @ViewChild('favMenu', { static: true }) public favMenu: ContextMenuComponent;\r\n onLinkClick(event: { $event: MouseEvent, url: string }) {\r\n if (this.person)\r\n return;\r\n this.contextMenuService.show.next({\r\n event: event.$event,\r\n contextMenu: this.favMenu,\r\n item: event.url,\r\n anchorElement: event.$event.currentTarget\r\n });\r\n event.$event.preventDefault();\r\n event.$event.stopPropagation();\r\n }\r\n\r\n @ViewChild(\"favEditTmpl\") favEditTmpl: TemplateRef;\r\n descr=\"\";\r\n editFav(url:string) {\r\n if (this.person)\r\n return;\r\n let l = this.favSvc.getLink(url);\r\n this.descr = l.description;\r\n this.modal.show({\r\n title: \"Edit favorite\",\r\n cancelBtn: \"Cancel\",\r\n template: this.favEditTmpl\r\n }).subscribe(\r\n res => {\r\n if (!res)\r\n return;\r\n l.description = this.descr;\r\n this.favSvc.updateLink(l).subscribe(\r\n res => {\r\n this.links = this.favSvc.favorites;\r\n }\r\n );\r\n });\r\n }\r\n\r\n deleteFav(url:string) {\r\n if (this.person)\r\n return;\r\n let l = this.favSvc.getLink(url);\r\n this.modal.ask(\"Delete favorite\", `Delete \"${l.description}\" from favorites?`)\r\n .subscribe(\r\n res => {\r\n if (!res)\r\n return;\r\n this.favSvc.delLink(l).subscribe(\r\n res => {\r\n this.links = this.favSvc.favorites;\r\n }\r\n );\r\n });\r\n }\r\n\r\n pplDlgData: {\r\n text?:string;\r\n ppl?:Person[];\r\n loginId?:string;\r\n person?: Person;\r\n } = {};\r\n\r\n @ViewChild(\"pplDlg\") pplDlg: TemplateRef;\r\n selectPerson() {\r\n this.ussSvc.getReps()\r\n .pipe(\r\n switchMap(reps=>{\r\n if (reps.length==0)\r\n return of(0);\r\n this.pplDlgData.ppl = reps;\r\n this.pplDlgData.loginId = reps[0].loginId\r\n this.pplDlgData.text = \"Select a user whose favorites you'd like to view\";\r\n return this.modal.show({\r\n title: \"View other user's favorites\",\r\n cancelBtn: \"Cancel\",\r\n template: this.pplDlg\r\n });\r\n })\r\n ).subscribe(\r\n res => {\r\n if (!res)\r\n return;\r\n this.router.navigate(['/my-links/' + this.pplDlgData.person.loginId]);\r\n },\r\n e => this.modal.error(e).subscribe()\r\n );\r\n }\r\n\r\n @ViewChild(\"pplSrchDlg\") pplSrchDlg: TemplateRef;\r\n onAddPerson() {\r\n if (this.person)\r\n return;\r\n this.pplDlgData.text = \"Please select a person to add\";\r\n if ((this.myPeople.length)) {\r\n this.pplDlgData.ppl = this.myPeople.filter(p => 0 > this.favPeople.findIndex(mp => mp.id == p.id));\r\n this.pplDlgData.loginId = this.pplDlgData.ppl[0].loginId;\r\n } else\r\n this.pplDlgData.ppl = [];\r\n this.modal.show({\r\n title: \"Add a person\",\r\n cancelBtn: \"Cancel\",\r\n template: this.pplDlg\r\n }).subscribe(\r\n res => {\r\n if (!res)\r\n return;\r\n this.favSvc.addPerson(this.pplDlgData.person.id).subscribe(\r\n ()=>{\r\n this.favSvc.userPeople().subscribe(\r\n ppl => this.favPeople = ppl,\r\n e => this.modal.error(e).subscribe()\r\n );\r\n },\r\n e => this.modal.error(e).subscribe()\r\n );\r\n },\r\n e => this.modal.error(e).subscribe()\r\n );\r\n }\r\n\r\n onRemovePrsn(p:Person) {\r\n if (this.person)\r\n return;\r\n this.modal.ask('Remove from favorites', `Remove ${p.name} from your favorites?`)\r\n .pipe(\r\n switchMap(res => {\r\n return res ?\r\n this.favSvc.removePerson(p.id)\r\n : of(0)\r\n })\r\n )\r\n .subscribe(\r\n res => {\r\n if (res !== 0)\r\n this.favSvc.userPeople().subscribe(\r\n ppl => {\r\n this.favPeople = ppl;\r\n this.favUnits.forEach(u=>iterateUnits(u,u=>u.people&&u.people.forEach(x=>{if(x.loginId==p.loginId)x.favorite=false})))\r\n },\r\n e => this.modal.error(e).subscribe()\r\n );\r\n },\r\n e => this.modal.error(e).subscribe()\r\n );\r\n }\r\n\r\n unitsUpdated(orgTree:OrgUnit) {\r\n this.myUnits = orgTree;\r\n this.showUnits = orgTree && orgTree.units && Object.keys(orgTree.units).length > 0;\r\n this.favUnits = (!orgTree?.units) ? [] :\r\n Object.values(orgTree.units).reduce(\r\n (p: OrgUnit[], c: OrgUnit) => {\r\n return p.concat(filterUnits(c, u => u.favorite));\r\n },\r\n []\r\n )\r\n this.favUnits.sort((x, y) => x.accessScope.localeCompare(y.accessScope));\r\n }\r\n\r\n @ViewChild(\"unitsDlg\") unitsDlg: TemplateRef;\r\n onSelectFavUnits() {\r\n if (this.person)\r\n return;\r\n let start = reduceUnits(this.myUnits, (p: string[], c) => { if (c.favorite) p.push(c.accessScope); return p; }, [])\r\n .sort((x, y) => x.localeCompare(y));\r\n this.modal.show({\r\n title: \"Select favorite units\",\r\n cancelBtn: \"Cancel\",\r\n template: this.unitsDlg\r\n })\r\n .subscribe(\r\n res => {\r\n if (!res) {\r\n let set = new Set(start);\r\n iterateUnits(this.myUnits,u=>u.favorite = set.has(u.accessScope));\r\n }\r\n let sel = reduceUnits(this.myUnits,(p:string[],c)=>{if (c.favorite) p.push(c.accessScope);return p;},[])\r\n .sort((x, y) => x.localeCompare(y));\r\n if (sel.length == start.length && sel.every((s,i)=>s==start[i]))\r\n return;\r\n this.favSvc.updateFavUnits(sel).subscribe(\r\n () => {\r\n this.favSvc.updateMyUnits();\r\n },\r\n e => {\r\n let set = new Set(start);\r\n iterateUnits(this.myUnits, u => u.favorite = set.has(u.accessScope));\r\n this.modal.error(e).subscribe();\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n onUnitSelectChange(u:OrgUnit) {\r\n if (!u.units)\r\n return;\r\n let v = u.favorite;\r\n iterateUnits(u,u=>u.favorite=v);\r\n }\r\n\r\n onUnitExpand(u:OrgUnit, loadPpl:boolean) {\r\n if (u.expanded && loadPpl && u.people===undefined) {\r\n this.prsnSvc.getPeople(u.accessScope).subscribe(\r\n ppl => {\r\n u.people=ppl;\r\n ppl.forEach(p=>p.favorite = this.favPeople.some(f=>f.loginId == p.loginId));\r\n },\r\n e => {\r\n u.people = [];\r\n this.modal.error(e).subscribe();\r\n }\r\n )\r\n }\r\n }\r\n\r\n onFavPersonFromUnit(p:Person) {\r\n if (this.person)\r\n return;\r\n this.modal.ask(\"Add a person\", `Add ${p.name} to your favorite people?`).subscribe(\r\n res => {\r\n if (!res)\r\n return;\r\n this.favSvc.addPerson(p.id).subscribe(\r\n () => {\r\n this.favSvc.userPeople().subscribe(\r\n ppl => {\r\n this.favPeople = ppl;\r\n p.favorite = true;\r\n },\r\n e => this.modal.error(e).subscribe()\r\n );\r\n },\r\n e => this.modal.error(e).subscribe()\r\n );\r\n },\r\n e => this.modal.error(e).subscribe()\r\n );\r\n\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n \r\n {{pageDescr}}\r\n

\r\n
\r\n Click here to view favorites of other USS representative\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Processes

\r\n
    \r\n
  • \r\n {{l.description}}\r\n
  • \r\n
\r\n
\r\n\r\n
\r\n

People\r\n \r\n favPeople.length && !person\">\r\n \r\n

\r\n \r\n
\r\n\r\n
\r\n

Units\r\n \r\n \r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n Edit\r\n \r\n \r\n Delete\r\n \r\n\r\n\r\n\r\n
    \r\n \r\n
\r\n
\r\n\r\n\r\n {{pplDlgData.text}}\r\n 99\" (onSelected)=\"pplDlgData.person = $event\">\r\n\r\n\r\n\r\n
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { MyLinksRoutingModule } from './my-links-routing.module';\r\nimport { MyLinksComponent } from './my-links.component';\r\nimport { SharedModule } from '../shared';\r\nimport { FavoritesService, Util } from '../core';\r\nimport { ContextMenuModule } from '@vldmr-bus/ngx-contextmenu';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n MyLinksComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n MyLinksRoutingModule,\r\n ContextMenuModule.forRoot({\r\n autoFocus: true,\r\n useBootstrap4: true,\r\n }),\r\n ],\r\n providers: [\r\n FavoritesService,\r\n Util\r\n ]\r\n})\r\nexport class MyLinksModule { }\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, TemplateRef, ViewChild } from \"@angular/core\";\r\nimport { ModalService } from \"../../modal/modal.service\";\r\nimport { Mfk, MfkString, areEqual, emptyMfk, stringify } from \"@uiowa/uiowa-mfk\";\r\nimport { FavAccount } from \"src/app/core/models/fav-account\";\r\n\r\n@Component({\r\n selector: 'lib-account',\r\n templateUrl: \"./account.component.html\",\r\n styleUrls: [\"./account.component.scss\"]\r\n})\r\nexport class Account implements OnInit, OnChanges {\r\n @Input() account: string\r\n @Output() accountChange = new EventEmitter();\r\n @Output() OnFavSelect: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n private modal: ModalService\r\n ) { }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.account && \r\n changes.account.currentValue !== undefined &&\r\n !areEqual(changes.account.currentValue, changes.account.previousValue)) {\r\n let s = new MfkString(this.account)\r\n if (s.isValidMfk)\r\n this.mfk = s.mfk\r\n }\r\n }\r\n\r\n mfk = emptyMfk();\r\n\r\n ngOnInit(): void {\r\n this.savedModal = undefined;\r\n if (this.account !== undefined){\r\n let s = new MfkString(this.account)\r\n if (s.isValidMfk)\r\n this.mfk = s.mfk\r\n }\r\n }\r\n\r\n static mfkRE = /^\\d{3}-\\d{2}-\\d{4}-\\d{5}-\\d{8}-\\d{4}-\\d{3}-\\d{5}-\\d{2}-\\d{4}(-\\d{2})?$/\r\n validateMfkStructure(mfk:string) {\r\n return mfk.replace(Account.mfkRE,'') == ''\r\n }\r\n\r\n onChange(mfk: Mfk) {\r\n var s = stringify(this.mfk)\r\n if (this.validateMfkStructure(s))\r\n setTimeout(() => {\r\n this.accountChange.emit(s)\r\n })\r\n }\r\n\r\n newFavorite: string;\r\n savedModal: any;\r\n @ViewChild(\"favAccntsDlg\") favAccntsDlg: TemplateRef;\r\n onFavClick() {\r\n this.newFavorite = undefined;\r\n if (this.modal.modalEl) {\r\n this.modal.modalEl.hidden = true;\r\n this.savedModal = this.modal.modalEl;\r\n this.modal.modalEl = undefined;\r\n }\r\n this.modal.show({\r\n title:\"Select favorite account\",\r\n okBtn: \"Cancel\",\r\n template: this.favAccntsDlg,\r\n elementClass:\"wide\"\r\n })\r\n .subscribe();\r\n }\r\n\r\n onFavSelect(acct:string) {\r\n if (this.validateMfkStructure(acct)) {\r\n this.mfk = new MfkString(acct).mfk\r\n }\r\n this.modal.close();\r\n if (this.savedModal) {\r\n this.modal.modalEl = this.savedModal;\r\n this.savedModal = undefined;\r\n this.modal.modalEl.hidden = false;\r\n }\r\n }\r\n\r\n onAddFavClick() {\r\n this.newFavorite = stringify(this.mfk);\r\n this.modal.show({\r\n title: \"Add favorite account\",\r\n okBtn: \"Cancel\",\r\n template: this.favAccntsDlg,\r\n elementClass: \"wide\"\r\n })\r\n .subscribe();\r\n }\r\n}","
\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
","import { Component, OnInit, Input, Output, EventEmitter, ViewEncapsulation, ElementRef, NgZone} from '@angular/core';\r\n\r\nimport { ColDef, ColGroupDef, FilterModel, GridApi, GridOptions, GridReadyEvent, GridState, ICellRendererParams, IDatasource, IGetRowsParams, PaginationState, RowHeightParams, SortModelItem, ValueFormatterParams } from 'ag-grid-community';\r\nimport { formatCurrency } from '@angular/common';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface AgTableState {\r\n filter?: FilterModel;\r\n sort?: SortModelItem[];\r\n pagination?: PaginationState;\r\n top?: number;\r\n rowSelection?: string[];\r\n}\r\n\r\nexport interface IAsyncDatasource extends IDatasource {\r\n updateRowCount(): Observable;\r\n restoreState?: AgTableState;\r\n}\r\n\r\n@Component({\r\n selector: 'ag-datatable',\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: './ag-datatable.component.html',\r\n styleUrls: ['./ag-datatable.component.scss']\r\n})\r\nexport class AgDatatableComponent implements OnInit {\r\n gridApi!: GridApi;\r\n\r\n @Input() context: any;\r\n _columns: ColDef[] =[];\r\n @Input() \r\n get columns() {return this._columns}\r\n set columns(c: (ColDef | ColGroupDef)[]) {\r\n this._columns=[...c];\r\n this.updateRenderers();\r\n }\r\n @Input() rowData: any[] = undefined;\r\n @Input() selectionType: 'single' |'multiple' = 'single';\r\n @Input() getRowClass: (row)=>string = undefined;\r\n @Input() isRowSelectable: (row)=>boolean = undefined;\r\n \r\n @Input() rowHeight: number = 40;\r\n @Input() getRowHeight?: (params: RowHeightParams) => number | undefined | null;\r\n\r\n @Input() dataSource: IAsyncDatasource = undefined;\r\n\r\n @Output() view = new EventEmitter();\r\n @Output() select = new EventEmitter();\r\n @Output() rowClick = new EventEmitter();\r\n @Output() state = new EventEmitter();\r\n @Output() ready = new EventEmitter();\r\n\r\n static dateFormat = new Intl.DateTimeFormat('en', { year: 'numeric', month: '2-digit', day: '2-digit' });\r\n\r\n static filterModelToQry(filterModel: FilterModel): string[] {\r\n var qry = [];\r\n for (const key in filterModel) {\r\n const filter = filterModel[key];\r\n if (filter.filterType == 'text') {\r\n qry.push(`${key}~${filter.filter}`);\r\n } else \r\n if (filter.filterType == 'date') {\r\n var dateFrom = filter.dateFrom ? new Date(filter.dateFrom).toISOString() : '';\r\n var dateTo = filter.dateTo ? new Date(filter.dateTo).toISOString() : '';\r\n if (filter.type == 'equals')\r\n qry.push(`${key}~${dateFrom}`);\r\n else if (filter.type == 'lessThan')\r\n qry.push(`${key}<=~${dateTo}`);\r\n else if (filter.type == 'greaterThan')\r\n qry.push(`${key}>=~${dateFrom}`);\r\n else if (filter.type == 'inRange'){\r\n qry.push(`${key}>=~${dateFrom}`);\r\n qry.push(`${key}<=~${dateTo}`);\r\n }\r\n }\r\n }\r\n return qry;\r\n }\r\n\r\n constructor(\r\n private ngZone: NgZone,\r\n private elementRef: ElementRef,\r\n ) { \r\n }\r\n\r\n onGridReady(event: GridReadyEvent): void {\r\n this.gridApi = event.api;\r\n if (this.dataSource) {\r\n this.dataSource.updateRowCount().subscribe(\r\n n => {\r\n this.gridApi.setGridOption('datasource', this.dataSource);\r\n this.gridApi.setRowCount(n);\r\n }\r\n );\r\n }\r\n this.ready.emit(this);\r\n this.gridApi.autoSizeAllColumns();\r\n this.gridApi.sizeColumnsToFit();\r\n }\r\n\r\n gridOptions: GridOptions;\r\n\r\n static readonly cellRenderers = {\r\n viewCell: (p: ICellRendererParams) => p.data?'':'',\r\n boolCell: (p: ICellRendererParams) => p.value ? 'Yes' : 'No',\r\n filterCell: (p: ICellRendererParams) => {\r\n if (!p.value)\r\n return p.value;\r\n return `${p.value}`\r\n },\r\n currencyCell: (p: ICellRendererParams) => formatCurrency(p.value ?? 0, 'en-us', '$'),\r\n linkCell: (p: ICellRendererParams) => {\r\n const href = p[\"href\"] ? p[\"href\"](p.data):\"#\";\r\n const text = p[\"text\"] ? p[\"text\"](p.data):p.value;\r\n if (!text)\r\n return text;\r\n return href?`${text}`:text;\r\n },\r\n }\r\n\r\n static readonly valueFormatters = {\r\n currency: (params: ValueFormatterParams) =>\r\n formatCurrency(params.value ?? 0, 'en-us', '$')\r\n };\r\n\r\n updateRenderers() {\r\n this._columns.forEach(c => {\r\n if (typeof c.cellRenderer === 'string') {\r\n if (AgDatatableComponent.cellRenderers[c.cellRenderer])\r\n c.cellRenderer = AgDatatableComponent.cellRenderers[c.cellRenderer];\r\n }\r\n if (typeof c.valueFormatter === 'string') {\r\n if (AgDatatableComponent.valueFormatters[c.valueFormatter])\r\n c.valueFormatter = AgDatatableComponent.valueFormatters[c.valueFormatter];\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.gridOptions = {\r\n context: this.context,\r\n columnDefs: this._columns,\r\n rowData: this.rowData,\r\n rowHeight: this.rowHeight,\r\n getRowHeight: this.getRowHeight,\r\n rowSelection: this.selectionType,\r\n suppressRowClickSelection: true,\r\n isRowSelectable: this.isRowSelectable,\r\n getRowClass: this.getRowClass,\r\n onCellClicked: (event) => {\r\n this.onCellClicked(event);\r\n },\r\n onSelectionChanged: (event) => {\r\n this.select.emit(event.api.getSelectedRows());\r\n },\r\n onStateUpdated: (event) => {\r\n this.state.emit(event);\r\n },\r\n enableCellTextSelection: true,\r\n suppressDragLeaveHidesColumns: true,\r\n animateRows: false,\r\n cacheQuickFilter: true,\r\n defaultColDef: {\r\n sortable: true,\r\n editable: false,\r\n filter: true,\r\n floatingFilter: true,\r\n resizable: true,\r\n suppressHeaderMenuButton: true,\r\n filterParams: {\r\n buttons: ['clear']\r\n }\r\n },\r\n };\r\n if (this.dataSource) {\r\n this.gridOptions.pagination = true;\r\n this.gridOptions.paginationPageSizeSelector = [100,500, 1000];\r\n this.gridOptions.paginationPageSize = 1000;\r\n this.gridOptions.cacheBlockSize = 1000;\r\n this.gridOptions.maxBlocksInCache = 1;\r\n this.gridOptions.rowModelType = 'infinite';\r\n this.gridOptions.onBodyScroll = (event) => {\r\n this.state.emit(event);\r\n }\r\n }\r\n this.updateRenderers();\r\n }\r\n\r\n onCellClicked(event: any) {\r\n if (event.event.target.tagName == 'I' && event.event.target.classList.contains('fa-filter')) {\r\n this.gridApi.setFilterModel({[event.column.colId]:{filterType:'text', type:'contains', filter:event.value}});\r\n return;\r\n }\r\n if (event.event.target.tagName == 'I' && event.event.target.classList.contains('fa-eye')) {\r\n this.view.emit(event);\r\n return;\r\n }\r\n if (event.event.target.tagName == 'A' && event.event.target.attributes[\"viewcell\"]) {\r\n this.view.emit(event);\r\n return;\r\n }\r\n this.rowClick.emit(event);\r\n }\r\n\r\n getState(): AgTableState {\r\n const state: GridState = this.gridApi.getState();\r\n // const row1 = this.gridApi.getFirstDisplayedRowIndex(); // this is not working\r\n const headerRect = (this.elementRef.nativeElement.querySelector('.ag-header').getBoundingClientRect());\r\n const remSize = parseInt(getComputedStyle(document.body).fontSize);\r\n const firstVisible = document.elementFromPoint(headerRect.x + remSize, (headerRect.y + headerRect.height + remSize))\r\n const row1 = Number.parseInt( firstVisible.closest('.ag-row')?.getAttribute('row-index')??\"0\");\r\n return {\r\n filter: state?.filter?.filterModel,\r\n sort:state.sort?.sortModel,\r\n pagination: state?.pagination,\r\n top: row1,\r\n rowSelection: state?.rowSelection as string[],\r\n }\r\n }\r\n\r\n restoreState(p: AgTableState) {\r\n if (!p)\r\n return;\r\n if (p.filter)\r\n this.gridApi.setFilterModel(p.filter);\r\n if (p.sort)\r\n this.gridApi.applyColumnState({state:p.sort, defaultState: {sort: null}});\r\n if (p.pagination) { \r\n if (p.pagination?.pageSize)\r\n this.gridApi.updateGridOptions({ paginationPageSize: p.pagination.pageSize });\r\n if (p.pagination.page != this.gridApi.paginationGetCurrentPage())\r\n this.gridApi.paginationGoToPage(p.pagination.page);\r\n }\r\n if (p.top)\r\n this.gridApi.ensureIndexVisible(p.top,\"top\");\r\n if (p.rowSelection)\r\n p.rowSelection.forEach(r => this.gridApi.getRowNode(r).setSelected(true));\r\n }\r\n\r\n stageState(ds: IAsyncDatasource, params: IGetRowsParams): boolean {\r\n if (!ds.restoreState)\r\n return false;\r\n if (ds.restoreState.filter || ds.restoreState.sort) {\r\n params.successCallback(new Array(params.endRow - params.startRow).fill({}), ds.rowCount)\r\n this.restoreState(ds.restoreState);\r\n ds.restoreState.filter = undefined;\r\n ds.restoreState.sort = undefined;\r\n return true;\r\n }\r\n if (ds.restoreState.pagination.page != 0) {\r\n params.successCallback(new Array(params.endRow - params.startRow).fill({}), ds.rowCount);\r\n setTimeout(() => {\r\n this.restoreState(ds.restoreState)\r\n ds.restoreState = undefined;\r\n });\r\n return true;\r\n }\r\n ds.restoreState = undefined;\r\n return false;\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, Input, Injectable, ViewChild, ElementRef, Output, EventEmitter, TemplateRef, ContentChild } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpRequest, HttpEvent, HttpEventType } from '@angular/common/http';\r\n\r\n\r\nimport { of } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { ModalService } from '../../modal/modal.service';\r\nimport { Util } from 'src/app/core';\r\nimport { Attachment } from 'src/app/core/models/attachment';\r\nimport { Comment } from 'src/app/core/models/comment';\r\n\r\n@Component({\r\n selector: 'lib-attachments',\r\n templateUrl: \"./attachments.component.html\",\r\n styleUrls: [\"./attachments.component.scss\"]\r\n})\r\n\r\nexport class AttachmentsComponent {\r\n @Input() apiURL: string;\r\n @Input() modifiable: boolean;\r\n @Input() selectable: boolean;\r\n @Input() multiselect: boolean;\r\n @Input() itemName: string = 'attachment';\r\n @Input() public set items(items:Attachment[]) {\r\n this.useAPItoGetItems = false;\r\n // $$Implements SW.FE.ATT.LIST.DELETED\r\n this.attachments = items.filter(a => !a.deleted);\r\n this.deleted = items.filter(a => a.deleted);\r\n }\r\n\r\n @Input() extrasTemplate: TemplateRef;\r\n\r\n @Output() onUpdate: EventEmitter = new EventEmitter();\r\n @Output() onMenu: EventEmitter = new EventEmitter();\r\n @Output() onDelete: EventEmitter = new EventEmitter();\r\n @Output() onSelect: EventEmitter = new EventEmitter();\r\n\r\n dateTimeString = Util.dateString;\r\n\r\n useAPItoGetItems = true;\r\n attachments: Attachment[];\r\n deleted: Attachment[];\r\n constructor(\r\n private http: HttpClient,\r\n private modalService:ModalService\r\n ) { }\r\n\r\n updateItems() {\r\n if (this.useAPItoGetItems) \r\n this.updateFromApi();\r\n else\r\n this.onUpdate.emit();\r\n }\r\n\r\n updateFromApi() {\r\n this.http.get(this.apiURL)//.replace(\"${id}\",this.itemId))\r\n .subscribe((atts:Attachment[])=>{\r\n // $$Implements SW.FE.ATT.LIST.DELETED\r\n this.attachments = atts.filter(a => !a.deleted);\r\n this.deleted = atts.filter(a => a.deleted);\r\n })\r\n }\r\n\r\n commentRows(a:Attachment) {\r\n let cmnt = a.comment||\"\";\r\n return 1+(cmnt.match(/\\n/gs)?.length??0);\r\n }\r\n\r\n onKeyPress(event:KeyboardEvent) {\r\n if (event.key == \"Enter\" && !event.shiftKey)\r\n (event.target).blur();\r\n }\r\n originalComment:string =\"\";\r\n\r\n startEditComment(comment: string) {\r\n this.originalComment = comment;\r\n }\r\n\r\n // $$Implements SW.FE.ATT.LIST.CMNT\r\n updateComment(id:number, event:Event) {\r\n let target:{value:string} = event.target;\r\n let originalComment = this.originalComment;\r\n let comment = target.value;\r\n if (originalComment == comment)\r\n return;\r\n this.http.put(`${this.apiURL}/${id}`,{comment})\r\n .subscribe(\r\n res => {\r\n this.updateItems();\r\n },\r\n error => {\r\n target.value = originalComment;\r\n this.error(\"Failed to updated description\",error)\r\n }\r\n );\r\n }\r\n\r\n onDeleteBtn(id: number) {\r\n if (this.onDelete.observers.length) {\r\n // $$Implements SW.FE.ATT.LIST.DEL_EVT\r\n this.onDelete.emit({id});\r\n return;\r\n }\r\n // $$Implements SW.FE.ATT.LIST.DEL\r\n this.del(id);\r\n }\r\n\r\n // $$Implements SW.FE.ATT.LIST.DEL\r\n del(id: number, msg?:string) {\r\n msg = msg || `Would you like to delete this ${this.itemName}?`;\r\n this.modalService.ask(`Delete ${this.itemName}`, msg)\r\n .pipe(\r\n switchMap(res => {\r\n return res ?\r\n this.http.delete(`${this.apiURL}/${id}`).pipe(switchMap(_ => of(true)))\r\n : of(false)\r\n })\r\n )\r\n .subscribe(\r\n res => {\r\n if (res)\r\n this.updateItems();\r\n },\r\n error => {\r\n this.error(\"Failed to delete attachment\", error)\r\n }\r\n );\r\n }\r\n\r\n cmntHist:Comment[] = [];\r\n @ViewChild(\"cmntHistTmpl\") cmntHistTmpl: TemplateRef;\r\n\r\n // $$Implements SW.FE.ATT.CMNT_HIST\r\n showCmntHist(id: number) {\r\n this.http.get(`${this.apiURL}/cmnts/${id}`).pipe(\r\n map(r => {\r\n return r.map(c => Comment.fixDates(c));\r\n })\r\n )\r\n .subscribe(\r\n res => {\r\n if (!res.length) {\r\n this.modalService.notify(\r\n \"Comments history\",\r\n \"This attachment does not have any comments yet\"\r\n ).subscribe();\r\n return;\r\n }\r\n this.cmntHist = res;\r\n this.modalService.show({\r\n title: \"Comments history\",\r\n template: this.cmntHistTmpl\r\n }).subscribe();\r\n },\r\n error => {\r\n this.error(\"Failed to fetch comments history\", error)\r\n }\r\n );\r\n }\r\n\r\n error(msg,err) {\r\n err = err||{};\r\n msg += \":
\" + (Util.errorMessage(err) || \"\");\r\n this.modalService.notify(\"Error\",msg).subscribe();\r\n }\r\n\r\n selected: number;\r\n rowStyle(i: number):string {\r\n let style = this.selectable ? 'cursor-default' : '';\r\n if (i === this.selected)\r\n style += \" selected\";\r\n return style;\r\n }\r\n\r\n onRowClick(i:number) {\r\n if (!this.selectable)\r\n return;\r\n this.selected = i;\r\n this.onSelect.emit(i);\r\n }\r\n\r\n unselect() {\r\n this.selected = undefined;\r\n }\r\n}\r\n","
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n No {{itemName}}s\r\n
\r\n\r\n\r\n
\r\n Deleted {{itemName}}s:\r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n {{a.filename}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{a.comment}}\r\n
\r\n\r\n \r\n\r\n
Created by {{a.createdBy}} @\r\n {{dateTimeString(a.createdOn)}} {{a.deleted?\"Deleted\":\"Last updated\"}} by {{a.modifiedBy}} @ {{dateTimeString(a.modifiedOn)}}\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
    \r\n
  • \r\n {{c.text}}
    \r\n By {{c.creator}}\r\n @ {{dateTimeString(c.createdOn)}}\r\n
  • \r\n
\r\n
","import { Component, OnInit, Input, Injectable, ViewChild, ElementRef, Output, EventEmitter, TemplateRef } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpRequest, HttpEvent, HttpEventType } from '@angular/common/http';\r\n\r\n\r\nimport { of } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { ModalService } from '../../modal/modal.service';\r\nimport { Util } from 'src/app/core';\r\nimport { Comment } from 'src/app/core/models/comment';\r\n\r\n@Component({\r\n selector: 'lib-comments',\r\n templateUrl: \"./comments.component.html\",\r\n styleUrls: [\"./comments.component.scss\"]\r\n})\r\n\r\nexport class CommentsComponent {\r\n @Input() apiURL: string;\r\n @Input() modifiable: boolean;\r\n @Input() showHistory: boolean;\r\n @Input() public set items(items:Comment[]) {\r\n this.useAPItoGetItems = false;\r\n // $$Implements SW.FE.CMNT.LIST.DELETED\r\n this.comments = items.filter(c => !c.deleted);\r\n this.deleted = items.filter(c => c.deleted);\r\n }\r\n @Output() onUpdate: EventEmitter = new EventEmitter();\r\n @Output() onMenu: EventEmitter = new EventEmitter();\r\n\r\n dateTimeString = Util.dateString;\r\n\r\n useAPItoGetItems = true;\r\n comments: Comment[];\r\n deleted: Comment[];\r\n constructor(\r\n private http: HttpClient,\r\n private modalService:ModalService\r\n ) { }\r\n\r\n commentRows(c:Comment) {\r\n let cmnt = c.text||\"\";\r\n return 1+(cmnt.match(/\\n/gs)?.length??0);\r\n }\r\n\r\n onKeyPress(event:KeyboardEvent) {\r\n if (event.key == \"Enter\" && !event.shiftKey)\r\n (event.target).blur();\r\n }\r\n originalComment:string =\"\";\r\n\r\n startEditComment(comment: string) {\r\n this.originalComment = comment;\r\n }\r\n\r\n // $$Implements SW.FE.CMNT.UPDATE\r\n updateComment(id:number, event:Event) {\r\n let target:{value:string} = event.target;\r\n let originalComment = this.originalComment;\r\n let comment = target.value;\r\n if (originalComment == comment)\r\n return;\r\n this.http.put(`${this.apiURL}/cmnt/${id}`,{comment})\r\n .subscribe(res => {\r\n let idx = this.comments.findIndex(c => c.id == id);\r\n if (idx >= 0)\r\n this.comments[idx] = Comment.fixDates(res);\r\n this.onUpdate.emit();\r\n },\r\n error => {\r\n target.value = originalComment;\r\n this.error(\"Failed to updated description\",error)\r\n }\r\n );\r\n }\r\n\r\n // $$Implements SW.FE.CMNT.DEL\r\n onDeleteBtn(id: number) {\r\n let msg = \"Would you like to delete this comment?\";\r\n this.modalService.ask(\"Delete comment\", msg)\r\n .pipe(\r\n switchMap(res => {\r\n return res ?\r\n this.http.delete(`${this.apiURL}/cmnt/${id}`)\r\n : of(0)\r\n })\r\n )\r\n .subscribe(\r\n res => {\r\n if (res!==0){\r\n let idx = this.comments.findIndex(c => c.id == id);\r\n if (idx >= 0) {\r\n this.comments[idx].deleted = true;\r\n this.deleted = [this.comments[idx], ...this.deleted];\r\n this.comments = this.comments.filter(c => c.id != id);\r\n }\r\n this.onUpdate.emit();\r\n }\r\n },\r\n error => {\r\n this.error(\"Failed to delete comment\", error)\r\n }\r\n );\r\n }\r\n\r\n cmntHist:Comment[] = [];\r\n @ViewChild(\"cmntHistTmpl\") cmntHistTmpl: TemplateRef;\r\n\r\n // $$Implements SW.FE.CMNT.HIST\r\n onHistoryBtn(id: number) {\r\n this.http.get(`${this.apiURL}/cmnt/${id}`).pipe(\r\n map(r => {\r\n return r.map(c => Comment.fixDates(c));\r\n })\r\n )\r\n .subscribe(\r\n res => {\r\n if (!res.length) {\r\n this.modalService.notify(\r\n \"Comments history\",\r\n \"This comment does not have any changes yet\"\r\n ).subscribe();\r\n return;\r\n }\r\n this.cmntHist = res;\r\n this.modalService.show({\r\n title: \"Comments history\",\r\n template: this.cmntHistTmpl\r\n }).subscribe();\r\n },\r\n error => {\r\n this.error(\"Failed to fetch history\", error)\r\n }\r\n );\r\n }\r\n\r\n error(msg,err) {\r\n err = err||{};\r\n msg += \":
\" + (Util.errorMessage(err) || \"\");\r\n this.modalService.notify(\"Error\",msg).subscribe();\r\n }\r\n}\r\n","
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n\r\n\r\n
\r\n Deleted comments:\r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
{{c.text}}
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
Created by {{c.createdBy}} @\r\n {{dateTimeString(c.createdOn)}} {{c.deleted?\"Deleted\":\"Last updated\"}} by {{c.modifiedBy}} @ {{dateTimeString(c.modifiedOn)}}\r\n
\r\n
\r\n
\r\n\r\n\r\n
    \r\n
  • \r\n {{c.text}}
    \r\n By {{c.modifiedBy}}\r\n @ {{dateTimeString(c.modifiedOn)}}\r\n
  • \r\n
\r\n
","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { NgbCalendar, NgbDate, NgbDateParserFormatter, NgbInputDatepicker } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nexport interface DateRange {\r\n rangeKind: DateRangeKind,\r\n hoveredDate?: NgbDate,\r\n fromDate?: NgbDate,\r\n toDate?: NgbDate,\r\n}\r\n\r\nexport enum DateRangeKind {\r\n after = 1,\r\n before,\r\n range\r\n}\r\n\r\n@Component({\r\n selector: 'shared-date-range',\r\n templateUrl: './date-range.component.html',\r\n styleUrls: ['./date-range.component.scss']\r\n})\r\nexport class DateRangeComponent { \r\n @Input() range: DateRange;\r\n @Input() name: string;\r\n @Output() onSelect = new EventEmitter();\r\n @Output() onClear = new EventEmitter();\r\n\r\n constructor(\r\n private calendar: NgbCalendar,\r\n public formatter: NgbDateParserFormatter\r\n ) {\r\n }\r\n\r\n dateRangeRestore(val: string, drp: NgbInputDatepicker) {\r\n if (!val)\r\n return;\r\n let lessidx = val.search('<');\r\n if (lessidx > 0) {\r\n this.range.fromDate = NgbDate.from(this.formatter.parse(val.substring(0,lessidx)));\r\n this.range.toDate = NgbDate.from(this.formatter.parse(val.substring(lessidx+1)));\r\n this.range.rangeKind = DateRangeKind.range;\r\n } else\r\n if (lessidx == 0) {\r\n this.range.fromDate = NgbDate.from(this.formatter.parse(val.substring(1)));\r\n this.range.rangeKind = DateRangeKind.before;\r\n } else\r\n if (val.startsWith('>')) {\r\n this.range.fromDate = NgbDate.from(this.formatter.parse(val.substring(1)));\r\n this.range.rangeKind = DateRangeKind.after;\r\n }\r\n if (this.range.fromDate)\r\n drp.navigateTo(this.range.fromDate);\r\n }\r\n\r\n onDateRangeSelect(date: NgbDate) {\r\n if (this.range.rangeKind != DateRangeKind.range) {\r\n this.range.toDate = null;\r\n this.range.fromDate = date;\r\n } else\r\n if (!this.range.fromDate && !this.range.toDate) {\r\n this.range.fromDate = date;\r\n } else \r\n if (this.range.fromDate && !this.range.toDate && date && date.after(this.range.fromDate)) {\r\n this.range.toDate = date;\r\n } else {\r\n this.range.toDate = null;\r\n this.range.fromDate = date;\r\n }\r\n }\r\n\r\n isHovered(date: NgbDate) {\r\n return (\r\n this.range.fromDate && !this.range.toDate && this.range.hoveredDate && date.after(this.range.fromDate) && date.before(this.range.hoveredDate)\r\n );\r\n }\r\n\r\n isInside(date: NgbDate) {\r\n switch (this.range.rangeKind) {\r\n case DateRangeKind.after:\r\n return this.range.fromDate && date.after(this.range.fromDate);\r\n case DateRangeKind.before:\r\n return this.range.fromDate && date.before(this.range.fromDate);\r\n case DateRangeKind.range:\r\n return this.range.toDate && date.after(this.range.fromDate) && date.before(this.range.toDate);\r\n }\r\n }\r\n\r\n isRange(date: NgbDate) {\r\n return (\r\n date.equals(this.range.fromDate) ||\r\n (this.range.toDate && date.equals(this.range.toDate)) ||\r\n this.isInside(date) ||\r\n this.isHovered(date)\r\n );\r\n }\r\n\r\n public rangeSelected(string):boolean {\r\n return this.range.rangeKind == DateRangeKind.range && !!this.range.toDate;\r\n }\r\n\r\n validateInput(currentValue: NgbDate | null, input: string): NgbDate | null {\r\n const parsed = this.formatter.parse(input);\r\n return parsed && this.calendar.isValid(NgbDate.from(parsed)) ? NgbDate.from(parsed) : currentValue;\r\n }\r\n\r\n dateRangeApply() {\r\n let event = {\r\n target: {\r\n name:this.name,\r\n value: this.dateRangeExpression()\r\n }\r\n };\r\n this.onSelect.emit(event);\r\n }\r\n\r\n onDateRangeKeyDown(e:KeyboardEvent) {\r\n let tgt = e.target;\r\n if (e.key == \"Enter\"){\r\n let event = {\r\n target: {\r\n name:this.name,\r\n value: tgt.value\r\n }\r\n };\r\n this.onSelect.emit(event);\r\n\r\n tgt.blur();\r\n //this.dateRangeApply();\r\n }\r\n }\r\n\r\n onDateRangeClear(event: MouseEvent) {\r\n this.range.fromDate = this.range.toDate = null;\r\n this.onClear.emit(event);\r\n }\r\n \r\n dateRangeExpression() {\r\n switch (this.range?.rangeKind) {\r\n case DateRangeKind.after:\r\n return this.range.fromDate ? \">\" + this.formatter.format(this.range.fromDate):'';\r\n case DateRangeKind.before:\r\n return this.range.fromDate ? \"<\" + this.formatter.format(this.range.fromDate):'';\r\n case DateRangeKind.range:\r\n return (this.range.fromDate && this.range.toDate) ? this.formatter.format(this.range.fromDate) + \"<\" + this.formatter.format(this.range.toDate):'';\r\n }\r\n }\r\n\r\n}","\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n \r\n {{ date.day }}\r\n \r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { Expense, Util } from 'src/app/core';\r\nimport { ModalService } from '../../modal/modal.service';\r\nimport { XpDistribution } from 'src/app/core/models/xp-distribution';\r\n\r\ninterface DistEdits {\r\n id: number;\r\n amount?: number,\r\n account?: string,\r\n desc?: string,\r\n slid?: string,\r\n slac?: string\r\n}\r\n\r\n@Component({\r\n selector: 'lib-distributions',\r\n templateUrl: './distributions.component.html',\r\n styleUrls: ['./distributions.component.scss']\r\n})\r\nexport class DistributionsComponent implements AfterViewInit {\r\n @Input() expense: Expense;\r\n @Input() createButton: boolean = false;\r\n @Output() onEdit = new EventEmitter();\r\n @Output() onSave = new EventEmitter<{ xp: Expense, dist: XpDistribution }>();\r\n @Output() onDelete = new EventEmitter();\r\n @Output() instance = new EventEmitter();\r\n\r\n dateTimeString = Util.dateTimeString;\r\n currencyString = Util.currencyString;\r\n\r\n ded: DistEdits;\r\n ided: DistEdits;\r\n\r\n constructor(\r\n private modal: ModalService,\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.instance.emit(this);\r\n }\r\n\r\n // $$Implements SW.FE.XP.PAGE.DTL.ADD_DIST.ACT\r\n createDistribution() {\r\n if (!this.expense.editable)\r\n return;\r\n if (this.ded?.id === 0)\r\n return;\r\n if (this.checkEdits(() => this.createDistribution()))\r\n return;\r\n // $$Implements SW.FE.PAGE.DTL.DIST_EDIT\r\n this.ded = {\r\n id: 0,\r\n amount: this.expense.amount - this.expense.reconciled,\r\n account: this.expense.defaultAcc,\r\n desc: \"\",\r\n slid: \"\",\r\n slac: \"\"\r\n };\r\n this.ided = JSON.parse(JSON.stringify(this.ded));\r\n }\r\n\r\n // $$Implements SW.FE.PAGE.DTL.UPDT_DIST\r\n editDist(id: number) {\r\n if (!this.expense.editable)\r\n return;\r\n let dist = this.expense.distributions.find(d => d.id == id);\r\n if (!dist) {\r\n this.modal.error(\"Distriution not found\").subscribe();\r\n return;\r\n }\r\n if (this.ded?.id === id)\r\n return;\r\n if (this.checkEdits(() => this.editDist(id)))\r\n return;\r\n // $$Implements SW.FE.PAGE.DTL.DIST_EDIT\r\n this.ded = {\r\n id: dist.id,\r\n amount: dist.amount,\r\n account: dist.account,\r\n desc: dist.description,\r\n slid: dist.slid,\r\n slac: dist.slac\r\n };\r\n this.ided = JSON.parse(JSON.stringify(this.ded));\r\n this.onEdit.emit(this.expense);\r\n }\r\n\r\n hasUnsavedChanges() {\r\n if (!this.ded)\r\n return false;\r\n return !Util.objectsEqual(this.ded, this.ided);\r\n }\r\n\r\n checkEdits(cb: () => void): boolean {\r\n if (!this.hasUnsavedChanges())\r\n return false;\r\n this.modal.ask(\"Unsaved changes\", \"You have not saved distribution edits. Would you like to proceed and lose edits?\")\r\n .subscribe(res => {\r\n if (res) {\r\n this.ded = this.ided = undefined;\r\n cb();\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n closeDistEditor(save: boolean) {\r\n if (save) {\r\n // $$Implements SW.FE.PAGE.DTL.DIST_EDIT_SBMT\r\n this.onSave.emit({\r\n xp:this.expense, \r\n dist: Object.assign(new XpDistribution(),{\r\n id: this.ded.id,\r\n amount: this.ded.amount,\r\n account: this.ded.account,\r\n description: this.ded.desc,\r\n slid: this.ded.slid,\r\n slac: this.ded.slac\r\n })\r\n });\r\n }\r\n this.ded = undefined;\r\n this.onEdit.emit(null);\r\n }\r\n\r\n okButtonHelp(): string {\r\n if (!this.ded.desc || this.ded.desc.length < 3)\r\n return \"Description is required\";\r\n return \"\";\r\n }\r\n\r\n // $$Implements SW.FE.XP.PAGE.DTL.DST_DEL\r\n delDist(id: number) {\r\n if (!this.expense.editable)\r\n return;\r\n let dist = this.expense.distributions.find(d => d.id == id);\r\n if (!dist) {\r\n this.modal.error(\"Distriution not found\").subscribe();\r\n return;\r\n }\r\n this.modal.show({\r\n title: \"Remove distribution\",\r\n cancelBtn: \"Cancel\",\r\n message: `Remove distribution '${dist.description}'`\r\n })\r\n .subscribe(\r\n res => {\r\n if (res)\r\n this.onDelete.emit(id);\r\n },\r\n )\r\n\r\n }\r\n\r\n discardChanges() {\r\n this.ded = this.ided = undefined;\r\n }\r\n\r\n getHeight() {\r\n let h = this.expense.distributions.length*85;\r\n if (this.ded)\r\n h+=180;\r\n return h;\r\n }\r\n}","
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n
    \r\n
    \r\n {{d.description}}\r\n {{d.account}}\r\n SLID/SLAC {{d.slid}}/{{d.slac}}\r\n {{ currencyString(d.amount) }}\r\n
    \r\n Last updated by {{d.modifiedBy}}\r\n @ {{dateTimeString(d.modifiedOn)}}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n Amount\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Line Description/Business Justification:
\r\n \r\n
\r\n SLID/SLAC:\r\n /\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
","import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { Expense, ExpensesService, FavoritesService, Util } from \"src/app/core\";\r\nimport { FavAccount } from \"src/app/core/models/fav-account\";\r\nimport { XpDistribution } from \"src/app/core/models/xp-distribution\";\r\n\r\n@Component({\r\n selector: \"lib-exp-editor\",\r\n templateUrl: \"./exp-editor.component.html\",\r\n styleUrls: [\"./exp-editor.component.css\"],\r\n})\r\nexport class ExpEditor implements OnInit, OnChanges {\r\n @Input() expense: Expense;\r\n @Output() onAddComment = new EventEmitter();\r\n\r\n dateString = Util.dateString;\r\n currencyString = Util.currencyString;\r\n\r\n favAccounts: FavAccount[];\r\n draftAcct: string;\r\n draftJust: string;\r\n applyJustAll: boolean\r\n draftSlid: string;\r\n draftSlac: string;\r\n justTab: string = 'Apply to All Distributions';\r\n draftAmount:number;\r\n showComments = false;\r\n\r\n constructor(\r\n private favSvc: FavoritesService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.favSvc.accounts$.subscribe(accounts => setTimeout(() => this.favAccounts = [...accounts]));\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.expense && changes.expense.currentValue) {\r\n if (!changes.expense.previousValue ) {\r\n this.showComments = false;\r\n if (!this.expense.distributions?.length) {\r\n this.draftAcct = \"\";\r\n this.justTab = 'Apply to All Distributions';\r\n this.draftJust = \"\";\r\n this.draftSlac = \"\";\r\n this.draftSlid = \"\";\r\n }\r\n }\r\n this.onCommentsUpdate();\r\n }\r\n }\r\n\r\n get balance() {\r\n return this.expense.amount - this.expense.distributions.reduce((a, b) => a + ((b.amount!==undefined)?b.amount:this.draftAmount), 0);\r\n }\r\n\r\n fullAcct(dist: XpDistribution) {\r\n return dist.account + (dist.slid?` ${dist.slid}/${dist.slac}`: \"\");\r\n }\r\n\r\n delDist(dist: XpDistribution) {\r\n this.expense.distributions = this.expense.distributions.filter(d => d !== dist);\r\n }\r\n\r\n editDist(dist: XpDistribution) {\r\n this.draftAcct = dist.account;\r\n this.draftSlid = dist.slid;\r\n this.draftSlac = dist.slac;\r\n this.draftJust = dist.description;\r\n this.expense.distributions = this.expense.distributions.filter(d => d !== dist);\r\n this.applyJustAll = true;\r\n }\r\n\r\n editAmount(dist: XpDistribution) {\r\n this.draftAmount = dist.amount;\r\n dist.amount = undefined;\r\n setTimeout(() => document.getElementsByClassName(\"amount-input\")[0][\"select\"]());\r\n }\r\n\r\n onAmountKey($event: Event) {\r\n let event = $event as KeyboardEvent;\r\n if (event.key == \"Enter\")\r\n event.target[\"blur\"]();\r\n }\r\n\r\n isAcctUsed(acct: string) {\r\n return !acct || this.expense.distributions.some(d => d.account == acct);\r\n }\r\n\r\n addDist(acct: string) {\r\n var dist = new XpDistribution();\r\n dist.account = acct;\r\n dist.slid = this.draftSlid;\r\n dist.slac = this.draftSlac;\r\n if (this.applyJustAll)\r\n dist.description = this.draftJust;\r\n this.expense.distributions.push(dist);\r\n }\r\n \r\n onFavSelected(e: Event) {\r\n var acct = (e.target as HTMLSelectElement).value;\r\n e.target[\"selectedIndex\"] = 0;\r\n if (acct) {\r\n this.addDist(acct);\r\n }\r\n }\r\n\r\n applyJustBulk() {\r\n this.expense.distributions.forEach(d => {\r\n if (this.applyJustAll)\r\n d.description = this.draftJust;\r\n else if (!d.description)\r\n d.description = this.draftJust;\r\n });\r\n }\r\n\r\n toggleComments() {\r\n if (this.expense.comments.length == 0)\r\n this.onAddComment.emit(this.expense.id);\r\n else\r\n this.showComments = !this.showComments;\r\n }\r\n\r\n onCommentsUpdate() {\r\n this.expense.comments = this.expense.comments.filter(c => !c.deleted);\r\n if (this.expense.comments.length == 0)\r\n this.showComments = false;\r\n }\r\n\r\n disableBJ() {\r\n return this.expense.distributions.every(d => !!d.description) && !this.applyJustAll\r\n }\r\n\r\n showOverrideCB() {\r\n return this.expense.distributions.some(d => !!d.description);\r\n }\r\n\r\n buttonText() {\r\n if (this.expense.distributions.length == 1)\r\n return \"Apply business justification\";\r\n if (this.applyJustAll)\r\n return \"Apply business justification to all distributions\";\r\n return \"Apply business justification to remaining distributions\";\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{currencyString(expense.amount)}}
\r\n
{{dateString(expense.postdate)}}
\r\n
{{expense.vendor}}
\r\n
Line {{expense.lineNumber}}
\r\n
\r\n \r\n
\r\n\r\n
\r\n Comments:\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n @if (dist.slid || dist.slac) {\r\n \r\n /\r\n \r\n } @else {\r\n Add SLID/SLAC\r\n }\r\n
\r\n
\r\n @if (dist.description!=='') {\r\n
\r\n } @else {\r\n Add justification for this distribution (optional)\r\n }\r\n
\r\n
\r\n
\r\n
1\" class=\"col-2\">\r\n {{currencyString(dist.amount)}}\r\n \r\n\r\n
\r\n
\r\n \r\n
1\" class=\"row m-1\">\r\n
\r\n
\r\n
\r\n \r\n
{{currencyString(balance)}}
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
or enter
MFK
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n /\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n Business Justification\r\n \r\n
\r\n \r\n
\r\n
\r\n {{buttonText()}}\r\n
\r\n
\r\n \r\n Attachments:\r\n
\r\n {{a.filename}}\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from \"@angular/core\";\r\nimport { AgDatatableComponent } from '..';\r\nimport { FavAccount } from \"src/app/core/models/fav-account\";\r\nimport { nameof } from \"ts-simple-nameof\";\r\nimport { FavoritesService, Util } from \"src/app/core\";\r\nimport { switchMap } from \"rxjs/operators\";\r\nimport { ModalService } from \"../../modal/modal.service\";\r\nimport { MfkString, emptyMfk, stringify } from \"@uiowa/uiowa-mfk\";\r\nimport { of } from \"rxjs\";\r\nimport { CellClickedEvent, ColDef, RowClassParams } from \"ag-grid-community\";\r\n\r\nexport const MfkFields = [\r\n \"Fund\",\r\n \"Org\",\r\n \"Dept\",\r\n \"Subdept\",\r\n \"Grant/Pgm\",\r\n \"Iact\",\r\n \"Oact\",\r\n \"Dact\",\r\n \"Fn\",\r\n \"Cctr\",\r\n];\r\n\r\nclass FavAcctRow extends FavAccount {\r\n constructor(a:FavAccount) {\r\n super();\r\n Util.copy(a, this);\r\n a.account.split(\"-\").forEach((s,i)=>(this)[i]=s);\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-fav-accnts',\r\n templateUrl: \"./fav-accnts.component.html\",\r\n styleUrls: [\"./fav-accnts.component.scss\"]\r\n})\r\nexport class FavAccnts implements OnInit {\r\n @Input() fields: string[];\r\n @Input() newFavorite: string = undefined;\r\n @Output() OnSelect: EventEmitter = new EventEmitter();\r\n \r\n rows: FavAcctRow[];\r\n cols: ColDef[];\r\n constructor(\r\n private favSvc: FavoritesService,\r\n private modal: ModalService\r\n ) { }\r\n \r\n @ViewChild('datatable') datatable: AgDatatableComponent;\r\n @ViewChild('editDelTmpl', { static: true }) editDelTmpl: TemplateRef;\r\n \r\n show=false;\r\n ngOnInit(): void {\r\n const em = Util.getEM();\r\n if (!this.fields)\r\n this.fields = MfkFields;\r\n this.cols = [\r\n {\r\n width: 6 * em,\r\n maxWidth: 6 * em,\r\n minWidth: 6 * em,\r\n sortable: false,\r\n filter: false,\r\n resizable: false,\r\n cellRenderer: () => `\r\n \r\n \r\n `,\r\n onCellClicked: (p) => {\r\n if ((p.event.target as HTMLElement).classList.contains(\"fa-edit\")) {\r\n this.Edit(p.data);\r\n } else if ((p.event.target as HTMLElement).classList.contains(\"fa-trash\")) {\r\n this.Del(p.data);\r\n }\r\n }\r\n },\r\n {\r\n headerName: \"Description\", width:300, field: nameof(x => x.description) }\r\n ];\r\n this.cols= this.cols.concat(this.fields.map((f, i) => { return { \r\n headerName: f, \r\n field: i.toString(),\r\n resizable:false,\r\n suppressAutoSize:true\r\n // $$valueGetter: ((r:FavAcctRow) =>r.elements[i])\r\n };\r\n }));\r\n this.favSvc.accounts$.subscribe(accounts => setTimeout(()=>this.updateAccounts(accounts)));\r\n \r\n if (this.newFavorite)\r\n setTimeout(()=>this.Edit(null));\r\n }\r\n \r\n onGridReady($event: any) {\r\n this.datatable.gridApi.setGridOption('domLayout', 'print')\r\n this.datatable.gridApi.setGridOption(\"rowData\", this.rows);\r\n }\r\n\r\n updateAccounts(accnts:FavAcctRow[]) {\r\n const em = Util.getEM();\r\n this.rows = [...accnts.map(a => new FavAcctRow(a))];\r\n }\r\n\r\n rowClass = (row:RowClassParams)=> {\r\n let c = (this.OnSelect.observers.length) ?\"cursor-pointer\":\"\";\r\n if (!row.data.valid)\r\n c += \" text-danger\"\r\n return c;\r\n }\r\n\r\n onRowClick(event:CellClickedEvent) {\r\n this.OnSelect.emit(event.data.account);\r\n }\r\n\r\n mfk = emptyMfk();\r\n description=\"\";\r\n @ViewChild(\"editAccntDlg\") editAccntDlg: TemplateRef;\r\n Edit(row:FavAcctRow) {\r\n const add = !row;\r\n row = row || new FavAcctRow({\r\n id: 0,\r\n account: this.newFavorite,\r\n description: \"\"\r\n });\r\n this.mfk = Object.assign(emptyMfk() , Util.fromPartialMfk(emptyMfk() ,row.account));\r\n this.description = row?.description||\"\";\r\n this.modal.show({\r\n title: add ? \"Add favorite account\" : \"Edit favorite account\",\r\n cancelBtn: \"Cancel\",\r\n template: this.editAccntDlg,\r\n elementClass: \"wide\",\r\n okOnEnter: true,\r\n okBtnDisabled: ()=>!this.description,\r\n okBtnHelp: () => (!this.description)?\"Description is required\":\"\"\r\n })\r\n .pipe(\r\n switchMap(res => {\r\n if (!res)\r\n return of(0);\r\n row.account = stringify(this.mfk);\r\n row.description = this.description;\r\n if (row.id) {\r\n return this.favSvc.updateAccnt(row);\r\n } else {\r\n return this.favSvc.addAccnt(row);\r\n }\r\n })\r\n )\r\n .subscribe(\r\n res => {\r\n if (res !== 0)\r\n this.favSvc.updateAccounts();\r\n },\r\n error => {\r\n this.modal.error(error).subscribe(()=>setTimeout(()=>this.Edit(row)))\r\n }\r\n );\r\n }\r\n\r\n Del(row:FavAcctRow) {\r\n this.modal.ask(\r\n \"Remove from favorites\",\r\n `Remove \"${row.description}\" from favorites?`\r\n )\r\n .pipe(\r\n switchMap(res => {\r\n return res ?\r\n this.favSvc.delAccnt(row)\r\n : of(0)\r\n })\r\n )\r\n .subscribe(\r\n res => {\r\n if (res !== 0)\r\n this.favSvc.updateAccounts();\r\n },\r\n error => {\r\n this.modal.error(error).subscribe()\r\n }\r\n );\r\n }\r\n}","
\r\n \r\n \r\n
\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n","import { Component, Input, OnInit, TemplateRef, ViewChild } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AppEventsService, FavoritesService } from \"src/app/core\";\r\nimport { AppEventType } from \"src/app/core/models/app-event\";\r\nimport { ModalService } from \"../../modal/modal.service\";\r\n\r\n@Component({\r\n selector: 'lib-fav-star',\r\n templateUrl: \"./fav-star.component.html\",\r\n styleUrls: [\"./fav-star.component.scss\"]\r\n})\r\nexport class FavStar implements OnInit {\r\n @Input() descr: string;\r\n\r\n added: boolean = false;\r\n\r\n constructor(\r\n private router: Router,\r\n private favSvc: FavoritesService,\r\n private modal: ModalService,\r\n private aeBus: AppEventsService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.update();\r\n this.aeBus.on(AppEventType.UrlUpdated)\r\n .subscribe(e => this.update());\r\n }\r\n\r\n update() {\r\n this.added = this.favSvc.isUrlAdded(this.url);\r\n }\r\n \r\n get url():string {\r\n let loc = window.location;\r\n return `${loc.pathname}${loc.hash}${loc.search}`;\r\n }\r\n public get iconClass(): string {\r\n return \"ms-3 \"+(this.added ? \"fa-solid\":\"fa-regular\");\r\n }\r\n\r\n public get title(): string {\r\n return this.added?\"Already in your favorits\":\"Add to your favorits\";\r\n }\r\n\r\n @ViewChild(\"favDescTmpl\") favDescTmpl: TemplateRef;\r\n onClick() {\r\n if (this.added){\r\n this.router.navigate(['my-links'])\r\n return;\r\n }\r\n this.modal.show({\r\n title:\"Add to favorites\",\r\n cancelBtn: \"Cancel\",\r\n template: this.favDescTmpl,\r\n okOnEnter: true\r\n }).subscribe(\r\n res=>{\r\n if (!res)\r\n return;\r\n this.favSvc.addLink({\r\n url: this.url,\r\n description: this.descr\r\n }).subscribe(\r\n res => {\r\n this.added = true;\r\n }\r\n );\r\n });\r\n }\r\n}\r\n","\r\n\r\n\r\n
    \r\n \r\n
\r\n
","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from \"@angular/core\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { forkJoin, of, Subscription } from \"rxjs\";\r\nimport { debounceTime, switchMap } from \"rxjs/operators\";\r\nimport { ApplicationUser, PersonService, UserService } from \"src/app/core\";\r\nimport { Attachment } from \"src/app/core/models/attachment\";\r\nimport { ModalService } from \"../..\";\r\nimport { AttachmentsComponent } from \"../attachments/attachments.component\";\r\nimport { HubSelectService } from \"./hubSelect.service\";\r\n\r\n// $$Implements SW.FE.HUB.ATT\r\n@Component({\r\n selector: 'lib-hubSelect',\r\n templateUrl: \"./hubSelect.component.html\",\r\n styleUrls: [\"./hubSelect.component.scss\"]\r\n})\r\nexport class HubSelectComponent implements AfterViewInit {\r\n @Input() personId: number;\r\n @Input() personName: string;\r\n @Output() onSelected: EventEmitter = new EventEmitter();\r\n @ViewChild('otherFilesList') otherFilesList: AttachmentsComponent;\r\n @ViewChild('myFilesList') myFilesList: AttachmentsComponent;\r\n @ViewChild(\"hubDlg\") hubDlg: TemplateRef;\r\n\r\n constructor(public svc:HubSelectService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.svc.registeComponent(this);\r\n }\r\n\r\n}","\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Files of {{this.svc.personName}}
\r\n \r\n \r\n
\r\n
\r\n
My files
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n MFK: {{a.mfk}}\r\n
\r\n
\r\n {{a.bjust}}\r\n
\r\n
\r\n
","import { Injectable } from \"@angular/core\";\r\nimport { ApplicationUser, PersonService, UserService } from \"src/app/core\";\r\nimport { ModalService } from \"../../modal/modal.service\";\r\nimport { Attachment } from \"src/app/core/models/attachment\";\r\nimport { Observable, Subscription, forkJoin, of } from \"rxjs\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { debounceTime, switchMap } from \"rxjs/operators\";\r\nimport { HubSelectComponent } from \"./hubSelect.component\";\r\nimport { HubFile } from \"src/app/core/models/HubFile\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HubSelectService {\r\n personId: number;\r\n personName: string;\r\n component: HubSelectComponent;\r\n onlyMine = false;\r\n myFiles: HubFile[] = [];\r\n myFilesAll: HubFile[] = [];\r\n otherFiles: HubFile[] = [];\r\n otherFilesAll: HubFile[] = [];\r\n loading = false;\r\n private userSubscription: Subscription;\r\n user: ApplicationUser;\r\n filterFC = new FormControl();\r\n filter: string;\r\n orderBy = \"File name\";\r\n orderDesc = false;\r\n deleteAfterAttach = false;\r\n selected: HubFile;\r\n\r\n constructor(\r\n private readonly userService: UserService,\r\n private prsnSvc: PersonService,\r\n private modal: ModalService,\r\n ) { \r\n this.userSubscription = this.userService.user$.subscribe(user => {\r\n this.user = user;\r\n this.onlyMine = this.user?.id == this.personId;\r\n });\r\n this.filterFC.valueChanges.pipe(\r\n debounceTime(500),\r\n ).subscribe({\r\n next: (v: string) => {\r\n this.filter = v;\r\n this.selected = undefined;\r\n this.component.myFilesList?.unselect();\r\n this.component.otherFilesList?.unselect();\r\n this.filterAndSort();\r\n }\r\n });\r\n }\r\n\r\n registeComponent(component: HubSelectComponent) {\r\n this.component = component;\r\n }\r\n\r\n // $$Implements SW.FE.HUB.DLG\r\n get(personId: number, personName: string):Observable<{ file: HubFile, rm: boolean }> {\r\n this.personId = personId;\r\n this.personName = personName;\r\n this.filterFC.reset();\r\n this.loading = true;\r\n this.selected = undefined;\r\n this.filter = undefined;\r\n this.myFiles = this.myFilesAll = this.otherFiles = this.otherFilesAll = undefined;\r\n let files = [this.prsnSvc.getMyFiles()];\r\n if (!this.onlyMine)\r\n files.push(this.prsnSvc.getFiles(this.personId))\r\n\r\n return forkJoin(files).pipe(\r\n switchMap(f => {\r\n this.loading = false;\r\n this.myFilesAll = f[0];\r\n this.otherFilesAll = (f.length > 1) ? f[1] : [];\r\n if (f.length == 0 || f.length == 1 && f[0].length == 0 || f.length == 2 && f[0].length == 0 && f[1].length == 0) {\r\n this.modal.notify(\"No files\", \"There are no files to select from. Please check your 'My files' page.\")\r\n .subscribe();\r\n return of(false);\r\n }\r\n this.myFilesAll = f[0];\r\n if (f.length > 1)\r\n this.otherFilesAll = f[1];\r\n this.filterAndSort();\r\n return this.modal.show({\r\n title: \"Select file to attach\",\r\n cancelBtn: \"Cancel\",\r\n template: this.component.hubDlg,\r\n okBtnDisabled: () => !!this.okButtonHelp.apply(this), // $$Implements SW.FE.HUB.DLG.SELECT\r\n okBtnHelp: () => this.okButtonHelp.apply(this),\r\n elementClass: 'wide'\r\n })\r\n }),\r\n switchMap(\r\n res => of( res?{ file: this.selected, rm: this.deleteAfterAttach }:undefined) // $$Implements SW.FE.HUB.DLG.ACT\r\n )\r\n )\r\n }\r\n\r\n // $$Implements SW.FE.HUB.DLG.SELECT\r\n onSelect(i) {\r\n if (i < this.myFiles.length) {\r\n this.component.otherFilesList?.unselect();\r\n this.selected = this.myFiles[i];\r\n } else {\r\n this.component.myFilesList.unselect();\r\n this.selected = this.otherFiles[i - this.myFiles.length];\r\n }\r\n }\r\n\r\n // $$Implements SW.FE.HUB.DLG.SELECT\r\n okButtonHelp(): string {\r\n return (this.selected == undefined) ? \"Please select a file to attach\" : \"\";\r\n }\r\n\r\n ordering: { [key: string]: (a: Attachment, b: Attachment) => number } = {\r\n \"File name\": (a, b) => a.filename.localeCompare(b.filename),\r\n \"Comment\": (a, b) => (a.comment ?? \"\").localeCompare((b.comment ?? \"\")),\r\n \"Updated by\": (a, b) => (a.modifiedBy ?? \"\").localeCompare((b.modifiedBy ?? \"\")),\r\n \"Date updated\": (a, b) => ((+a.modifiedOn) ?? 0) - ((+b.modifiedOn) ?? 0),\r\n }\r\n\r\n get orderingNames(): string[] {\r\n return Object.keys(this.ordering);\r\n }\r\n\r\n setOrderBy(v: string) {\r\n this.orderBy = v;\r\n this.filterAndSort();\r\n }\r\n\r\n filterAndSort() {\r\n if (this.loading)\r\n return;\r\n\r\n let f = this.ordering[this.orderBy];\r\n let compareFunc = f;\r\n if (this.orderDesc)\r\n compareFunc = (a: Attachment, b: Attachment) => f(b, a);\r\n\r\n if (!this.filter) {\r\n this.myFiles = [...this.myFilesAll];\r\n this.myFiles.sort(compareFunc);\r\n this.otherFiles = [...this.otherFilesAll];\r\n this.otherFiles.sort(compareFunc);\r\n return;\r\n }\r\n let re = new RegExp(this.filter, \"i\");\r\n\r\n this.myFiles = this.myFilesAll.filter(f => re.test(f.filename) || re.test(f.comment ?? \"\") || re.test(f.creator) || re.test(f.modifiedBy ?? \"\"));\r\n this.myFiles.sort(compareFunc);\r\n\r\n this.otherFiles = this.otherFilesAll.filter(f => re.test(f.filename) || re.test(f.comment ?? \"\") || re.test(f.creator) || re.test(f.modifiedBy ?? \"\"));\r\n this.otherFiles.sort(compareFunc);\r\n }\r\n\r\n orderBtnClass() {\r\n return (this.orderDesc) ? \"fa-arrow-down-wide-short\" : \"fa-arrow-down-short-wide\";\r\n }\r\n\r\n toggleSort() {\r\n this.orderDesc = !this.orderDesc;\r\n this.filterAndSort();\r\n }\r\n\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'icon-text',\r\n templateUrl: './iconText.component.html',\r\n styleUrls: ['./iconText.component.scss']\r\n})\r\nexport class IconTextComponent {\r\n @Input() faicon: string;\r\n @Input() color: string;\r\n @Input() text: string;\r\n @Input() textClass: string;\r\n @Input() textStyle: string;\r\n @Input() iconClass: string;\r\n\r\n get iClass():string {\r\n return `fa fa-stack-2x fa-${this.faicon} ${this.iconClass}`;\r\n }\r\n get iconStyle():string {\r\n return `color: ${this.color};`;\r\n }\r\n}","\r\n \r\n {{text}}\r\n","/**\r\n * @file Automatically generated by barrelsby.\r\n */\r\n\r\nexport * from './account/account.component';\r\nexport * from './ag-datatable/ag-datatable.component';\r\nexport * from './fav-accnts/fav-accnts.component';\r\nexport * from './date-range/date-range.component';\r\nexport * from './workflow/index';\r\nexport * from './attachments/attachments.component';\r\nexport * from './upload/upload.component';\r\nexport * from './hubSelect/hubSelect.component';\r\nexport * from './hubSelect/hubSelect.service';\r\nexport * from './comments/comments.component';\r\nexport * from './iconText/iconText.component';\r\nexport * from './person-search/person-search.component';\r\nexport * from './pcard-search/pcard-search.component';\r\nexport * from './my-ppl-search/my-ppl-search.component';\r\nexport * from './nav-tiles/nav-tiles.component';\r\nexport * from './distributions/distributions.component';\r\nexport * from './org-tree/org-tree.component';\r\nexport * from './people/people.component'\r\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { debounceTime } from \"rxjs/operators\";\r\nimport { Person } from \"src/app/core/models/person\";\r\n\r\n@Component({\r\n selector: 'lib-my-ppl-search',\r\n templateUrl: \"./my-ppl-search.component.html\",\r\n styleUrls: [\"./my-ppl-search.component.scss\"]\r\n})\r\nexport class MyPplSearchComponent implements OnInit {\r\n @Input() persons: Person[] = [];\r\n @Input() showLookup: boolean = false;\r\n @Output() onSelected: EventEmitter = new EventEmitter();\r\n\r\n loginId:string;\r\n filterFC = new FormControl();\r\n filter: RegExp;\r\n\r\n constructor(\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.persons.length){\r\n this.loginId = this.persons[0].loginId;\r\n this.onSelect(this.persons[0]);\r\n }\r\n this.filterFC.valueChanges.pipe(\r\n debounceTime(500),\r\n ).subscribe({\r\n next: (v: string) => {\r\n this.filter = (!v)?null:new RegExp(v,'i')\r\n }\r\n });\r\n }\r\n\r\n isShown(p:Person):boolean {\r\n if (!this.filter)\r\n return true;\r\n return `${p.name} (${p.loginId})`.search(this.filter)>=0;\r\n }\r\n\r\n lookup(loginId:string) {\r\n let p = this.persons.find(p=>p.loginId==loginId);\r\n if (p)\r\n this.onSelect(p);\r\n }\r\n\r\n onSelect(p:Person) {\r\n this.onSelected.emit(p);\r\n }\r\n\r\n}","
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
    \r\n \r\n
  • \r\n \r\n
  • \r\n
    \r\n
\r\n
\r\n\r\n \r\n
\r\n","import { AfterViewInit, Component, Input, OnInit } from \"@angular/core\";\r\nimport { Route, Routes } from \"@angular/router\";\r\nimport { UserService } from \"src/app/core\";\r\n\r\n@Component({\r\n selector: 'lib-nav-tiles',\r\n templateUrl: \"./nav-tiles.component.html\",\r\n styleUrls: [\"./nav-tiles.component.scss\"]\r\n})\r\nexport class NavTilesComponent implements AfterViewInit {\r\n @Input() routes: Routes;\r\n @Input() linkPaths: string[];\r\n\r\n linkPathSet: Set;\r\n tiles: Route[] = [];\r\n constructor(\r\n private readonly userService: UserService,\r\n ) { }\r\n\r\n ngAfterViewInit(): void {\r\n this.linkPathSet = new Set(this.linkPaths)\r\n this.userService.user$.subscribe(u => setTimeout(() => {\r\n this.tiles = this.routes.filter(r =>\r\n this.linkPathSet.has(r.path) && (r.data?.roles?.some(r => u.roles.has(r)) ?? true));\r\n }))\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { Params } from \"@angular/router\";\r\nimport { OrgUnit } from \"src/app/core/models/org-unit\";\r\nimport { Person } from \"src/app/core/models/person\";\r\n\r\n@Component({\r\n selector: \"lib-org-tree\",\r\n templateUrl: \"./org-tree.component.html\",\r\n styleUrls: [\"./org-tree.component.css\"],\r\n})\r\nexport class OrgTreeComponent {\r\n @Input() orgTree: OrgUnit;\r\n @Input() select: boolean = false;\r\n @Input() showFavUnits: boolean = false;\r\n @Output() onUnitExpand: EventEmitter = new EventEmitter();\r\n @Output() onUnitSelectChange: EventEmitter = new EventEmitter();\r\n \r\n @Input() showPeople: boolean = false;\r\n @Input() manageFavPeople: boolean = false;\r\n @Output() onRemovePerson = new EventEmitter();\r\n @Input() removePersonTitle: string = \"Remove\";\r\n @Output() onAddPerson = new EventEmitter();\r\n @Input() addPersonTitle: string = \"Add\";\r\n\r\n\r\n constructor() {}\r\n\r\n onExpand(unit: OrgUnit) {\r\n unit.expanded = !unit.expanded;\r\n this.onUnitExpand.emit(unit);\r\n }\r\n\r\n onSelectChange(unit: OrgUnit) {\r\n this.onUnitSelectChange.emit(unit);\r\n }\r\n\r\n routerLink(url: string): string {\r\n let l = new URL(window.location.origin + url);\r\n return l.pathname;\r\n }\r\n\r\n routerQuery(url: string): Params {\r\n let l = new URL(window.location.origin + url);\r\n let o: Params = {};\r\n for (let e of l.searchParams.entries()) {\r\n if (o.hasOwnProperty(e[0])) {\r\n if (!Array.isArray(o[e[0]]))\r\n o[e[0]] = [o[e[0]]];\r\n o[e[0]].push(e[1]);\r\n } else\r\n o[e[0]] = e[1];\r\n }\r\n return o;\r\n }\r\n\r\n}","\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{u.accessScope}}: {{u.description}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
Loading...
\r\n
No people in this unit
\r\n \r\n
\r\n
\r\n\r\n","import { Observable, Subject } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { CompleterData, CompleterItem } from \"@vldmr-bus/ng-completer\";\r\nimport { PCard } from \"src/app/core/models/pcard\";\r\n\r\nexport class PCardData extends Subject implements CompleterData {\r\n constructor(private searcher: (string) => Observable) {\r\n super();\r\n }\r\n public search(term: string): void {\r\n this.searcher(term)\r\n .pipe(\r\n map((data: PCard[]) => {\r\n const matches = (data)\r\n .map((card) => this.convertToItem(card)) as CompleterItem[];\r\n this.next(matches);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n public cancel() {\r\n // Handle cancel\r\n }\r\n\r\n public convertToItem(pcard: PCard): CompleterItem | null {\r\n if (!pcard) {\r\n return null;\r\n }\r\n // data will be string if an initial value is set\r\n return {\r\n title: `${pcard.cardHolder} (${pcard.last4})`,\r\n originalObject: pcard,\r\n\r\n } as CompleterItem;\r\n }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { CompleterItem } from '@vldmr-bus/ng-completer';\r\nimport { PCard } from 'src/app/core/models/pcard';\r\nimport { PCardData } from './pcard-data';\r\nimport { Observable } from 'rxjs';\r\nimport { PCardService } from 'src/app/core';\r\n\r\n@Component({\r\n selector: 'lib-pcard-search',\r\n templateUrl: './pcard-search.component.html',\r\n styleUrls: ['./pcard-search.component.scss']\r\n})\r\nexport class PCardSearchComponent implements OnInit {\r\n @Input() placeholder: string = 'Card holder name or last 4 digits of card number';\r\n @Output() onSelected: EventEmitter = new EventEmitter();\r\n\r\n selectedCard: PCard;\r\n pcardData: PCardData;\r\n\r\n constructor(\r\n private elRef: ElementRef,\r\n private pcardSvc: PCardService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.pcardData = new PCardData(this.search);\r\n }\r\n\r\n search: (qry: string) => Observable = qry => {\r\n return this.pcardSvc.search(qry);\r\n }\r\n\r\n onComplete(selected: CompleterItem) {\r\n let p = selected.originalObject as PCard;\r\n this.onSelected.emit(p);\r\n (document.activeElement).blur();\r\n }\r\n\r\n onKeyDown(e: KeyboardEvent) {\r\n if (e.key == \"Escape\") {\r\n (document.activeElement).blur();\r\n setTimeout(() => this.elRef.nativeElement.parentElement.dispatchEvent(e));\r\n }\r\n }\r\n}","\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Params } from \"@angular/router\";\r\nimport { Person } from 'src/app/core/models/person';\r\n\r\n\r\n@Component({\r\n selector: 'lib-people',\r\n templateUrl: './people.component.html',\r\n styleUrls: ['./people.component.css']\r\n})\r\nexport class PeopleComponent implements OnInit {\r\n @Input() people: Person[];\r\n @Input() showAddFavs: boolean = false;\r\n @Input() showRmFavs: boolean = false;\r\n\r\n @Output() onRemovePerson = new EventEmitter();\r\n @Input() removeTitle: string = \"Remove\";\r\n @Output() onAddPerson = new EventEmitter();\r\n @Input() addTitle: string = \"Add\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n // Initialization code goes here\r\n }\r\n\r\n routerLink(url: string): string {\r\n let l = new URL(window.location.origin + url);\r\n return l.pathname;\r\n }\r\n\r\n routerQuery(url: string): Params {\r\n let l = new URL(window.location.origin + url);\r\n let o: Params = {};\r\n for (let e of l.searchParams.entries()) {\r\n if (o.hasOwnProperty(e[0])) {\r\n if (!Array.isArray(o[e[0]]))\r\n o[e[0]] = [o[e[0]]];\r\n o[e[0]].push(e[1]);\r\n } else\r\n o[e[0]] = e[1];\r\n }\r\n return o;\r\n }\r\n\r\n}","
    \r\n
  • \r\n {{p.name}} ({{p.loginId}})\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n
\r\n","import { Observable, Subject } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { CompleterData, CompleterItem } from \"@vldmr-bus/ng-completer\";\r\nimport { Person } from \"src/app/core/models/person\";\r\n\r\nexport class PersonData extends Subject implements CompleterData {\r\n constructor(private searcher: (string) => Observable) {\r\n super();\r\n }\r\n public search(term: string): void {\r\n this.searcher(term)\r\n .pipe(\r\n map((data: Person[]) => {\r\n const matches = (data)\r\n .map((card) => this.convertToItem(card)) as CompleterItem[];\r\n this.next(matches);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n public cancel() {\r\n // Handle cancel\r\n }\r\n\r\n public convertToItem(person: Person): CompleterItem | null {\r\n if (!person) {\r\n return null;\r\n }\r\n // data will be string if an initial value is set\r\n return {\r\n title: `${person.name} (${person.loginId||person.address})`,\r\n originalObject: person,\r\n\r\n } as CompleterItem;\r\n }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { PersonData } from \"./person-data\";\r\nimport { CompleterItem } from \"@vldmr-bus/ng-completer\";\r\nimport { Person } from \"src/app/core/models/person\";\r\nimport { PersonService } from \"src/app/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'lib-person-search',\r\n templateUrl: \"./person-search.component.html\",\r\n styleUrls: [ \"./person-search.component.scss\"]\r\n})\r\nexport class PersonSearchComponent implements OnInit {\r\n @Input() kind:\"associate\"|\"visitor\"|\"my\";\r\n @Input() showMyCB:boolean = false;\r\n @Input() placeholder: string = 'Find person by name or HawkID';\r\n @Output() onSelected: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n private elRef: ElementRef,\r\n private prsnSvc: PersonService\r\n ) {\r\n\r\n }\r\n\r\n myOnly: boolean = false;\r\n\r\n search:(qry:string)=>Observable = qry=> {\r\n switch (this.kind) {\r\n case \"associate\":\r\n if (this.myOnly)\r\n return this.prsnSvc.searchMyPeople.call(this.prsnSvc, qry);\r\n else\r\n return this.prsnSvc.search.call(this.prsnSvc, qry);\r\n case \"my\":\r\n return this.prsnSvc.searchMyPeople.call(this.prsnSvc, qry);\r\n case \"visitor\":\r\n return this.prsnSvc.searchVisitors.call(this.prsnSvc, qry);\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.personsData = new PersonData(this.search)\r\n }\r\n\r\n selectedPerson: any;\r\n personsData: PersonData;\r\n\r\n onComplete(selected: CompleterItem) {\r\n let p = selected.originalObject as Person;\r\n this.onSelected.emit(p);\r\n (document.activeElement).blur();\r\n }\r\n\r\n onKeyDown(e:KeyboardEvent) {\r\n if (e.key == \"Escape\") {\r\n (document.activeElement).blur();\r\n setTimeout(()=>this.elRef.nativeElement.parentElement.dispatchEvent(e));\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n","import { Component, OnInit, Input, Injectable, ViewChild, ElementRef, Output, EventEmitter, HostListener, TemplateRef } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpRequest, HttpEvent, HttpEventType } from '@angular/common/http';\r\nimport { ModalService } from '../../modal/modal.service';\r\nimport { Util } from '../../../core';\r\n\r\n\r\n@Component({\r\n selector: 'lib-upload',\r\n templateUrl: \"./upload.component.html\",\r\n styleUrls: [\"./upload.component.scss\"]\r\n})\r\nexport class UploadComponent {\r\n @Input() uploadURL: string;\r\n @Input() title:string = \"Upload file\";\r\n @Output() onSuccess: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('fileinput') fileinput: ElementRef;\r\n\r\n progress: number;\r\n comment:string=\"\";\r\n dragAreaClass: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private modalService: ModalService\r\n ) { }\r\n\r\n selected(event) {\r\n // noop -- need to have this call for reactivity\r\n }\r\n\r\n @HostListener(\"dragover\", [\"$event\"]) onDragOver(event: any) {\r\n this.dragAreaClass = \"droparea\";\r\n event.preventDefault();\r\n }\r\n @HostListener(\"dragenter\", [\"$event\"]) onDragEnter(event: any) {\r\n this.dragAreaClass = \"droparea\";\r\n event.preventDefault();\r\n }\r\n @HostListener(\"dragend\", [\"$event\"]) onDragEnd(event: any) {\r\n this.dragAreaClass = \"\";\r\n event.preventDefault();\r\n }\r\n @HostListener(\"dragleave\", [\"$event\"]) onDragLeave(event: any) {\r\n this.dragAreaClass = \"\";\r\n event.preventDefault();\r\n }\r\n @HostListener(\"drop\", [\"$event\"]) onDrop(event: any) {\r\n this.dragAreaClass = \"\";\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (event.dataTransfer.files) {\r\n const dT = new DataTransfer();\r\n dT.items.add(event.dataTransfer.files[0]);\r\n this.fileinput.nativeElement.files = event.dataTransfer.files;\r\n }\r\n }\r\n\r\n getUploadBtnMsg() {\r\n let file = this.fileinput?.nativeElement?.files[0];\r\n if (!file)\r\n return \"Please select file to upload\";\r\n else return \"\";\r\n }\r\n upload(fileinput: HTMLInputElement) {\r\n if (!fileinput.files[0])\r\n return;\r\n // $$Implements SW.FE.ATT.UPLOAD_ACT\r\n let formData = new FormData();\r\n formData.append(\"description\", this.comment);\r\n formData.append(\"file\", fileinput.files[0], fileinput.files[0].name);\r\n let req = new HttpRequest('POST', this.uploadURL, formData, { reportProgress: true });\r\n this.http.request(req)\r\n .subscribe(\r\n (event: HttpEvent) => {\r\n switch (event.type) {\r\n case HttpEventType.Sent:\r\n break;\r\n\r\n case HttpEventType.UploadProgress:\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n break;\r\n\r\n // $$Implements SW.FE.ATT.UPLOAD_RES, SW.FE.ATT.UPLOAD_CALLBACK\r\n case HttpEventType.Response:\r\n this.progress = 0;\r\n this.comment = \"\";\r\n this.fileinput.nativeElement.value = null;\r\n this.onSuccess.emit(event.body);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n },\r\n error => {\r\n this.error(\"Failed to upload file\", error);\r\n this.progress = 0;\r\n }\r\n )\r\n }\r\n\r\n error(msg, err) {\r\n err = err || {};\r\n msg += \":
\" + (Util.errorMessage(err) || \"\");\r\n this.modalService.notify(\"Error\", msg).subscribe();\r\n }\r\n\r\n @ViewChild(\"tipsDlg\") tipsDlg: TemplateRef;\r\n showTips() {\r\n this.modalService.show({\r\n title:\"Tips for scanning\",\r\n okOnEnter:true,\r\n template: this.tipsDlg\r\n })\r\n .subscribe();\r\n }\r\n}","\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
    \r\n
  • Black out Social Security #'s if they appear on any documentation.
  • \r\n
  • The last 4 digits of the credit card should be the only numbers visible on all receipts.
  • \r\n
  • Do not scan unnecessary documentation.
  • \r\n
  • Confidential information/documents should not be saved in a shared directory.
  • \r\n
  • Receipts should be retained by the department until the voucher has been loaded to General Ledger. Some\r\n departments may require you to keep your original receipts longer.
  • \r\n
  • Save files as PDF or Text file. Other types are allowable, but these are the preferred format.
  • \r\n
\r\n
\r\n
","/**\r\n * @file Automatically generated by barrelsby.\r\n */\r\n\r\nexport * from './workflow.component';\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { WorkflowService, ICustomWindow, WindowRefService } from \"../../services\";\r\n\r\ndeclare const formatWorkflowHistory: any;\r\n\r\ninterface WorkflowWidget {\r\n scopes: any[];\r\n environment: any;\r\n clientId: string;\r\n formId: number | string\r\n}\r\n\r\n@Component({\r\n selector: 'app-workflow',\r\n templateUrl: './workflow.component.html',\r\n styleUrls: ['./workflow.component.css']\r\n})\r\nexport class WorkflowComponent implements OnInit {\r\n\r\n @Input() workflowFormId: number;\r\n @Input() workflowPackageId: number;\r\n @Input() canView: boolean;\r\n @Input() showHistoryOnly: boolean;\r\n @Output() onPrint: EventEmitter = new EventEmitter();\r\n\r\n routingHistoryString: string = 'Loading...';\r\n showWorkflowWidget: boolean;\r\n showRoutingHistory: boolean;\r\n\r\n workflowJSSourceList: string[] = ['https://workflow.uiowa.edu/workflow-widget/workflow.js?ver=' + new Date().getTime()];\r\n\r\n workflowHistoryJSSourceList: string[] = [\r\n 'https://workflow.uiowa.edu/workflow-widget/historyFormat.js?ver=' + new Date().getTime(),\r\n 'https://workflow.uiowa.edu/workflow-widget/assets/js/workflow-widget-route-table.js?ver=' + new Date().getTime(),\r\n 'https://code.jquery.com/jquery-3.6.0.min.js',\r\n 'https://workflow.uiowa.edu/workflow-widget/assets/js/moment/moment.2.7.0.js',\r\n ];\r\n private _window: ICustomWindow;\r\n\r\n constructor(private readonly workflowService: WorkflowService,\r\n private readonly windowRef: WindowRefService) {\r\n\r\n this._window = windowRef.nativeWindow;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n if (this.canView && !this.showHistoryOnly) {\r\n this.workflowWidget();\r\n } else {\r\n this.routingHistory();\r\n }\r\n }\r\n\r\n workflowWidget() {\r\n this.showWorkflowWidget = true;\r\n this.showRoutingHistory = false;\r\n\r\n this.workflowService.getWorkflowWidget(this.workflowFormId)\r\n .subscribe((workflowWidget: WorkflowWidget) => {\r\n this._window.WorkflowWidget = {\r\n form_id: workflowWidget.formId,\r\n package_id: this.workflowPackageId,\r\n signature_id: '',\r\n scope: workflowWidget.scopes[0],\r\n client_id: workflowWidget.clientId,\r\n environment: workflowWidget.environment,\r\n post_sign_void: '',\r\n post_version_mismatch: '',\r\n };\r\n\r\n // add js files dynamically\r\n this.workflowJSSourceList.forEach((src) => {\r\n let node = document.createElement('script');\r\n node.async = true;\r\n node.src = src;\r\n node.type = 'text/javascript';\r\n\r\n document.getElementsByTagName('head')[0].appendChild(node);\r\n });\r\n });\r\n }\r\n\r\n routingHistory() {\r\n this.showWorkflowWidget = false;\r\n this.showRoutingHistory = true;\r\n\r\n // add js files dynamically\r\n this.workflowHistoryJSSourceList.forEach((src) => {\r\n let node = document.createElement('script');\r\n node.async = true;\r\n node.src = src;\r\n node.type = 'text/javascript';\r\n document.getElementsByTagName('head')[0].appendChild(node);\r\n });\r\n\r\n this.workflowService.getRoutingHistory(this.workflowFormId, this.workflowPackageId)\r\n .subscribe((routingHistory) => {\r\n setTimeout(() => {\r\n\r\n\r\n // workflow history function that formats the JSON response\r\n this.routingHistoryString = formatWorkflowHistory(routingHistory, this.workflowPackageId);\r\n\r\n setTimeout(() => {\r\n\r\n this.printParent();\r\n }, 1000);\r\n }, 2000);\r\n });\r\n }\r\n\r\n private printParent() {\r\n this.onPrint.emit();\r\n }\r\n}\r\n","
\r\n
","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[enterBlur]',\r\n})\r\nexport class EnterBlurDirective {\r\n constructor(private el: ElementRef) { }\r\n @HostListener('keydown',['$event']) onMouseEnter(event: KeyboardEvent) {\r\n let tgt = event.target;\r\n if (event.key == \"Enter\") {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n tgt.blur();\r\n }\r\n }\r\n}\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[focusSelect]',\r\n})\r\nexport class FocusSelectDirective {\r\n constructor(private el: ElementRef) { }\r\n @HostListener('focus', ['$event']) onFocus(e: FocusEvent) {\r\n let element = e.target as HTMLElement;\r\n const range = document.createRange();\r\n range.setStart(element.firstChild, 0);\r\n range.setEnd(element.lastChild, element.lastChild.textContent.length);\r\n const selection = window.getSelection();\r\n selection.removeAllRanges();\r\n selection.addRange(range);\r\n }\r\n}\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[focusOnShow]',\r\n})\r\nexport class FocusOnShowDirective {\r\n constructor(private el: ElementRef) { \r\n setTimeout(()=>el.nativeElement.focus());\r\n }\r\n\r\n}","export {ModalService} from './modal/modal.service'\r\nexport {SharedModule} from './shared.module'","import { Component, OnInit, EventEmitter, Output, Input, TemplateRef } from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Subscriber } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'lib-modal',\r\n templateUrl: \"./modal.component.html\",\r\n host: {\r\n '[@state]': 'state',\r\n },\r\n animations: [\r\n trigger('state', [\r\n state('opened', style({ transform: 'translateY(0%)' })),\r\n state('void, closed', style({ transform: 'translateY(100%)', opacity: 0 })),\r\n transition('* => *', animate('100ms ease-in')),\r\n ])\r\n ],\r\n styleUrls:['./modal.component.scss'],\r\n})\r\nexport class ModalComponent {\r\n state: 'opened' | 'closed' = 'closed';\r\n shown: boolean;\r\n @Input()\r\n title: string;\r\n @Input()\r\n message?: string;\r\n @Input()\r\n cancelBtn?: string;\r\n @Input()\r\n okBtn?: string;\r\n @Input()\r\n result: boolean;\r\n\r\n @Input()\r\n template?: TemplateRef;\r\n @Input()\r\n okBtnHelp: (()=>string)|string = \"\";\r\n @Input()\r\n okBtnDisabled: (()=>boolean)|boolean = false;\r\n\r\n @Output()\r\n closed = new EventEmitter();\r\n\r\n subscriber: Subscriber;\r\n\r\n getOkBtnHelp():string {\r\n if (typeof this.okBtnHelp == 'function')\r\n return this.okBtnHelp();\r\n else\r\n return this.okBtnHelp;\r\n }\r\n getOkBtnDisabled():boolean {\r\n if (typeof this.okBtnDisabled == 'function')\r\n return this.okBtnDisabled();\r\n else\r\n return this.okBtnDisabled;\r\n }\r\n close(result) {\r\n this.result = result; \r\n this.closed.next(0);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n \r\n
\r\n
\r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common'; // common ng directives like *ngFor\r\nimport { ModalComponent } from './modal.component';\r\n\r\n@NgModule({\r\n declarations: [ModalComponent],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ModalComponent]\r\n})\r\nexport class ModalModule { }\r\n","import { Injectable, Injector, TemplateRef } from '@angular/core';\r\nimport { NgElement, WithProperties, createCustomElement } from '@angular/elements';\r\n\r\nimport { ModalComponent} from \"./modal.component\"\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { faL } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ModalService {\r\n\r\n constructor(injector: Injector) {\r\n if(!customElements.get('modal-element')) {\r\n const ModalElement = createCustomElement(ModalComponent, { injector });\r\n customElements.define('modal-element', ModalElement);\r\n }\r\n }\r\n\r\n errorMessage(err): string {\r\n if (typeof err == \"string\")\r\n return err;\r\n else if (err.error && typeof err.error == \"string\")\r\n return err.error;\r\n else if (err.error && err.error.Message && typeof err.error.Message == \"string\")\r\n return err.error.Message;\r\n else if (err.error && err.error.message && typeof err.error.message == \"string\")\r\n return err.error.message;\r\n else if (err.message && typeof err.message == \"string\")\r\n return err.message;\r\n else\r\n return null;\r\n }\r\n\r\n\r\n ask(title, message): Observable {\r\n return this.show({title,message,cancelBtn:\"Cancel\",okOnEnter:true});\r\n }\r\n\r\n notify(title, message): Observable {\r\n return this.show({ title, message, okOnEnter:true});\r\n }\r\n\r\n error(err:any, message?:string, title?:string): Observable {\r\n let msg = this.errorMessage(err)||\"No error description\";\r\n return this.notify(title||\"Error\",`${message||\"\"}${message?\": \":\"\"}${msg}`);\r\n }\r\n\r\n modalEl: NgElement & WithProperties;\r\n okBtnValue:any;\r\n okOnEnter?: boolean|((e?:KeyboardEvent) => boolean);\r\n show(args:{\r\n title:string, \r\n message?:string, \r\n okBtn?: string,\r\n cancelBtn?:string,\r\n template?:TemplateRef,\r\n okBtnHelp?: (() => string) | string,\r\n okBtnDisabled?: (() => boolean) | boolean,\r\n okBtnValue?:any,\r\n okOnEnter?: boolean | ((e?: KeyboardEvent) => boolean),\r\n elementClass?: string\r\n }): Observable {\r\n if (this.modalEl)\r\n this.close();\r\n this.okBtnValue = args.okBtnValue??true;\r\n this.okOnEnter = (args.okOnEnter===undefined)?true:args.okOnEnter;\r\n return new Observable(sub => {\r\n const modalEl: NgElement & WithProperties = document.createElement('modal-element') as any;\r\n modalEl.title = args.title;\r\n modalEl.message = args.message;\r\n modalEl.okBtn = args.okBtn;\r\n modalEl.cancelBtn = args.cancelBtn;\r\n modalEl.template = args.template;\r\n if (args.elementClass)\r\n modalEl.className = args.elementClass;\r\n if (args.okBtnHelp)\r\n modalEl.okBtnHelp = args.okBtnHelp;\r\n if (args.okBtnDisabled)\r\n modalEl.okBtnDisabled = args.okBtnDisabled;\r\n modalEl.addEventListener('closed', ()=>this.onClose());\r\n document.addEventListener('keydown', (e)=>this.onKeydown(e));\r\n modalEl.state=\"opened\";\r\n modalEl.style.display=\"contents\";\r\n document.body.appendChild(modalEl);\r\n this.modalEl = modalEl;\r\n this.modalEl.subscriber = sub;\r\n let focus = document.querySelector(\".focused-initially\");\r\n if (focus){\r\n if (focus.tagName != 'INPUT')\r\n focus = document.querySelector(\".focused-initially input\")\r\n if (focus)\r\n (focus).focus();\r\n }\r\n });\r\n }\r\n\r\n onKeydown(e:KeyboardEvent) {\r\n switch (e.key){\r\n case \"Escape\":\r\n this.onClose()\r\n break;\r\n case \"Enter\":\r\n if (this.okOnEnter )\r\n if (typeof(this.okOnEnter) == 'boolean' || this.okOnEnter(e))\r\n this.ok();\r\n break;\r\n }\r\n }\r\n\r\n onClose() {\r\n if (!this.modalEl)\r\n return;\r\n let result = this.modalEl?.result;\r\n this.modalEl.subscriber?.next(result ? this.okBtnValue : false);\r\n this.close();\r\n }\r\n close() {\r\n document.removeEventListener('close',this.onKeydown)\r\n if (!this.modalEl)\r\n return;\r\n this.modalEl.removeEventListener('close',this.onClose)\r\n document.body.removeChild(this.modalEl);\r\n this.modalEl.subscriber?.complete();\r\n this.modalEl.subscriber?.unsubscribe();\r\n this.modalEl.subscriber = undefined;\r\n this.modalEl = undefined;\r\n }\r\n ok() {\r\n (document.querySelector(\"#modalComponentOkButton\"))?.click();\r\n }\r\n}\r\n","/**\r\n * @file Automatically generated by barrelsby.\r\n */\r\n\r\nexport * from './workflow.service';\r\nexport * from './window.service';\r\n","import { Injectable } from '@angular/core';\r\n\r\n// This interface is optional, showing how you can add strong typings for custom globals.\r\n// Just use \"Window\" as the type if you don't have custom global stuff\r\nexport interface ICustomWindow extends Window {\r\n WorkflowWidget: { post_version_mismatch: string; signature_id: string; environment: any; scope: any; form_id: number | string; package_id: number; client_id: string; post_sign_void: string };\r\n \r\n __custom_global_stuff: string;\r\n}\r\n\r\nfunction getWindow(): any {\r\n return window;\r\n}\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class WindowRefService {\r\n get nativeWindow(): ICustomWindow {\r\n return getWindow();\r\n }\r\n\r\n scrollMainDivToTop() {\r\n var myDiv = document.getElementById('main');\r\n myDiv.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n })\r\n };\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nexport type WorkflowEnvironment = 'test' | 'prod';\r\n\r\nexport interface WorkflowWidget {\r\n formId: number;\r\n scopes: string[];\r\n clientId: string;\r\n environment: WorkflowEnvironment;\r\n}\r\n\r\nexport interface WorkflowAllowedActions{\r\n signatureId: number;\r\n canAddApprover: boolean;\r\n canSign: boolean;\r\n canVoidAfter: boolean;\r\n canView: boolean;\r\n packageId: number;\r\n canInitiatorVoid: boolean;\r\n canEdit: boolean;\r\n canVoid: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class WorkflowService {\r\n private readonly apiUrl = \"api/wf\";\r\n\r\n constructor(private readonly httpClient: HttpClient) {\r\n }\r\n\r\n getWorkflowWidget(formType: string | number): Observable {\r\n return this.httpClient.get(`${this.apiUrl}/${formType}/Widget/`);\r\n }\r\n\r\n\r\n getRoutingHistory(workflowFormId: number, workflowPackageId: number): Observable {\r\n return this.httpClient.get(`${this.apiUrl}/${workflowFormId}/RoutingHistory/${workflowPackageId}`)\r\n }\r\n \r\n getAllowedActions(workflowFormId:number, workflowPackageId: number): Observable {\r\n return this.httpClient.get(`${this.apiUrl}/${workflowFormId}/${workflowPackageId}/AllowedActions`) \r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SpinnerModule } from '@uiowa/spinner';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { ModalModule } from \"./modal/modal.module\";\r\nimport { AgDatatableComponent, WorkflowComponent, AttachmentsComponent, UploadComponent, CommentsComponent, HubSelectComponent, MyPplSearchComponent, Account, FavAccnts, DateRangeComponent, OrgTreeComponent, PeopleComponent, PCardSearchComponent } from './components';\r\nimport { NgsContenteditableModule } from '@ng-stack/contenteditable';\r\nimport { IconTextComponent } from './components/iconText/iconText.component';\r\nimport { FavStar } from './components/fav-star/fav-star.component';\r\nimport { NgCompleterModule } from '@vldmr-bus/ng-completer';\r\nimport { PersonSearchComponent } from './components/person-search/person-search.component';\r\nimport { UiowaMfkModule } from '@uiowa/uiowa-mfk';\r\nimport { NavTilesComponent } from './components/nav-tiles/nav-tiles.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { DistributionsComponent } from './components/distributions/distributions.component';\r\nimport { ExpEditor } from './components/exp-editor/exp-editor.component';\r\nimport { EnterBlurDirective, FocusSelectDirective, FocusOnShowDirective } from './directives/utility';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n NgbModule,\r\n FormsModule,\r\n SpinnerModule,\r\n FontAwesomeModule,\r\n AgGridModule,\r\n ReactiveFormsModule,\r\n NgCompleterModule,\r\n UiowaMfkModule,\r\n NgsContenteditableModule,\r\n EnterBlurDirective,\r\n FocusSelectDirective,\r\n FocusOnShowDirective\r\n ],\r\n declarations: [\r\n AgDatatableComponent,\r\n DateRangeComponent,\r\n WorkflowComponent, \r\n AttachmentsComponent,\r\n UploadComponent,\r\n HubSelectComponent,\r\n CommentsComponent,\r\n IconTextComponent,\r\n FavStar,\r\n PersonSearchComponent,\r\n PCardSearchComponent,\r\n MyPplSearchComponent,\r\n Account,\r\n FavAccnts,\r\n NavTilesComponent,\r\n DistributionsComponent,\r\n OrgTreeComponent,\r\n PeopleComponent,\r\n ExpEditor\r\n ],\r\n exports: [\r\n CommonModule,\r\n NgbModule,\r\n FormsModule,\r\n SpinnerModule,\r\n FontAwesomeModule,\r\n ModalModule,\r\n AgGridModule,\r\n AgDatatableComponent,\r\n DateRangeComponent,\r\n WorkflowComponent,\r\n AttachmentsComponent,\r\n UploadComponent,\r\n HubSelectComponent,\r\n CommentsComponent,\r\n IconTextComponent,\r\n FavStar,\r\n PersonSearchComponent,\r\n PCardSearchComponent,\r\n MyPplSearchComponent,\r\n Account,\r\n FavAccnts,\r\n NavTilesComponent,\r\n DistributionsComponent,\r\n OrgTreeComponent,\r\n PeopleComponent,\r\n ExpEditor,\r\n EnterBlurDirective,\r\n FocusSelectDirective,\r\n FocusOnShowDirective\r\n ]\r\n})\r\nexport class SharedModule {}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":["RouterModule","HomeComponent","RoleGuard","AccessDeniedComponent","ImpersonationComponent","faCreditCard","expenseMenuIcon","faFileLines","expReportMenuIcon","faStar","myLinksIcon","faSuitcase","myTravelIcon","faPlane","TripsIcon","faThumbsUp","myAuditIcon","faFolderOpen","myFilesIcon","faUserGear","adminIcon","faLayerGroup","cardAdminIcon","faMessage","cardAdminN10nsIcon","faTrowelBricks","N10TemplatesIcon","faUser","PrsnIcon","faExclamationTriangle","CntryBansIcon","faBuildingColumns","myMfksIcon","LayoutComponent","routes","path","component","canActivate","data","roles","children","loadChildren","then","m","MyLinksModule","label","title","icon","ExpensesModule","ExpreportsModule","TripsModule","MyAuditModule","MyFilesModule","AdminModule","CardAdminModule","MyMfksModule","pathMatch","ExpDtlModule","r","url","slice","ExprModule","TripModule","N10nsModule","N10nTemplatesModule","PrsnModule","PassportsModule","CntryBansModule","TestDataModule","redirectTo","AppRoutingModule","_","_2","_3","forRoot","imports","i1","exports","ExternalLink","NavigationEnd","filter","i0","ɵɵelement","AppComponent","constructor","userService","impersonationService","router","activatedRoute","cookieService","titleService","applicationName","externalLinks","link1","testing","showMiniDash","hideMinidashRoutes","Set","ngOnInit","userSubscription","user$","subscribe","user","userName","loginId","originalUserName","originalUser","startTimer","isAuthenticated","get","events","pipe","event","getChildTitle","snapshot","setTitle","page","find","x","undefined","routeConfig","has","parentTitle","segments","length","firstChild","ngOnDestroy","unsubscribe","stopImpersonate","ɵɵdirectiveInject","UserService","ImpersonationService","i2","Router","ActivatedRoute","i3","CookieService","i4","Title","selectors","decls","vars","consts","template","AppComponent_Template","rf","ctx","ɵɵelementStart","ɵɵlistener","AppComponent_Template_uiowa_header_stopImpersonation_0_listener","ɵɵelementEnd","ɵɵtemplate","AppComponent_minidash_2_Template","ɵɵproperty","ɵɵadvance","BrowserModule","BrowserAnimationsModule","APP_INITIALIZER","NgbModule","CoreModule","FavoritesService","ToastrModule","FontAwesomeModule","ConfigService","MinidashModule","HttpClientModule","SharedModule","appUserServiceFactory","getUser","configServiceFactory","configService","init","favoritesServiceFactory","favoritesService","personServiceFactory","personService","AppModule","bootstrap","provide","useFactory","deps","multi","declarations","ɵɵtext","loginService","login","LoginService","AccessDeniedComponent_Template","AccessDeniedComponent_div_3_Template","AccessDeniedComponent_ng_template_5_Template","ɵɵtemplateRefExtractor","AccessDeniedComponent_Template_button_click_7_listener","ɵɵrestoreView","_r1","ɵɵresetView","ɵɵpipeBind1","notLoggedIn_r2","AppFooterComponent","year","emailLinkText","emailDistributionList","emailSubject","today","Date","getFullYear","emailHref","replace","AppFooterComponent_Template","ɵɵtextInterpolate1","ɵɵpropertyInterpolate","ɵɵsanitizeUrl","ɵɵtextInterpolate","ImpersonationComponent_div_6_form_1_Template_form_ngSubmit_0_listener","ctx_r1","ɵɵnextContext","impersonate","ɵɵtwoWayListener","ImpersonationComponent_div_6_form_1_Template_input_ngModelChange_4_listener","$event","ɵɵtwoWayBindingSet","hawkId","ɵɵtwoWayProperty","ImpersonationComponent_div_6_form_2_Template_form_ngSubmit_0_listener","_r3","ImpersonationComponent_div_6_form_1_Template","ImpersonationComponent_div_6_form_2_Template","user_r4","ImpersonationComponent_Template","ImpersonationComponent_div_6_Template","ErrorHandler","CommonModule","FormsModule","HTTP_INTERCEPTORS","UiowaHeaderModule","RouteReuseStrategy","AppErrorHandler","HttpCacheControlService","UnauthorizedInterceptor","TestApiInterceptor","AppRouteReuseStrategy","core","Error","ɵɵinject","useClass","map","take","route","state","returnUri","u","some","navigateByUrl","canLoad","navigation","getCurrentNavigation","extractedUrl","toString","factory","ɵfac","providedIn","ApplicationUser","Expense","Comment","XpReport","ExpensesService","XpReportsService","PersonService","PCardService","AppEventsService","NotificationsService","UssService","TripService","TestingService","Util","Attachment","HubFile","fromJson","c","Object","assign","FixDates","Dates","Advisory","publishedDate","DatePropertiesKeys","fixDates","a","AppEventType","AppEvent","type","payload","id","forEach","add","isBasicUser","isAdmin","isAuditor","isSharedService","isAdminOrAuditor","filename","comment","entityId","deleted","creator","createdOn","modifiedBy","modifiedOn","editable","isUsed","tags","t","Change","property","entity","oldValue","newValue","render","res","dateTimeString","prop","text","viewTypeCd","Transaction","XpDistribution","personId","personName","xprId","postdate","vendor","amount","debit","credit","reconciled","disputed","trip","description","lineNumber","dates","e","xctn","comments","distributions","attachments","changes","attCount","reduce","v","distCount","att1","getAtt","idx","atts","FavAccount","account","valid","editor","NotificationSubj","Notification","body","viewedOn","emailed","recipient","subject","optOut","canOptOut","filterUnits","unit","pred","deep","push","units","concat","values","p","reduceUnits","callbackfn","initialValue","iterateUnits","cb","Passport","number","countryId","country","expiryDate","issueDate","Role","Person","name","firstName","lastName","middleName","univId","emplId","campusAddress","campusPhone","address","department","addr1","zip","roleHistory","cityName","favorite","studentEmployeeTypes","isStudentEmployee","advisory","StatusChange","statusId","memo","LineItemSummary","shippingCost","LineItemDetail","itemName","quantity","unitMeasure","unitCost","itemTotalAmount","itemCommodityCode","itemProductCode","correctionMessage","PassengerItinerary","ticketNumber","passangerName","LegInformation","legNumber","travelFrom","travelTo","dateOfTravel","isFinalDestination","l","accountNumber","transactionReferenceNumber","sequenceNumber","transactionDate","postingDate","billingAmount","supplierName","supplierCity","supplierStateProvinceCode","merchantCategoryCode","billingAccountNumber","customerCodeCri","purchaseIdentification","passengerItinerary","legInformation","TripDestBan","beginDate","endDate","City","State","Country","TripDest","begin","end","countryCode","stateCode","cityCode","cityStateCountry","addresses","compare","b","localeCompare","TripPersonalDate","Trip","person","isGroup","purpose","tripPurposeOther","emergencyDesc","dest","depart","return","pmntMethod","justification","justificationCmnt","intrntnlCmnt","reminderOptOut","accountingVal","aeAirfair","aeHotel","aeMeal","aeMileage","aeRegistration","aeOther","trvlAs","travelerType","personType","apprvlRqrd","wfPackageId","cancelled","intrntnl","emergency","destinations","contacts","persDates","statusChanges","expenses","d","xpid","fullAcct","slid","slac","glId","packageId","status","numExp","numRecExp","Injector","HttpErrorResponse","ToastrService","injector","toastrService","handleError","error","toastrError","message","TypeError","msg","closeButton","timeOut","onActivateTick","Subject","eventBrocker","on","eventTypes","dispatch","next","current","_config","httpClient","toPromise","catch","HttpClient","BehaviorSubject","tap","http","aeBus","_counts","counts$","asObservable","getAll","cmd","params","CommandToHttpParams","ds","getCounts","types","fromEntries","NaN","getExpDetails","putDistribution","xp","dist","put","ExpenseStateChanged","updateDistributions","expid","dists","delDistribution","delete","delExpenseReportAttachment","delExpenseAttachment","attachFromHub","fileid","post","addComment","prvt","updateAttachmentComment","myUnits$","_myUnits","accounts$","_accounts","userId","_urlMap","favorites","_links","updateMyUnits","updateAccounts","sort","y","userLinks","isUrlAdded","hasOwnProperty","getLink","addLink","fav","updateLink","delLink","splice","indexOf","userPeople","addPerson","removePerson","userUnits","updateFavUnits","accounts","addAccnt","updateAccnt","delAccnt","_4","_5","intercept","req","nextReq","clone","headers","set","handle","toastr","hawkIdToBeImpersonated","request","replaceUrl","of","switchMap","signalR","_new","update$","closed","connection","HubConnectionBuilder","withUrl","build","start","err","console","top","notifications","getAdmin","read","nt","viewed","getValue","ids","CommandToFormData","responseType","templateName","HttpParams","search","qry","append","myPplCnt$","_myPplCnt","allMyPpl$","_allMyPpl","updateMyPplCnt","getComments","cmnts","deleteComment","getMyFiles","files","f","getFiles","deleteFiles","copyFile","moveFile","renameFile","updateFileExtras","mfk","bjust","lookup","searchMyPeople","searchVisitors","getMyPeople","getPeople","accessScope","cnt","ppl","getPerson","getRolesDesc","Map","key","getAssociate","addGlobalRoles","addAccScopeRoles","roleId","scopes","removeRole","createVisitor","visitor","updateVisitor","getPassports","ps","savePassport","ppt","deletePassport","HttpResponse","window","http_requests_log","FormData","entries","response","keys","_countries","fetchCountries","countries","toArray","k","code","getCountryName","getTripDetails","tripId","create","draft","update","xprid","validateTrip","getWfOffices","acc","submitToWF","subDpt","frstApprvr","cancelTrip","copyTrip","getCountry","states","s","cs","getCities","cities","getCountriesStatesCities","result","getAdvisory","getTripDestBans","saveCntryBan","deleteCntryBan","catchError","throwError","toLowerCase","startsWith","URL","location","origin","pathname","_user","getReps","getXprDetails","efr","addExpenses","reportId","xpIds","removeExpenses","updateDescription","desc","validateExpenses","ExpenseReportStateChanged","passAudit","assocAtt","bulkUpdate","savedHandles","retrieve","getRouteKey","componentRef","instance","OnAttach","setTimeout","shouldAttach","reuse","shouldDetach","shouldReuseRoute","future","curr","store","getRoutePath","stored","clearSavedHandle","pathFromRoot","join","queryParams","ignoreQPars","JSON","stringify","destroy","Day","holidayCache","holidays","ny","getDay","Sunday","Saturday","jan1","range","addDays","Monday","may1","sep1","nov1","Thursday","Friday","xmas","xmas1","Wednesday","dict","date","toISOString","IsBDay","setHours","days","setDate","getDate","addBDays","count","addMonths","months","setMonth","getMonth","minDate","d1","d2","Math","min","Number","maxDate","max","parseAsLocalDate","setMinutes","getMinutes","getTimezoneOffset","monthFmt","Intl","DateTimeFormat","month","monthName","format","dateFmt","day","dateString","toLocaleDateString","dateTimeFormat","timeStyle","dateStyle","toNgbDate","fromNgbDate","ngbd","toISODateString","split","currency","NumberFormat","style","currencyString","o","Array","fill","i","_6","collatorNoCase","Collator","sensitivity","stringCompareNoCase","range2","stop","step","ceil","abs","getEM","getComputedStyle","document","fontSize","val","isArray","CommandToParams","formData","compareProperties","o1","o2","every","objectsEqual","arraysEqual","a1","a2","errorMessage","Message","queryParameters","par","kv","copy","src","tgt","undef","sel","order","getProp","fromPartialMfk","_7","_8","ɵɵpureFunction0","_c0","testingService","linkPaths","HomeComponent_Template","HomeComponent_a_6_Template","faTableCellsLarge","HomeIcon","faAngleDoubleRight","ExpandIcon","faAngleDoubleLeft","CollapseIcon","item_r1","LayoutComponent_li_7_fa_icon_2_Template","LayoutComponent_li_7_span_3_Template","expanded","homeIcon","expandIcon","collapseIcon","linkItems","ngAfterViewInit","navigate","LayoutComponent_Template","LayoutComponent_span_6_Template","LayoutComponent_li_7_Template","LayoutComponent_Template_a_click_8_listener","ɵɵclassMap","ntfctnClass","n_r1","Counts","new","pending","inError","MinidashComponent","xpSvc","notificationService","totalNtfctns","refresh","refreshNotifications","counts","unreadNtfctns","unread","total","ntitle","textClass","n","target","MinidashComponent_Template","MinidashComponent_Template_icon_text_click_1_listener","MinidashComponent_Template_icon_text_click_2_listener","MinidashComponent_Template_icon_text_click_3_listener","MinidashComponent_Template_icon_text_click_4_listener","MinidashComponent_li_12_Template","MyLinksComponent","MyLinksRoutingModule","forChild","pageDescr","MyLinksComponent_a_6_Template_a_click_0_listener","selectPerson","MyLinksComponent_li_14_Template_i_click_1_listener","l_r5","_r4","$implicit","onLinkClick","routerLink","routerQuery","MyLinksComponent_div_15_i_4_Template_i_click_0_listener","_r7","onAddPerson","MyLinksComponent_div_15_i_4_Template","MyLinksComponent_div_15_Template_lib_people_onRemovePerson_5_listener","_r6","onRemovePrsn","MyLinksComponent_div_15_Template_lib_people_onAddPerson_5_listener","onFavPersonFromUnit","myPplCnt","favPeople","MyLinksComponent_div_16_lib_org_tree_6_Template_lib_org_tree_onUnitExpand_0_listener","_r9","onUnitExpand","MyLinksComponent_div_16_lib_org_tree_6_Template_lib_org_tree_onUnitSelectChange_0_listener","onUnitSelectChange","MyLinksComponent_div_16_lib_org_tree_6_Template_lib_org_tree_onAddPerson_0_listener","MyLinksComponent_div_16_lib_org_tree_6_Template_lib_org_tree_onRemovePerson_0_listener","u_r10","value","MyLinksComponent_div_16_Template_i_click_4_listener","_r8","onSelectFavUnits","MyLinksComponent_div_16_lib_org_tree_6_Template","favUnits","MyLinksComponent_ng_template_21_Template_input_ngModelChange_3_listener","_r11","descr","MyLinksComponent_ng_template_23_Template_lib_my_ppl_search_onSelected_1_listener","_r12","pplDlgData","MyLinksComponent_ng_template_25_li_2_Template_lib_org_tree_onUnitExpand_1_listener","_r13","MyLinksComponent_ng_template_25_li_2_Template_lib_org_tree_onUnitSelectChange_1_listener","u_r14","MyLinksComponent_ng_template_25_li_2_Template","myUnits","contextMenuService","modal","favSvc","prsnSvc","ussSvc","showPeople","myPeople","showUnits","iAmSharedService","iAmAdmin","showOthers","links","orgTree","unitsUpdated","searchParams","show","contextMenu","favMenu","item","anchorElement","currentTarget","preventDefault","stopPropagation","editFav","cancelBtn","favEditTmpl","deleteFav","ask","reps","pplDlg","findIndex","mp","people","unitsDlg","loadPpl","ContextMenuService","ModalService","viewQuery","MyLinksComponent_Query","MyLinksComponent_lib_fav_star_4_Template","MyLinksComponent_a_6_Template","MyLinksComponent_hr_7_Template","MyLinksComponent_hr_8_Template","MyLinksComponent_li_14_Template","MyLinksComponent_div_15_Template","MyLinksComponent_div_16_Template","MyLinksComponent_ng_template_19_Template","MyLinksComponent_Template_ng_template_execute_19_listener","MyLinksComponent_ng_template_20_Template","MyLinksComponent_Template_ng_template_execute_20_listener","MyLinksComponent_ng_template_21_Template","MyLinksComponent_ng_template_23_Template","MyLinksComponent_ng_template_25_Template","ContextMenuModule","autoFocus","useBootstrap4","EventEmitter","MfkString","areEqual","emptyMfk","Account_ng_template_7_Template_lib_fav_accnts_OnSelect_1_listener","_r2","ctx_r2","onFavSelect","newFavorite","Account","accountChange","OnFavSelect","ngOnChanges","currentValue","previousValue","isValidMfk","savedModal","mfkRE","validateMfkStructure","onChange","emit","onFavClick","modalEl","hidden","okBtn","favAccntsDlg","elementClass","acct","close","onAddFavClick","Account_Query","Account_Template_i_click_1_listener","Account_Template_span_click_2_listener","Account_Template_uiowa_mfk_input_mfkChange_6_listener","Account_ng_template_7_Template","IDatasource","formatCurrency","AgDatatableComponent","columns","_columns","updateRenderers","dateFormat","filterModelToQry","filterModel","filterType","dateFrom","dateTo","ngZone","elementRef","rowData","selectionType","getRowClass","isRowSelectable","rowHeight","dataSource","view","select","rowClick","ready","onGridReady","gridApi","api","updateRowCount","setGridOption","setRowCount","autoSizeAllColumns","sizeColumnsToFit","cellRenderers","viewCell","boolCell","filterCell","currencyCell","linkCell","href","valueFormatters","cellRenderer","valueFormatter","gridOptions","context","columnDefs","getRowHeight","rowSelection","suppressRowClickSelection","onCellClicked","onSelectionChanged","getSelectedRows","onStateUpdated","enableCellTextSelection","suppressDragLeaveHidesColumns","animateRows","cacheQuickFilter","defaultColDef","sortable","floatingFilter","resizable","suppressHeaderMenuButton","filterParams","buttons","pagination","paginationPageSizeSelector","paginationPageSize","cacheBlockSize","maxBlocksInCache","rowModelType","onBodyScroll","tagName","classList","contains","setFilterModel","column","colId","attributes","getState","headerRect","nativeElement","querySelector","getBoundingClientRect","remSize","parseInt","firstVisible","elementFromPoint","height","row1","closest","getAttribute","sortModel","restoreState","applyColumnState","defaultState","pageSize","updateGridOptions","paginationGetCurrentPage","paginationGoToPage","ensureIndexVisible","getRowNode","setSelected","stageState","successCallback","endRow","startRow","rowCount","NgZone","ElementRef","inputs","outputs","AgDatatableComponent_Template","AgDatatableComponent_Template_ag_grid_angular_gridReady_0_listener","AttachmentsComponent_div_0_li_2_Template_li_click_0_listener","i_r2","index","onRowClick","ɵɵelementContainer","rowStyle","attachmentLine_r5","ɵɵpureFunction2","_c1","a_r4","AttachmentsComponent_div_0_li_2_Template","ɵɵpureFunction1","_c2","a_r6","AttachmentsComponent_div_2_li_4_Template","AttachmentsComponent_ng_template_3_input_1_Template_input_ngModelChange_0_listener","a_r8","selected","AttachmentsComponent_ng_template_3_input_1_Template_input_change_0_listener","i_r9","onSelect","AttachmentsComponent_ng_template_3_div_5_a_4_Template_a_click_0_listener","onDeleteBtn","AttachmentsComponent_ng_template_3_div_5_a_5_Template_a_click_0_listener","onMenu","AttachmentsComponent_ng_template_3_div_5_Template_textarea_focus_1_listener","_r10","startEditComment","AttachmentsComponent_ng_template_3_div_5_Template_textarea_blur_1_listener","updateComment","AttachmentsComponent_ng_template_3_div_5_Template_textarea_keypress_1_listener","onKeyPress","AttachmentsComponent_ng_template_3_div_5_a_4_Template","AttachmentsComponent_ng_template_3_div_5_a_5_Template","commentRows","hasMenu","AttachmentsComponent_ng_template_3_input_1_Template","AttachmentsComponent_ng_template_3_div_5_Template","AttachmentsComponent_ng_template_3_span_6_Template","AttachmentsComponent_ng_template_3_ng_container_7_Template","multiselect","ɵɵpropertyInterpolate2","apiURL","modifiable","extrasTemplate","_c3","ɵɵtextInterpolate5","createdBy","c_r13","ɵɵtextInterpolate2","AttachmentsComponent_ng_template_5_li_1_Template","cmntHist","AttachmentsComponent","items","useAPItoGetItems","modalService","onUpdate","onDelete","originalComment","updateItems","updateFromApi","cmnt","match","shiftKey","blur","observers","del","showCmntHist","notify","cmntHistTmpl","selectable","unselect","AttachmentsComponent_Query","AttachmentsComponent_div_0_Template","AttachmentsComponent_div_1_Template","AttachmentsComponent_div_2_Template","AttachmentsComponent_ng_template_3_Template","AttachmentsComponent_ng_template_5_Template","commentLine_r2","c_r1","CommentsComponent_div_0_li_2_Template","c_r4","CommentsComponent_div_1_li_4_Template","CommentsComponent_ng_template_2_div_1_a_4_Template_a_click_0_listener","c_r6","onHistoryBtn","CommentsComponent_ng_template_2_div_1_Template_textarea_focus_1_listener","_r5","CommentsComponent_ng_template_2_div_1_Template_textarea_blur_1_listener","CommentsComponent_ng_template_2_div_1_Template_textarea_keypress_1_listener","CommentsComponent_ng_template_2_div_1_a_4_Template","CommentsComponent_ng_template_2_div_1_Template_a_click_5_listener","ɵɵstyleMap","showHistory","CommentsComponent_ng_template_2_div_2_a_4_Template_a_click_0_listener","CommentsComponent_ng_template_2_div_2_a_4_Template","CommentsComponent_ng_template_2_div_1_Template","CommentsComponent_ng_template_2_div_2_Template","c_r9","CommentsComponent_ng_template_4_li_1_Template","CommentsComponent","CommentsComponent_Query","CommentsComponent_div_0_Template","CommentsComponent_div_1_Template","CommentsComponent_ng_template_2_Template","CommentsComponent_ng_template_4_Template","NgbDate","DateRangeComponent_button_3_Template_button_click_0_listener","ctx_r3","onDateRangeClear","DateRangeComponent_ng_template_4_Template_span_mouseenter_0_listener","date_r6","hoveredDate","DateRangeComponent_ng_template_4_Template_span_mouseleave_0_listener","ɵɵclassProp","focused_r7","isRange","isHovered","isInside","DateRangeComponent_ng_template_6_Template_input_ngModelChange_4_listener","rangeKind","DateRangeComponent_ng_template_6_Template_input_ngModelChange_8_listener","DateRangeComponent_ng_template_6_Template_input_ngModelChange_12_listener","DateRangeComponent_ng_template_6_Template_button_click_14_listener","drp_r2","ɵɵreference","dateRangeApply","DateRangeKind","DateRangeComponent","calendar","formatter","onClear","dateRangeRestore","drp","lessidx","fromDate","from","parse","substring","toDate","before","after","navigateTo","onDateRangeSelect","equals","rangeSelected","string","validateInput","input","parsed","isValid","dateRangeExpression","onDateRangeKeyDown","NgbCalendar","NgbDateParserFormatter","DateRangeComponent_Template","DateRangeComponent_Template_input_click_1_listener","toggle","DateRangeComponent_Template_input_dateSelect_1_listener","DateRangeComponent_Template_input_keydown_1_listener","DateRangeComponent_button_3_Template","DateRangeComponent_ng_template_4_Template","DateRangeComponent_ng_template_6_Template","dateRangeTmplt_r9","dateRangeFooter_r10","DistributionsComponent_div_1_Template_button_click_2_listener","createDistribution","DistributionsComponent_div_2_ng_container_1_Template","distEditor_r3","d_r5","DistributionsComponent_li_4_div_15_Template_button_click_1_listener","delDist","DistributionsComponent_li_4_div_16_ng_container_1_Template","DistributionsComponent_li_4_Template_div_click_2_listener","editDist","DistributionsComponent_li_4_span_8_Template","DistributionsComponent_li_4_div_15_Template","DistributionsComponent_li_4_div_16_Template","expense","ded","DistributionsComponent_ng_template_5_Template_input_ngModelChange_5_listener","DistributionsComponent_ng_template_5_Template_lib_account_accountChange_7_listener","DistributionsComponent_ng_template_5_Template_textarea_ngModelChange_11_listener","DistributionsComponent_ng_template_5_Template_input_ngModelChange_16_listener","DistributionsComponent_ng_template_5_Template_input_ngModelChange_19_listener","DistributionsComponent_ng_template_5_Template_button_click_21_listener","closeDistEditor","DistributionsComponent_ng_template_5_Template_button_click_23_listener","okButtonHelp","DistributionsComponent","createButton","onEdit","onSave","checkEdits","defaultAcc","ided","hasUnsavedChanges","save","discardChanges","getHeight","h","DistributionsComponent_Template","DistributionsComponent_div_1_Template","DistributionsComponent_div_2_Template","DistributionsComponent_li_4_Template","DistributionsComponent_ng_template_5_Template","ExpEditor_div_0_div_12_lib_comments_4_Template_lib_comments_onUpdate_0_listener","onCommentsUpdate","commentable","ExpEditor_div_0_div_12_Template_button_click_2_listener","onAddComment","ExpEditor_div_0_div_12_lib_comments_4_Template","ExpEditor_div_0_div_13_Conditional_8_Template_span_ngModelChange_0_listener","dist_r6","ExpEditor_div_0_div_13_Conditional_8_Template_span_ngModelChange_2_listener","ExpEditor_div_0_div_13_Conditional_9_Template_span_click_0_listener","ExpEditor_div_0_div_13_Conditional_11_Template_div_ngModelChange_0_listener","ExpEditor_div_0_div_13_Conditional_12_Template_span_click_0_listener","ExpEditor_div_0_div_13_div_13_span_1_Template_span_click_0_listener","editAmount","ExpEditor_div_0_div_13_div_13_input_2_Template_input_ngModelChange_0_listener","draftAmount","ExpEditor_div_0_div_13_div_13_input_2_Template_input_blur_0_listener","ExpEditor_div_0_div_13_div_13_input_2_Template_input_keydown_0_listener","onAmountKey","ExpEditor_div_0_div_13_div_13_span_1_Template","ExpEditor_div_0_div_13_div_13_input_2_Template","ExpEditor_div_0_div_13_Template_button_click_3_listener","ExpEditor_div_0_div_13_Template_span_ngModelChange_7_listener","ExpEditor_div_0_div_13_Conditional_8_Template","ExpEditor_div_0_div_13_Conditional_9_Template","ExpEditor_div_0_div_13_Conditional_11_Template","ExpEditor_div_0_div_13_Conditional_12_Template","ExpEditor_div_0_div_13_div_13_Template","ɵɵconditional","balance","ExpEditor_div_0_button_19_Template_button_click_0_listener","a_r14","addDist","isAcctUsed","ExpEditor_div_0_div_43_div_3_Template_input_ngModelChange_2_listener","_r16","applyJustAll","ExpEditor_div_0_div_43_button_5_Template_button_click_0_listener","_r17","applyJustBulk","buttonText","ExpEditor_div_0_div_43_Template_input_ngModelChange_2_listener","_r15","draftJust","ExpEditor_div_0_div_43_div_3_Template","ExpEditor_div_0_div_43_button_5_Template","disableBJ","showOverrideCB","ɵɵpropertyInterpolate1","a_r18","ExpEditor_div_0_Template_icon_text_click_11_listener","toggleComments","ExpEditor_div_0_div_12_Template","ExpEditor_div_0_div_13_Template","ExpEditor_div_0_div_14_Template","ExpEditor_div_0_button_19_Template","ExpEditor_div_0_Template_lib_account_accountChange_25_listener","draftAcct","ExpEditor_div_0_Template_button_click_26_listener","ExpEditor_div_0_Template_input_ngModelChange_32_listener","draftSlid","ExpEditor_div_0_Template_input_ngModelChange_34_listener","draftSlac","ExpEditor_div_0_div_43_Template","ExpEditor_div_0_div_45_Template","showComments","favAccounts","ExpEditor","justTab","getElementsByClassName","onFavSelected","features","ɵɵNgOnChangesFeature","ExpEditor_Template","ExpEditor_div_0_Template","nameof","FavAccnts_ng_template_3_Template_i_click_0_listener","row_r3","row","Edit","FavAccnts_ng_template_3_Template_i_click_1_listener","Del","FavAccnts_ng_template_5_Template_uiowa_mfk_input_mfkChange_0_listener","FavAccnts_ng_template_5_Template_input_ngModelChange_3_listener","MfkFields","FavAcctRow","FavAccnts","OnSelect","rowClass","em","fields","cols","width","maxWidth","minWidth","headerName","field","suppressAutoSize","datatable","rows","accnts","editAccntDlg","okOnEnter","okBtnDisabled","okBtnHelp","FavAccnts_Query","FavAccnts_Template_ag_datatable_ready_1_listener","FavAccnts_Template_ag_datatable_rowClick_1_listener","FavAccnts_ng_template_3_Template","FavAccnts_ng_template_5_Template","FavStar_ng_template_1_Template_input_ngModelChange_3_listener","FavStar","added","UrlUpdated","loc","hash","iconClass","onClick","favDescTmpl","FavStar_Query","FavStar_Template_i_click_0_listener","FavStar_ng_template_1_Template","HubSelectComponent_ng_template_0_li_9_Template_li_click_0_listener","k_r4","svc","setOrderBy","HubSelectComponent_ng_template_0_Template_i_click_4_listener","filterFC","reset","HubSelectComponent_ng_template_0_li_9_Template","HubSelectComponent_ng_template_0_Template_button_click_10_listener","toggleSort","HubSelectComponent_ng_template_0_Template_input_ngModelChange_14_listener","deleteAfterAttach","HubSelectComponent_ng_template_0_Template_lib_attachments_onSelect_20_listener","myFiles","HubSelectComponent_ng_template_0_Template_lib_attachments_onSelect_25_listener","orderBy","orderingNames","orderBtnClass","otherFiles","extras_r5","onlyMine","HubSelectComponent_ng_template_2_div_0_Template","HubSelectComponent","onSelected","registeComponent","HubSelectService","HubSelectComponent_Query","HubSelectComponent_ng_template_0_Template","HubSelectComponent_ng_template_2_Template","forkJoin","FormControl","debounceTime","myFilesAll","otherFilesAll","loading","orderDesc","ordering","File name","Updated by","Date updated","valueChanges","myFilesList","otherFilesList","filterAndSort","hubDlg","apply","file","rm","compareFunc","re","RegExp","test","IconTextComponent","iClass","faicon","iconStyle","color","textStyle","IconTextComponent_Template","MyPplSearchComponent_div_1_ng_container_5_li_1_Template_input_ngModelChange_2_listener","MyPplSearchComponent_div_1_ng_container_5_li_1_Template_input_change_2_listener","p_r4","ɵɵelementContainerStart","MyPplSearchComponent_div_1_ng_container_5_li_1_Template","isShown","MyPplSearchComponent_div_1_Template_i_click_3_listener","MyPplSearchComponent_div_1_ng_container_5_Template","persons","MyPplSearchComponent_lib_person_search_2_Template_lib_person_search_onSelected_0_listener","MyPplSearchComponent","showLookup","MyPplSearchComponent_Template","MyPplSearchComponent_div_1_Template","MyPplSearchComponent_lib_person_search_2_Template","t_r1","NavTilesComponent_div_2_fa_icon_3_Template","NavTilesComponent","tiles","linkPathSet","NavTilesComponent_Template","NavTilesComponent_div_2_Template","OrgTreeComponent_ng_template_1_div_0_span_1_Template_span_click_0_listener","u_r2","onExpand","OrgTreeComponent_ng_template_1_div_0_span_1_i_1_Template","OrgTreeComponent_ng_template_1_div_0_span_1_i_2_Template","OrgTreeComponent_ng_template_1_div_0_label_3_Template_input_ngModelChange_1_listener","OrgTreeComponent_ng_template_1_div_0_label_3_Template_input_change_1_listener","onSelectChange","OrgTreeComponent_ng_template_1_div_0_span_1_Template","OrgTreeComponent_ng_template_1_div_0_span_2_Template","OrgTreeComponent_ng_template_1_div_0_label_3_Template","ppl_r7","sel_r6","unitTmpl_r10","ɵɵpureFunction4","s_r8","favs_r9","OrgTreeComponent_ng_template_1_div_1_lib_people_5_Template_lib_people_onRemovePerson_0_listener","onRemovePerson","OrgTreeComponent_ng_template_1_div_1_lib_people_5_Template_lib_people_onAddPerson_0_listener","manageFavPeople","removePersonTitle","addPersonTitle","OrgTreeComponent_ng_template_1_div_1_div_1_Template","OrgTreeComponent_ng_template_1_div_1_div_3_Template","OrgTreeComponent_ng_template_1_div_1_div_4_Template","OrgTreeComponent_ng_template_1_div_1_lib_people_5_Template","OrgTreeComponent_ng_template_1_div_0_Template","OrgTreeComponent_ng_template_1_div_1_Template","OrgTreeComponent","showFavUnits","OrgTreeComponent_Template","OrgTreeComponent_ng_template_1_Template","PCardData","searcher","term","matches","card","convertToItem","cancel","pcard","cardHolder","last4","originalObject","PCardSearchComponent","elRef","pcardSvc","placeholder","pcardData","onComplete","activeElement","onKeyDown","parentElement","dispatchEvent","PCardSearchComponent_Template","PCardSearchComponent_Template_ng_completer_ngModelChange_2_listener","selectedCard","PCardSearchComponent_Template_ng_completer_selected_2_listener","PCardSearchComponent_Template_ng_completer_keydown_2_listener","PeopleComponent_li_1_i_7_Template_i_click_0_listener","p_r2","removeTitle","PeopleComponent_li_1_i_8_Template_i_click_0_listener","addTitle","PeopleComponent_li_1_i_7_Template","PeopleComponent_li_1_i_8_Template","showRmFavs","showAddFavs","PeopleComponent","PeopleComponent_Template","PeopleComponent_li_1_Template","PersonData","PersonSearchComponent_label_3_Template_input_ngModelChange_1_listener","myOnly","PersonSearchComponent","showMyCB","kind","call","personsData","PersonSearchComponent_Template","PersonSearchComponent_Template_ng_completer_ngModelChange_2_listener","selectedPerson","PersonSearchComponent_Template_ng_completer_selected_2_listener","PersonSearchComponent_Template_ng_completer_keydown_2_listener","PersonSearchComponent_label_3_Template","HttpRequest","HttpEventType","UploadComponent","onSuccess","onDragOver","dragAreaClass","onDragEnter","onDragEnd","onDragLeave","onDrop","dataTransfer","dT","DataTransfer","fileinput","getUploadBtnMsg","upload","uploadURL","reportProgress","Sent","UploadProgress","progress","round","loaded","Response","showTips","tipsDlg","UploadComponent_Query","UploadComponent_dragover_HostBindingHandler","UploadComponent_dragenter_HostBindingHandler","UploadComponent_dragend_HostBindingHandler","UploadComponent_dragleave_HostBindingHandler","UploadComponent_drop_HostBindingHandler","UploadComponent_Template_i_click_1_listener","UploadComponent_Template_input_change_7_listener","ɵɵprojection","UploadComponent_Template_button_click_11_listener","fileinput_r2","UploadComponent_Template_textarea_ngModelChange_14_listener","UploadComponent_div_17_Template","UploadComponent_ng_template_18_Template","ctx_r0","routingHistoryString","ɵɵsanitizeHtml","WorkflowComponent","workflowService","windowRef","onPrint","workflowJSSourceList","getTime","workflowHistoryJSSourceList","_window","nativeWindow","canView","showHistoryOnly","workflowWidget","routingHistory","showWorkflowWidget","showRoutingHistory","getWorkflowWidget","workflowFormId","WorkflowWidget","form_id","formId","package_id","workflowPackageId","signature_id","scope","client_id","clientId","environment","post_sign_void","post_version_mismatch","node","createElement","async","getElementsByTagName","appendChild","getRoutingHistory","formatWorkflowHistory","printParent","WorkflowService","WindowRefService","WorkflowComponent_Template","WorkflowComponent_div_0_Template","WorkflowComponent_div_1_Template","EnterBlurDirective","el","onMouseEnter","hostBindings","EnterBlurDirective_HostBindings","EnterBlurDirective_keydown_HostBindingHandler","FocusSelectDirective","onFocus","element","createRange","setStart","setEnd","lastChild","textContent","selection","getSelection","removeAllRanges","addRange","FocusSelectDirective_HostBindings","FocusSelectDirective_focus_HostBindingHandler","FocusOnShowDirective","focus","standalone","animate","transition","trigger","ModalComponent_button_14_Template_button_click_0_listener","ModalComponent","getOkBtnHelp","getOkBtnDisabled","hostVars","ModalComponent_HostBindings","ɵɵsyntheticHostProperty","ModalComponent_Template_button_click_7_listener","ModalComponent_p_11_Template","ModalComponent_ng_container_12_Template","ModalComponent_button_14_Template","ModalComponent_Template_button_click_15_listener","transform","opacity","ModalModule","createCustomElement","Observable","customElements","ModalElement","define","args","okBtnValue","sub","className","addEventListener","onClose","onKeydown","display","subscriber","ok","removeEventListener","removeChild","complete","click","getWindow","scrollMainDivToTop","myDiv","getElementById","scroll","left","behavior","apiUrl","formType","getAllowedActions","ReactiveFormsModule","SpinnerModule","AgGridModule","NgsContenteditableModule","NgCompleterModule","UiowaMfkModule","MfkInputComponent","production","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}