{"version":3,"file":"main.js","mappings":"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ACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACE,CACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEM,SAAUC,OAAO,CAACzQ,YAA0B;EAChD,OAAOA,YAAY,CAACoD,uBAAuB,CAAC,IAAI,CAACsF,OAAO,CAAC;AAC3D;AAEO,MAAMhI,MAAM,GAAIV,YAA0B,IAA2ByQ,OAAO,CAACzQ,YAAY,CAAC,CAACtD,IAAI;EACpG;AAAA,CACD;;;;;;;;;;;;;;;;;;;;;ACvSsD;AACW;AAEK;;;AAEvE,MAAM9I,MAAM,GAAW,CACnB;EACIC,IAAI,EAAE,EAAE;EACRG,SAAS,EAAEzB,gFAAkBA;CAChC,CACJ;AAQK,MAAOme,iBAAiB;SAAjBA,iBAAiB;;mBAAjBA,MAAiB;AAAA;;QAAjBA;AAAiB;;YALhBxe,kEAAqB,CAAC0B,MAAM,CAAC,EACnCwC,uDAAW,EAACC,+DAAmB,EACzBnE,yDAAY;AAAA;;sHAGbwe,iBAAiB;IAAArc,UAAAA,yDAAAA,EAJtB+B,uDAAW,EAACC,+DAAmB;IAAA/B,UACzBpC,yDAAY;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfqB;AACmB;AACsE;AAEzE;AAEjB;AACE;AACU;AACjB;AAEzC;AACoD;AAEpD;AAC2D;AACY;AACjB;;AA0BhD,MAAO0D,UAAU;SAAVA,UAAU;;mBAAVA,MAAU;AAAA;;QAAVA;AAAU;;aALV,CACTyb,qDAAQ,CACT;EAAAhd,UAlBC6c,yEAAsB,EACtBC,wDAAc,EACdJ,0EAAkB,EAClBC,sEAAc,EACdC,yEAAiB,EACjBL,yDAAY,EACZxa,uDAAW,EACXC,+DAAmB,EACnBqa,mEAAiB,EACjBU,yDAAU,EACVP,wEAAgB,EAChBC,yEAAiB,EACjBpb,gEAAe,EACf6b,sEAAsB,EACtBD,+DAAY;AAAA;;sHAOH1b,UAAU;IAAAyC,eAvBN9F,gFAAkB;IAAA8B,UAE/B6c,yEAAsB,EACtBC,wDAAc,EACdJ,0EAAkB,EAClBC,sEAAc,EACdC,yEAAiB,EACjBL,yDAAY,EACZxa,uDAAW,EACXC,+DAAmB,EACnBqa,mEAAiB,EACjBU,yDAAU,EACVP,wEAAgB,EAChBC,yEAAiB,EACjBpb,gEAAe,EACf6b,sEAAsB,EACtBD,+DAAY;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;AClCkB;;;;;;;;;;ICa5Blc,4DAAAA,cAA2B;IAGrBA,oDAAAA,GAAgD;;IAAAA,0DAAAA,EAAK;IACvDA,4DAAAA,iBAA+E;IAAvCA,wDAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,kBAAc,aAAa,CAAC;IAAA,EAAC;IAC9EA,0DAAAA,EAAS;IAEXA,4DAAAA,cAA4B;IAGgCA,oDAAAA,IAA2D;;IAAAA,0DAAAA,EAAQ;IACzHA,uDAAAA,iBACkF;;IACpFA,0DAAAA,EAAM;IACNA,4DAAAA,eAAkB;IAEuBA,oDAAAA,IAA6D;;IAAAA,0DAAAA,EAAQ;IAC5GA,uDAAAA,oBAC+F;;IACjGA,0DAAAA,EAAM;IAGVA,4DAAAA,eAA0B;IAEtBA,wDAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,kBAAc,aAAa,CAAC;IAAA,EAAC;IAACA,oDAAAA,IAA4D;;IAAAA,0DAAAA,EAAS;IAC9GA,4DAAAA,kBAC0B;IAAAA,oDAAAA,IAA8D;;IAAAA,0DAAAA,EAAS;;;IAvB/FA,uDAAAA,GAAgD;IAAhDA,gEAAAA,MAAAA,yDAAAA,6CAAgD;IAOQA,uDAAAA,GAA2D;IAA3DA,+DAAAA,CAAAA,yDAAAA,qDAA2D;IAE/GA,uDAAAA,GAA+E;IAA/EA,mEAAAA,gBAAAA,yDAAAA,4DAA+E;IAI1CA,uDAAAA,GAA6D;IAA7DA,+DAAAA,CAAAA,yDAAAA,wDAA6D;IAElGA,uDAAAA,GAAiF;IAAjFA,mEAAAA,gBAAAA,yDAAAA,8DAAiF;IAM9CA,uDAAAA,GAA4D;IAA5DA,+DAAAA,CAAAA,yDAAAA,uDAA4D;IAE3EA,uDAAAA,GAA8D;IAA9DA,+DAAAA,CAAAA,yDAAAA,yDAA8D;;;;;IA4B1FA,4DAAAA,SAAuC;IAGJA,oDAAAA,GAAyB;;IAAAA,0DAAAA,EAAK;IAG7DA,4DAAAA,cAAkC;IAG9BA,uDAAAA,YAA8B;IAChCA,0DAAAA,EAAI;IACJA,4DAAAA,cAA+D;IACTA,oDAAAA,IAAyD;;IAAAA,uDAAAA,aAC1D;IAAAA,0DAAAA,EAAI;IACvDA,4DAAAA,aAAoD;IAAAA,oDAAAA,IAAyD;;IAAAA,uDAAAA,aACzD;IAAAA,0DAAAA,EAAI;IACxDA,4DAAAA,aAAoD;IAAAA,oDAAAA,IAAyD;;IAAAA,uDAAAA,aACrD;IAAAA,0DAAAA,EAAI;;;;IAdjCA,uDAAAA,GAAyB;IAAzBA,+DAAAA,CAAAA,yDAAAA,qBAAyB;IASAA,uDAAAA,GAAyD;IAAzDA,gEAAAA,KAAAA,yDAAAA,uDAAyD;IAEzDA,uDAAAA,GAAyD;IAAzDA,gEAAAA,KAAAA,yDAAAA,uDAAyD;IAEzDA,uDAAAA,GAAyD;IAAzDA,gEAAAA,KAAAA,yDAAAA,wDAAyD;;;;;IArBzHA,4DAAAA,UAAuC;IAEnCA,oDAAAA,GACF;IAAAA,0DAAAA,EAAM;IACNA,4DAAAA,aAAuC;IACrCA,wDAAAA,6DAqBK;IACPA,0DAAAA,EAAK;;;;IAzBHA,uDAAAA,GACF;IADEA,gEAAAA,uBACF;IAEuBA,uDAAAA,GAAgB;IAAhBA,wDAAAA,6BAAgB;;;AD1D7C;;;AAGM,MAAOqc,iBAAiB;EAK5Bjd,YAAoBoL,YAAsB,EAASnL,SAA2B;IAA1D,iBAAY,GAAZmL,YAAY;IAAmB,cAAS,GAATnL,SAAS;EAAsB;EAElFwE,QAAQ;IACN,MAAMyY,MAAM,GAAGF,gDAAa,CAAC,CAACvK,CAAC,EAAEuH,CAAC,KAAKvH,CAAC,CAACnD,IAAI,GAAG0K,CAAC,CAAC1K,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhE,MAAM6N,OAAO,GAAGD,MAAM,CAACE,MAAM,CAAC,CAAClR,MAAM,EAAEmR,OAAO,KAAI;MAChD,MAAMC,MAAM,GAAG,IAAI,CAACrd,SAAS,CAACsd,OAAO,CAACF,OAAO,CAAC/N,IAAI,CAAC,CAAC+L,MAAM,CAAC,CAAC,CAAC;MAC7DnP,MAAM,CAACoR,MAAM,CAAC,GAAGpR,MAAM,CAACoR,MAAM,CAAC,IAAI,EAAE;MACrCpR,MAAM,CAACoR,MAAM,CAAC,CAAC9P,IAAI,CAAC6P,OAAO,CAAC;MAE5B,OAAOnR,MAAM;IACf,CAAC,EAAE,EAAE,CAAC;IAEN;IACA,IAAI,CAACsR,YAAY,GAAGC,MAAM,CAACC,IAAI,CAACP,OAAO,CAAC,CAACvM,GAAG,CAAC+M,GAAG,KAAK;MAAEA,GAAG;MAAEX,QAAQ,EAAEG,OAAO,CAACQ,GAAG;IAAC,CAAE,CAAC,CAAC;EACxF;EAGA;;;;EAIA;EACAC,iBAAiB,CAACzM,OAAO;IACvB,IAAI,CAAC/F,YAAY,CAACN,IAAI,CAACqG,OAAO,EAAE;MAAEC,QAAQ,EAAE;IAAI,CAAE,CAAC;EACrD;;SA9BW6L,iBAAiB;;mBAAjBA,MAAiB;AAAA;;QAAjBA,MAAiB;EAAAzc;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;;MCd9BC,4DAAAA,UAAK;MAM4CA,wDAAAA;QAAAA,2DAAAA;QAAA;QAAA,OAASA,yDAAAA,2BAA0B;MAAA,EAAC;MAC3EA,uDAAAA,WAAgC;MAClCA,0DAAAA,EAAS;MAGbA,4DAAAA,YAAiB;MAAAA,oDAAAA,GAA0C;;MAAAA,0DAAAA,EAAK;MAGhEA,wDAAAA,8EAAAA,oEAAAA,CA8Bc;MAGdA,4DAAAA,cAAwC;MAIhCA,uDAAAA,aAAuD;MACzDA,0DAAAA,EAAS;MAEXA,uDAAAA,iBACwE;;MAC1EA,0DAAAA,EAAM;MAOVA,4DAAAA,6BAAgF;MAC9EA,wDAAAA,wDA4BM;MAGRA,0DAAAA,EAAoB;;;MApFDA,uDAAAA,GAA0C;MAA1CA,+DAAAA,CAAAA,yDAAAA,mCAA0C;MA4CrDA,uDAAAA,GAAqE;MAArEA,mEAAAA,gBAAAA,yDAAAA,iDAAqE;MASrDA,uDAAAA,GAAe;MAAfA,wDAAAA,6BAAe;;;;;;;;;;;;;;;;;;;;ACjEzC,MAAMoc,QAAQ,GAAG,CACb;EAAEtX,EAAE,EAAE,CAAC;EAAE4J,IAAI,EAAE;AAAgC,CAAE,EACjD;EAAE5J,EAAE,EAAE,CAAC;EAAE4J,IAAI,EAAE;AAAiC,CAAE,EAClD;EAAE5J,EAAE,EAAE,CAAC;EAAE4J,IAAI,EAAE;AAAgC,CAAE,EACjD;EAAE5J,EAAE,EAAE,CAAC;EAAE4J,IAAI,EAAE;AAAgC,CAAE,EACjD;EAAE5J,EAAE,EAAE,CAAC;EAAE4J,IAAI,EAAE;AAAiC,CAAE,EAClD;EAAE5J,EAAE,EAAE,CAAC;EAAE4J,IAAI,EAAE;AAAgC,CAAE,EACjD;EAAE5J,EAAE,EAAE,CAAC;EAAE4J,IAAI,EAAE;AAAgC,CAAE,EACjD;EAAE5J,EAAE,EAAE,CAAC;EAAE4J,IAAI,EAAE;AAAiC,CAAE,EAClD;EAAE5J,EAAE,EAAE,CAAC;EAAE4J,IAAI,EAAE;AAAiC,CAAE,EAClD;EAAE5J,EAAE,EAAE,EAAE;EAAE4J,IAAI,EAAE;AAAgC,CAAE,EAClD;EAAE5J,EAAE,EAAE,EAAE;EAAE4J,IAAI,EAAE;AAAiC,CAAE,EACnD;EAAE5J,EAAE,EAAE,EAAE;EAAE4J,IAAI,EAAE;AAAiC,CAAE,EACnD;EAAE5J,EAAE,EAAE,EAAE;EAAE4J,IAAI,EAAE;AAAgC,CAAE,EAClD;EAAE5J,EAAE,EAAE,EAAE;EAAE4J,IAAI,EAAE;AAAgC,CAAE,EAClD;EAAE5J,EAAE,EAAE,EAAE;EAAE4J,IAAI,EAAE;AAAiC,CAAE,EACnD;EAAE5J,EAAE,EAAE,EAAE;EAAE4J,IAAI,EAAE;AAAgC,CAAE,EAClD;EAAE5J,EAAE,EAAE,EAAE;EAAE4J,IAAI,EAAE;AAAgC,CAAE,EAClD;EAAE5J,EAAE,EAAE,EAAE;EAAE4J,IAAI,EAAE;AAAiC,CAAE,EACnD;EAAE5J,EAAE,EAAE,EAAE;EAAE4J,IAAI,EAAE;AAAiC,CAAE,EACnD;EAAE5J,EAAE,EAAE,EAAE;EAAE4J,IAAI,EAAE;AAAgC,CAAE,CACrD;;;;;;;;;;;;;;;;;;;;;;;;ACpB8D;AAGJ;;;;;;;;;;ICsBzD1O,4DAAAA,cAA0C;IAEdA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAc;IAAA,EAAC;IAC9CA,uDAAAA,cAA+C;IACjDA,0DAAAA,EAAM;IAERA,4DAAAA,cAAsB;IACOA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,wBAAgB;IAAA,EAAC;IACnDA,uDAAAA,cAAmD;IACrDA,0DAAAA,EAAM;IACNA,4DAAAA,cAA0B;IACxBA,uDAAAA,cAAqD;IACvDA,0DAAAA,EAAM;IAERA,4DAAAA,cAAsB;IAElBA,uDAAAA,eAAuD;IACzDA,0DAAAA,EAAM;IACNA,4DAAAA,eAA0B;IACxBA,uDAAAA,eAAiD;IACnDA,0DAAAA,EAAM;IAERA,4DAAAA,eAAsB;IACMA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,gBAAQ;IAAA,EAAC;IAC1CA,uDAAAA,eAAuC;IACzCA,0DAAAA,EAAM;IACNA,4DAAAA,eAAqD;IAAhDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,wBAAgB;IAAA,EAAC;IAC7BA,uDAAAA,eAAkF;IACpFA,0DAAAA,EAAM;;;AD1CN,MAAOkd,iBAAiB;EAO5B9d,YACU+D,MAAc,EACdga,UAAsB,EACtBpS,WAAwB,EACxBvI,IAAgB,EAChBoI,YAA0B;IAJ1B,WAAM,GAANzH,MAAM;IACN,eAAU,GAAVga,UAAU;IACV,gBAAW,GAAXpS,WAAW;IACX,SAAI,GAAJvI,IAAI;IACJ,iBAAY,GAAZoI,YAAY;IA2GtB,gBAAW,GAAG,KAAK;IAvGf,IAAI,CAACwS,MAAM,GAAGzb,4EAAkB;EAClC;EAGAkC,QAAQ;IACN,IAAI,CAACwZ,wBAAwB,EAAE;EAEjC;EAEAA,wBAAwB;IACtB,MAAM9Q,MAAM,GAAG1E,QAAQ,CAACT,cAAc,CAACC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,CAACuD,YAAY,CAAC0S,sBAAsB,CAAC/Q,MAAM,CAAC,CAACpH,SAAS,CACvDC,QAAQ,IAAI;MACX,MAAMmY,GAAG,GAAGV,MAAM,CAACW,MAAM,CAACpY,QAAQ,CAAC;MACnC,IAAImY,GAAG,CAAC5X,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC5B,IAAI,CAAC8X,aAAa,GAAC,IAAI;OACxB,MAAI;QACH,IAAI,CAACA,aAAa,GAAC,KAAK;;MAG1B;MACA,IAAIF,GAAG,CAAC5X,QAAQ,CAAC,eAAe,CAAC,EAAE;QACjC,IAAI,CAAC+X,YAAY,GAAC,IAAI;OACvB,MAAI;QACH,IAAI,CAACA,YAAY,GAAC,KAAK;;IAG3B,CAAC,EACApY,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACtB,CAAC,CACF;EAEH;EAEF2O,WAAW,CAACC,KAAa;IACvB,MAAMyJ,aAAa,GAAG,IAAI,CAACR,UAAU,CAACS,aAAa,CAAC7M,aAAa,CAAC,GAAG,GAAGmD,KAAK,CAAC;IAC9E3O,OAAO,CAAC0B,GAAG,CAAC0W,aAAa,CAAC;IAC1B,IAAIA,aAAa,EAAE;MACjBA,aAAa,CAACvJ,cAAc,CAAC;QAAEC,QAAQ,EAAE;MAAQ,CAAE,CAAC;;EAExD;EAEAlK,eAAe;IACb,IAAI,CAAChH,MAAM,CAACY,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;EAClC;EAEA8Z,UAAU;IACR,IAAI,CAAC1a,MAAM,CAACY,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC;EACzC;EAEA+Z,WAAW;IACT,IAAI,CAAC3a,MAAM,CAACY,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC;EAC9C;EAEAga,aAAa;IACX,IAAI,CAAC5a,MAAM,CAACY,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC;EAC5C;EAEAia,cAAc;IACZ,IAAI,CAAC7a,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EACAka,YAAY;IACV,IAAI,CAAC9a,MAAM,CAACY,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;EAC3C;EAIAma,cAAc;IACZ,IAAI,CAAC/a,MAAM,CAACY,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;EAC3C;EAEAoa,cAAc,CAACC,IAAY;IACzB,IAAI,CAACjb,MAAM,CAACY,QAAQ,CAAC,CAAC,cAAc,EAAEqa,IAAI,CAAC,CAAC;EAC9C;EAGAC,cAAc;IACZ,IAAI,CAAClb,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EAEAqM,MAAM;IACJ,MAAMnL,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAC7C;IACAmB,QAAQ,CAAC8V,MAAM,GAAG,wDAAwD;IAC1ElX,cAAc,CAACmX,UAAU,CAAC,OAAO,CAAC;IAClC,IAAItZ,KAAK,EAAE;MACT,MAAMuZ,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAUxZ,KAAK,EAAE,CAAC;MACzE,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAC,GAAG,IAAI,CAACtB,MAAM,cAAc,EAAE,IAAI,EAAE;QAAEoB;MAAO,CAAE,CAAC,CAACrZ,SAAS,CACvE,MAAK;QAEH,IAAI,CAACwZ,QAAQ,GAAG,IAAI;QACpB1U,MAAM,CAAC2U,QAAQ,CAACC,MAAM,EAAE,CAAC,CAAC;QAE1B;MACF,CAAC,EACAvZ,KAAU,IAAI;QACbC,OAAO,CAACD,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;MAC/C,CAAC,CACF;;EAEL;EAIAwZ,aAAa;IACX,IAAI,CAACC,WAAW,GAAG,CAAC,IAAI,CAACA,WAAW;EACtC;EAEAC,YAAY;IACV,IAAI,CAACD,WAAW,GAAG,KAAK;EAC1B;;SA/HW7B,iBAAiB;;mBAAjBA,MAAiB;AAAA;;QAAjBA,MAAiB;EAAAtd;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCZ9BC,4DAAAA,aAA4B;MAIhBA,wDAAAA;QAAA,OAAS6F,iBAAa;MAAA,EAAC;MAA7B7F,0DAAAA,EAAkE;MAClEA,4DAAAA,WAAM;MAAAA,oDAAAA,YAAK;MAAAA,0DAAAA,EAAO;MAEpBA,4DAAAA,aAAwB;MACjBA,wDAAAA;QAAA,OAAS6F,mBAAe,OAAO,CAAC;MAAA,EAAC;MAAtC7F,0DAAAA,EAA2I;MAC3IA,4DAAAA,WAAM;MAAAA,oDAAAA,eAAQ;MAAAA,0DAAAA,EAAO;MAEvBA,4DAAAA,cAAuB;MACfA,wDAAAA;QAAA,OAAS6F,mBAAe;MAAA,EAAC;MAA/B7F,0DAAAA,EAAwE;MACxEA,4DAAAA,YAAM;MAAAA,oDAAAA,eAAO;MAAAA,0DAAAA,EAAO;MAGtBA,4DAAAA,cAA+B;MACxBA,wDAAAA;QAAA,OAAS6F,mBAAe,eAAe,CAAC;MAAA,EAAC;MAA9C7F,0DAAAA,EAA+I;MAC/IA,4DAAAA,YAAM;MAAAA,oDAAAA,eAAO;MAAAA,0DAAAA,EAAO;MAEtBA,4DAAAA,cAAsD;MAA1BA,wDAAAA;QAAA,OAAS6F,mBAAe;MAAA,EAAC;MACnD7F,uDAAAA,cAAmD;MACnDA,4DAAAA,YAAM;MAAAA,oDAAAA,YAAI;MAAAA,0DAAAA,EAAO;MAIrBA,wDAAAA,wDA+BM;MAzDRA,0DAAAA,EAA4B;;;MAQiBA,uDAAAA,GAAoF;MAApFA,wDAAAA,0FAAAA,2DAAAA,CAAoF;MAS5EA,uDAAAA,GAAgF;MAAhFA,wDAAAA,sFAAAA,2DAAAA,CAAgF;MAS5GA,uDAAAA,GAAiB;MAAjBA,wDAAAA,yBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICgBhCA,4DAAAA,aAA6B;IAC3BA,uDAAAA,YAA+D;IAC/DA,oDAAAA,GACF;;IAAAA,0DAAAA,EAAK;;;IADHA,uDAAAA,GACF;IADEA,gEAAAA,MAAAA,yDAAAA,4CACF;;;;;IAGAA,4DAAAA,UAAK;IACwBA,oDAAAA,GAAoD;;IAAAA,0DAAAA,EAAI;IACnFA,4DAAAA,aAAyB;IAAAA,oDAAAA,GAA2B;;IAAAA,0DAAAA,EAAK;IAG3DA,4DAAAA,cAAkB;IACWA,oDAAAA,GAAqD;;IAAAA,0DAAAA,EAAI;IACpFA,4DAAAA,cAAyB;IAAAA,oDAAAA,IAAsD;;IAAAA,0DAAAA,EAAK;IAGtFA,4DAAAA,eAAkB;IACWA,oDAAAA,IAAoD;;IAAAA,0DAAAA,EAAI;IACnFA,4DAAAA,cAAyB;IAAAA,oDAAAA,IAAqD;;IAAAA,0DAAAA,EAAK;IAGrFA,4DAAAA,eAAkB;IACWA,oDAAAA,IAAwD;;IAAAA,0DAAAA,EAAI;IACvFA,4DAAAA,cAA8B;IAAAA,oDAAAA,IAAyD;;IAAAA,0DAAAA,EAAK;;;;IAhBjEA,uDAAAA,GAAoD;IAApDA,+DAAAA,CAAAA,yDAAAA,4CAAoD;IACtDA,uDAAAA,GAA2B;IAA3BA,+DAAAA,CAAAA,yDAAAA,2BAA2B;IAIzBA,uDAAAA,GAAqD;IAArDA,+DAAAA,CAAAA,yDAAAA,+CAAqD;IACvDA,uDAAAA,GAAsD;IAAtDA,+DAAAA,CAAAA,yDAAAA,gDAAsD;IAIpDA,uDAAAA,GAAoD;IAApDA,+DAAAA,CAAAA,yDAAAA,8CAAoD;IACtDA,uDAAAA,GAAqD;IAArDA,+DAAAA,CAAAA,yDAAAA,+CAAqD;IAInDA,uDAAAA,GAAwD;IAAxDA,+DAAAA,CAAAA,yDAAAA,kDAAwD;IACrDA,uDAAAA,GAAyD;IAAzDA,+DAAAA,CAAAA,yDAAAA,mDAAyD;;;;;IAMzFA,4DAAAA,aAA6B;IAC3BA,uDAAAA,YAAmE;IACnEA,oDAAAA,GACF;;IAAAA,0DAAAA,EAAK;;;IADHA,uDAAAA,GACF;IADEA,gEAAAA,MAAAA,yDAAAA,mDACF;;;;;IAGAA,4DAAAA,cAAkC;IAI1BA,uDAAAA,YAAiC;IACnCA,0DAAAA,EAAM;IAERA,4DAAAA,cAAyB;IAESA,oDAAAA,GAA2D;;IAAAA,0DAAAA,EAAK;IAC9FA,4DAAAA,aAAwC;IAAAA,oDAAAA,IACxC;;IAAAA,0DAAAA,EAAI;IAGRA,4DAAAA,eAAuB;IAIfA,uDAAAA,aAAkC;IACpCA,0DAAAA,EAAI;IAENA,4DAAAA,cAAkD;IAG9CA,uDAAAA,aAA4B;IAC9BA,0DAAAA,EAAI;IACJA,4DAAAA,cAA+D;IAEhCA,oDAAAA,IAAgE;;IAAAA,0DAAAA,EAAI;IACjGA,4DAAAA,YAC6B;IAAAA,oDAAAA,IAAiE;;IAAAA,0DAAAA,EAAI;IAClGA,uDAAAA,cAAoC;IACpCA,4DAAAA,YAC6B;IAAAA,oDAAAA,IAAgE;;IAAAA,0DAAAA,EAAI;IAS7GA,4DAAAA,eAAkC;IAI1BA,uDAAAA,aAA6B;IAC/BA,0DAAAA,EAAM;IAERA,4DAAAA,eAAyB;IAESA,oDAAAA,IAA2D;;IAAAA,0DAAAA,EAAK;IAC9FA,4DAAAA,aAAwC;IAAAA,oDAAAA,IACxC;;IAAAA,0DAAAA,EAAI;IAGRA,4DAAAA,eAAuB;IAIfA,uDAAAA,aAAkC;IACpCA,0DAAAA,EAAI;IAENA,4DAAAA,cAAkD;IAG9CA,uDAAAA,aAA4B;IAC9BA,0DAAAA,EAAI;IACJA,4DAAAA,cAA+D;IAEhCA,oDAAAA,IAAgE;;IAAAA,0DAAAA,EAAI;IACjGA,4DAAAA,YAC6B;IAAAA,oDAAAA,IAAiE;;IAAAA,0DAAAA,EAAI;IAClGA,uDAAAA,cAAoC;IACpCA,4DAAAA,YAC6B;IAAAA,oDAAAA,IAAgE;;IAAAA,0DAAAA,EAAI;IAS7GA,4DAAAA,eAAkC;IAI1BA,uDAAAA,aAA6B;IAC/BA,0DAAAA,EAAM;IAERA,4DAAAA,eAAyB;IAESA,oDAAAA,IAA2D;;IAAAA,0DAAAA,EAAK;IAC9FA,4DAAAA,aAAwC;IAAAA,oDAAAA,IACxC;;IAAAA,0DAAAA,EAAI;IAGRA,4DAAAA,eAAuB;IAIfA,uDAAAA,aAAkC;IACpCA,0DAAAA,EAAI;IAENA,4DAAAA,cAAkD;IAG9CA,uDAAAA,aAA4B;IAC9BA,0DAAAA,EAAI;IACJA,4DAAAA,cAA+D;IAEhCA,oDAAAA,IAAgE;;IAAAA,0DAAAA,EAAI;IACjGA,4DAAAA,YAC6B;IAAAA,oDAAAA,IAAiE;;IAAAA,0DAAAA,EAAI;IAClGA,uDAAAA,cAAoC;IACpCA,4DAAAA,YAC6B;IAAAA,oDAAAA,IAAgE;;IAAAA,0DAAAA,EAAI;IAS7GA,4DAAAA,eAAkC;IAI1BA,uDAAAA,cAAiC;IACnCA,0DAAAA,EAAM;IAERA,4DAAAA,gBAAyB;IAESA,oDAAAA,KAA2D;;IAAAA,0DAAAA,EAAK;IAC9FA,4DAAAA,cAAwC;IAAAA,oDAAAA,KACxC;;IAAAA,0DAAAA,EAAI;IAGRA,4DAAAA,gBAAuB;IAIfA,uDAAAA,cAAkC;IACpCA,0DAAAA,EAAI;IAENA,4DAAAA,eAAkD;IAG9CA,uDAAAA,cAA4B;IAC9BA,0DAAAA,EAAI;IACJA,4DAAAA,eAA+D;IAEhCA,oDAAAA,KAAgE;;IAAAA,0DAAAA,EAAI;IACjGA,4DAAAA,aAC6B;IAAAA,oDAAAA,KAAiE;;IAAAA,0DAAAA,EAAI;IAClGA,uDAAAA,eAAoC;IACpCA,4DAAAA,aAC6B;IAAAA,oDAAAA,KAAgE;;IAAAA,0DAAAA,EAAI;;;IAtJvEA,uDAAAA,GAA2D;IAA3DA,+DAAAA,CAAAA,yDAAAA,qDAA2D;IACjDA,uDAAAA,GACxC;IADwCA,gEAAAA,KAAAA,yDAAAA,2DACxC;IAiBiCA,uDAAAA,IAAgE;IAAhEA,+DAAAA,CAAAA,yDAAAA,2DAAgE;IAEhEA,uDAAAA,GAAiE;IAAjEA,+DAAAA,CAAAA,yDAAAA,4DAAiE;IAGjEA,uDAAAA,GAAgE;IAAhEA,+DAAAA,CAAAA,yDAAAA,2DAAgE;IAkBnEA,uDAAAA,IAA2D;IAA3DA,+DAAAA,CAAAA,yDAAAA,sDAA2D;IACjDA,uDAAAA,GACxC;IADwCA,gEAAAA,KAAAA,yDAAAA,2DACxC;IAiBiCA,uDAAAA,IAAgE;IAAhEA,+DAAAA,CAAAA,yDAAAA,2DAAgE;IAEhEA,uDAAAA,GAAiE;IAAjEA,+DAAAA,CAAAA,yDAAAA,4DAAiE;IAGjEA,uDAAAA,GAAgE;IAAhEA,+DAAAA,CAAAA,yDAAAA,2DAAgE;IAkBnEA,uDAAAA,IAA2D;IAA3DA,+DAAAA,CAAAA,yDAAAA,sDAA2D;IACjDA,uDAAAA,GACxC;IADwCA,gEAAAA,KAAAA,yDAAAA,2DACxC;IAiBiCA,uDAAAA,IAAgE;IAAhEA,+DAAAA,CAAAA,yDAAAA,2DAAgE;IAEhEA,uDAAAA,GAAiE;IAAjEA,+DAAAA,CAAAA,yDAAAA,4DAAiE;IAGjEA,uDAAAA,GAAgE;IAAhEA,+DAAAA,CAAAA,yDAAAA,2DAAgE;IAkBnEA,uDAAAA,IAA2D;IAA3DA,+DAAAA,CAAAA,yDAAAA,uDAA2D;IACjDA,uDAAAA,GACxC;IADwCA,gEAAAA,KAAAA,yDAAAA,4DACxC;IAiBiCA,uDAAAA,IAAgE;IAAhEA,+DAAAA,CAAAA,yDAAAA,4DAAgE;IAEhEA,uDAAAA,GAAiE;IAAjEA,+DAAAA,CAAAA,yDAAAA,6DAAiE;IAGjEA,uDAAAA,GAAgE;IAAhEA,+DAAAA,CAAAA,yDAAAA,4DAAgE;;;ACrOnH;;;AAGM,MAAOif,gBAAgB;EAK3B7f,eAAgB;EAEhByE,QAAQ;IACN,MAAMiI,IAAI,GAAG7B,MAAM,CAACiV,YAAY,CAAC7X,OAAO,CAAC,aAAa,CAAC;IACvD,IAAI,CAAC0E,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC,CAACD,QAAQ;IAC3C,IAAI,CAACK,aAAa,GAAG,sBAAsB,GAACF,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC,CAAC6C,OAAO;EACtE;;SAXWsQ,gBAAgB;;mBAAhBA,MAAgB;AAAA;;QAAhBA,MAAgB;EAAArf;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MDT7BC,4DAAAA,UAAK;MAMKA,uDAAAA,WAA8B;MAChCA,0DAAAA,EAAI;MACJA,4DAAAA,aAA+D;MACTA,oDAAAA,GAAiD;;MAAAA,0DAAAA,EAAI;MACzGA,4DAAAA,YAAoD;MAAAA,oDAAAA,IAAmD;;MAAAA,0DAAAA,EAAI;MAC3GA,uDAAAA,cAAoC;MACpCA,4DAAAA,YAAoD;MAAAA,oDAAAA,IAAqD;;MAAAA,0DAAAA,EAAI;MAInHA,4DAAAA,aAAiB;MAAAA,oDAAAA,IAA0C;;MAAAA,0DAAAA,EAAK;MAGlEA,4DAAAA,cAA2C;MAEvCA,uDAAAA,eAAmF;MACrFA,0DAAAA,EAAM;MAENA,4DAAAA,cAA4C;MAAAA,oDAAAA,IAA0B;;MAAAA,0DAAAA,EAAK;MAC3EA,4DAAAA,aAAyC;MAAAA,uDAAAA,aAC2C;MAClFA,oDAAAA,IAA0C;;MAAAA,0DAAAA,EAAI;MAKlDA,4DAAAA,6BAAiD;MAG7BA,oDAAAA,IAA0C;;MAAAA,0DAAAA,EAAI;MAGhEA,4DAAAA,6BAA0E;MAEtEA,wDAAAA,uEAKc;MACdA,wDAAAA,yEAoBc;MAChBA,0DAAAA,EAAY;MACZA,4DAAAA,qBAA8D;MAC5DA,wDAAAA,uEAKc;MACdA,wDAAAA,0EAwKc;MAChBA,0DAAAA,EAAY;;;MA3O4CA,uDAAAA,GAAiD;MAAjDA,+DAAAA,CAAAA,yDAAAA,0CAAiD;MACjDA,uDAAAA,GAAmD;MAAnDA,+DAAAA,CAAAA,yDAAAA,8CAAmD;MAEnDA,uDAAAA,GAAqD;MAArDA,gEAAAA,KAAAA,yDAAAA,oDAAqD;MAI9FA,uDAAAA,GAA0C;MAA1CA,+DAAAA,CAAAA,yDAAAA,oCAA0C;MAKpDA,uDAAAA,GAAuB;MAAvBA,mEAAAA,2BAAAA,2DAAAA,CAAuB;MAGcA,uDAAAA,GAA0B;MAA1BA,+DAAAA,CAAAA,yDAAAA,yBAA0B;MAGpEA,uDAAAA,GAA0C;MAA1CA,gEAAAA,MAAAA,yDAAAA,yCAA0C;MAQ1BA,uDAAAA,GAA0C;MAA1CA,+DAAAA,CAAAA,yDAAAA,sCAA0C;MAGPA,uDAAAA,GAAoB;MAApBA,wDAAAA,qBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IECnEA,4DAAAA,aAA6B;IAC3BA,oDAAAA,GACF;;IAAAA,0DAAAA,EAAK;;;IADHA,uDAAAA,GACF;IADEA,gEAAAA,MAAAA,yDAAAA,6CACF;;;;;;IAGAA,4DAAAA,cAAuB;IAEnBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,uBAAe;IAAA,EAAC;IAACA,uDAAAA,YAA8C;IACxEA,oDAAAA,GAA8C;;IAAAA,0DAAAA,EAAS;IAE3DA,4DAAAA,UAAK;IACwBA,oDAAAA,GAAmD;;IAAAA,0DAAAA,EAAI;IAClFA,4DAAAA,aAAwC;IAAAA,oDAAAA,IAA0B;;IAAAA,0DAAAA,EAAK;IACvEA,4DAAAA,eAAgF;IAC3DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA,EAAwB;IAA3CA,0DAAAA,EACmB;IACnBA,4DAAAA,eAAyB;IACiBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yBAAgB;IAAA,EAAC;IAEhEA,oDAAAA,aAAI;IAAAA,0DAAAA,EAAS;IAKrBA,4DAAAA,eAAkB;IACWA,oDAAAA,IAAoD;;IAAAA,0DAAAA,EAAI;IACnFA,4DAAAA,cAAyB;IAAAA,oDAAAA,IAAqD;;IAAAA,0DAAAA,EAAK;IAGrFA,4DAAAA,eAAkB;IACWA,oDAAAA,IAAmD;;IAAAA,0DAAAA,EAAI;IAClFA,4DAAAA,cAAyB;IAAAA,oDAAAA,IAAoD;;IAAAA,0DAAAA,EAAK;IAGpFA,4DAAAA,eAAkB;IACWA,oDAAAA,IAAuD;;IAAAA,0DAAAA,EAAI;IACtFA,4DAAAA,cAAyB;IAAAA,oDAAAA,IAAwD;;IAAAA,0DAAAA,EAAK;;;;IA5BpFA,uDAAAA,GAA8C;IAA9CA,gEAAAA,MAAAA,yDAAAA,4CAA8C;IAGrBA,uDAAAA,GAAmD;IAAnDA,+DAAAA,CAAAA,yDAAAA,6CAAmD;IACtCA,uDAAAA,GAA0B;IAA1BA,+DAAAA,CAAAA,yDAAAA,4BAA0B;IAE7CA,uDAAAA,GAAwB;IAAxBA,wDAAAA,8BAAwB;IAWlBA,uDAAAA,GAAoD;IAApDA,+DAAAA,CAAAA,yDAAAA,+CAAoD;IACtDA,uDAAAA,GAAqD;IAArDA,+DAAAA,CAAAA,yDAAAA,gDAAqD;IAInDA,uDAAAA,GAAmD;IAAnDA,+DAAAA,CAAAA,yDAAAA,8CAAmD;IACrDA,uDAAAA,GAAoD;IAApDA,+DAAAA,CAAAA,yDAAAA,+CAAoD;IAIlDA,uDAAAA,GAAuD;IAAvDA,+DAAAA,CAAAA,yDAAAA,kDAAuD;IACzDA,uDAAAA,GAAwD;IAAxDA,+DAAAA,CAAAA,yDAAAA,mDAAwD;;;;;IAMnFA,4DAAAA,aAA6B;IAC3BA,oDAAAA,GACF;;IAAAA,0DAAAA,EAAK;;;IADHA,uDAAAA,GACF;IADEA,gEAAAA,MAAAA,yDAAAA,gDACF;;;;;IAGAA,4DAAAA,cAAkB;IAGgCA,oDAAAA,GAAkD;;IAAAA,0DAAAA,EAAK;IAGrGA,4DAAAA,cAA4C;IAGxCA,oDAAAA,GAA0D;;IAAAA,uDAAAA,aAAoC;IAChGA,0DAAAA,EAAS;IACTA,4DAAAA,eAA6D;IACPA,oDAAAA,IACvC;;IAAAA,0DAAAA,EAAI;IACjBA,4DAAAA,aAAoD;IAAAA,oDAAAA,IACvC;;IAAAA,0DAAAA,EAAI;IACjBA,4DAAAA,aAAoD;IAAAA,oDAAAA,IACvC;;IAAAA,0DAAAA,EAAI;IAKzBA,4DAAAA,eAA6B;IAGqBA,oDAAAA,IAAiD;;IAAAA,0DAAAA,EAAK;IAGpGA,4DAAAA,eAAuB;IAEnBA,uDAAAA,iBAAuF;IAEzFA,0DAAAA,EAAM;IAKZA,4DAAAA,eAA6B;IAGqBA,oDAAAA,IAAmD;;IAAAA,0DAAAA,EAAK;IAEtGA,4DAAAA,eAA4C;IAGxCA,oDAAAA,IAA0D;;IAAAA,uDAAAA,aAAoC;IAChGA,0DAAAA,EAAS;IACTA,4DAAAA,eAA6D;IACPA,oDAAAA,IACvC;;IAAAA,0DAAAA,EAAI;IACjBA,4DAAAA,aAAoD;IAAAA,oDAAAA,IACvC;;IAAAA,0DAAAA,EAAI;IACjBA,4DAAAA,aAAoD;IAAAA,oDAAAA,IACvC;;IAAAA,0DAAAA,EAAI;IAMzBA,4DAAAA,eAA6B;IAGqBA,oDAAAA,IAAoD;;IAAAA,0DAAAA,EAAK;IAGvGA,4DAAAA,eAAuB;IAEnBA,uDAAAA,iBAA0F;IAE5FA,0DAAAA,EAAM;IAKZA,4DAAAA,eAA6B;IAGqBA,oDAAAA,IAAmD;;IAAAA,0DAAAA,EAAK;IAGtGA,4DAAAA,eAA4C;IAGxCA,oDAAAA,IAA2D;;IAAAA,uDAAAA,aAAoC;IACjGA,0DAAAA,EAAS;IACTA,4DAAAA,eAA6D;IACPA,oDAAAA,IACvC;;IAAAA,0DAAAA,EAAI;IACjBA,4DAAAA,aAAoD;IAAAA,oDAAAA,IACvC;;IAAAA,0DAAAA,EAAI;IACjBA,4DAAAA,aAAoD;IAAAA,oDAAAA,IACvC;;IAAAA,0DAAAA,EAAI;;;IAxFyBA,uDAAAA,GAAkD;IAAlDA,+DAAAA,CAAAA,yDAAAA,4CAAkD;IAM5FA,uDAAAA,GAA0D;IAA1DA,gEAAAA,MAAAA,yDAAAA,wDAA0D;IAGNA,uDAAAA,GACvC;IADuCA,+DAAAA,CAAAA,yDAAAA,yDACvC;IACuCA,uDAAAA,GACvC;IADuCA,+DAAAA,CAAAA,yDAAAA,yDACvC;IACuCA,uDAAAA,GACvC;IADuCA,+DAAAA,CAAAA,yDAAAA,uDACvC;IAQ6BA,uDAAAA,GAAiD;IAAjDA,+DAAAA,CAAAA,yDAAAA,4CAAiD;IAejDA,uDAAAA,IAAmD;IAAnDA,+DAAAA,CAAAA,yDAAAA,8CAAmD;IAK7FA,uDAAAA,GAA0D;IAA1DA,gEAAAA,MAAAA,yDAAAA,yDAA0D;IAGNA,uDAAAA,GACvC;IADuCA,+DAAAA,CAAAA,yDAAAA,yDACvC;IACuCA,uDAAAA,GACvC;IADuCA,+DAAAA,CAAAA,yDAAAA,yDACvC;IACuCA,uDAAAA,GACvC;IADuCA,+DAAAA,CAAAA,yDAAAA,uDACvC;IAS6BA,uDAAAA,GAAoD;IAApDA,+DAAAA,CAAAA,yDAAAA,+CAAoD;IAepDA,uDAAAA,IAAmD;IAAnDA,+DAAAA,CAAAA,yDAAAA,8CAAmD;IAM7FA,uDAAAA,GAA2D;IAA3DA,gEAAAA,MAAAA,yDAAAA,yDAA2D;IAGPA,uDAAAA,GACvC;IADuCA,+DAAAA,CAAAA,yDAAAA,yDACvC;IACuCA,uDAAAA,GACvC;IADuCA,+DAAAA,CAAAA,yDAAAA,yDACvC;IACuCA,uDAAAA,GACvC;IADuCA,+DAAAA,CAAAA,yDAAAA,uDACvC;;;;;IASrBA,4DAAAA,aAA6B;IAC3BA,oDAAAA,GACF;;IAAAA,0DAAAA,EAAK;;;IADHA,uDAAAA,GACF;IADEA,gEAAAA,MAAAA,yDAAAA,iDACF;;;;;IAGAA,4DAAAA,UAAK;IAG6CA,oDAAAA,GAAkD;;IAAAA,0DAAAA,EAAK;IAErGA,4DAAAA,cAAuB;IAEnBA,uDAAAA,gBAAiF;IAEnFA,0DAAAA,EAAM;;;IANsCA,uDAAAA,GAAkD;IAAlDA,+DAAAA,CAAAA,yDAAAA,2CAAkD;;;;;IAcpGA,4DAAAA,aAA6B;IAC3BA,oDAAAA,GACF;;IAAAA,0DAAAA,EAAK;;;IADHA,uDAAAA,GACF;IADEA,gEAAAA,MAAAA,yDAAAA,6CACF;;;;;IAGAA,4DAAAA,UAAK;IAG6BA,oDAAAA,GAA8C;;IAAAA,0DAAAA,EAAI;IAGlFA,4DAAAA,cAA6B;IAEGA,oDAAAA,GAAiD;;IAAAA,0DAAAA,EAAI;IAErFA,4DAAAA,eAA6B;IAEGA,oDAAAA,IAAgD;;IAAAA,0DAAAA,EAAI;;;IATpDA,uDAAAA,GAA8C;IAA9CA,+DAAAA,CAAAA,yDAAAA,uCAA8C;IAK9CA,uDAAAA,GAAiD;IAAjDA,+DAAAA,CAAAA,yDAAAA,2CAAiD;IAIjDA,uDAAAA,GAAgD;IAAhDA,+DAAAA,CAAAA,yDAAAA,0CAAgD;;;AC3N5F;;;AAGM,MAAOmf,iBAAiB;EAM5B/f,eAAgB;EAEhByE,QAAQ;IACN,MAAMiI,IAAI,GAAG7B,MAAM,CAACiV,YAAY,CAAC7X,OAAO,CAAC,aAAa,CAAC;IACvD,IAAI,CAAC0E,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC,CAACD,QAAQ;IAC3C,IAAI,CAACuT,UAAU,GAAGpT,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC,CAACD,QAAQ;IAC3C,IAAI,CAACK,aAAa,GAAG,sBAAsB,GAACF,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC,CAAC6C,OAAO;EACtE;EAIA4H,UAAU,CAAClN,KAAS;IAClB,IAAImN,QAAQ,GAASnN,KAAK,CAAC4H,MAA2B;IACtD,IAAIoO,IAAI,GAAS7I,QAAQ,CAACE,KAAK,CAAC,CAAC,CAAC;IAClC,MAAME,MAAM,GAAG,IAAIC,UAAU,EAAE;IAC/BD,MAAM,CAACQ,MAAM,GAAG,MAAK;MACnB,IAAI,CAACC,QAAQ,GAAGT,MAAM,CAACU,MAAgB;MACvC9O,QAAQ,CAACqI,gBAAgB,CAAC,eAAe,CAAC,CAAC5C,OAAO,CAAE6C,OAAW,IAAI;QACjEA,OAAO,CAACzC,GAAG,GAAG,IAAI,CAACgJ,QAAQ;MAC7B,CAAC,CAAC;IACJ,CAAC;IACDT,MAAM,CAACW,aAAa,CAAC8H,IAAI,CAAC;EAC5B;EAEA;EACAC,aAAa,CAAC9Z,OAAO;IACnB,IAAI,CAAC4Z,UAAU,GAAG,IAAI,CAACrT,UAAU;IACjCvD,QAAQ,CAACC,cAAc,CAAC,WAAW,CAAC,CAACyH,SAAS,CAACqP,MAAM,CAAC,iBAAiB,CAAC;IACxE/W,QAAQ,CAACC,cAAc,CAAC,gBAAgB,CAAC,CAACyH,SAAS,CAACqP,MAAM,CAAC,iBAAiB,CAAC;IAC7E/W,QAAQ,CAACC,cAAc,CAAC,gBAAgB,CAAC,CAACyH,SAAS,CAACqP,MAAM,CAAC,iBAAiB,CAAC;EAC/E;EAEA;EACFC,cAAc;IACZ,IAAI,CAACzT,UAAU,GAAG,IAAI,CAACqT,UAAU;IAC/B5W,QAAQ,CAACC,cAAc,CAAC,WAAW,CAAC,CAACyH,SAAS,CAACqP,MAAM,CAAC,iBAAiB,CAAC;IACxE/W,QAAQ,CAACC,cAAc,CAAC,gBAAgB,CAAC,CAACyH,SAAS,CAACqP,MAAM,CAAC,iBAAiB,CAAC;IAC7E/W,QAAQ,CAACC,cAAc,CAAC,gBAAgB,CAAC,CAACyH,SAAS,CAACqP,MAAM,CAAC,iBAAiB,CAAC;EAEjF;;SA7CaJ,iBAAiB;;mBAAjBA,MAAiB;AAAA;;QAAjBA,MAAiB;EAAAvf;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MDT9BC,4DAAAA,UAAK;MAEgBA,oDAAAA,GAA0C;;MAAAA,0DAAAA,EAAK;MAGlEA,4DAAAA,aAA2C;MAEvCA,uDAAAA,aAAqG;MACrGA,4DAAAA,eACgC;MAA9BA,wDAAAA;QAAA,OAAU6F,sBAAkB;MAAA,EAAC;MAD/B7F,0DAAAA,EACgC;MAChCA,4DAAAA,eAAyE;MAErEA,uDAAAA,YAA8B;MAChCA,0DAAAA,EAAO;MAIXA,4DAAAA,aAA4C;MAAAA,oDAAAA,IAA0B;;MAAAA,0DAAAA,EAAK;MAC3EA,4DAAAA,eAAsD;MAGlDA,oDAAAA,IAAiD;;MAAAA,uDAAAA,aAAoC;MACvFA,0DAAAA,EAAI;MAEJA,4DAAAA,eAA2C;MACWA,oDAAAA,IACvC;;MAAAA,0DAAAA,EAAI;MACjBA,4DAAAA,aAAoD;MAAAA,oDAAAA,IACvC;;MAAAA,0DAAAA,EAAI;MAOvBA,4DAAAA,6BAAgE;MAG1DA,wDAAAA,wEAIc;MACdA,wDAAAA,0EAkCc;MAChBA,0DAAAA,EAAY;MACZA,4DAAAA,qBAAiE;MAC/DA,wDAAAA,wEAIc;MACdA,wDAAAA,0EAiGc;MAChBA,0DAAAA,EAAY;MACZA,4DAAAA,qBAAkE;MAChEA,wDAAAA,wEAIc;MACdA,wDAAAA,yEAcc;MAChBA,0DAAAA,EAAY;MACZA,4DAAAA,qBAA8D;MAC5DA,wDAAAA,wEAIc;MACdA,wDAAAA,yEAiBc;MAChBA,0DAAAA,EAAY;;;MApOGA,uDAAAA,GAA0C;MAA1CA,+DAAAA,CAAAA,yDAAAA,mCAA0C;MAKpDA,uDAAAA,GAAuB;MAAvBA,mEAAAA,2BAAAA,2DAAAA,CAAuB;MAUcA,uDAAAA,GAA0B;MAA1BA,+DAAAA,CAAAA,yDAAAA,wBAA0B;MAIlEA,uDAAAA,GAAiD;MAAjDA,gEAAAA,MAAAA,yDAAAA,gDAAiD;MAIGA,uDAAAA,GACvC;MADuCA,+DAAAA,CAAAA,yDAAAA,yDACvC;MACuCA,uDAAAA,GACvC;MADuCA,+DAAAA,CAAAA,yDAAAA,oDACvC;MAQ4CA,uDAAAA,GAAoB;MAApBA,wDAAAA,qBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEnCtC;AACyF;AACzE;AACE;AAEb;AAEW;AACG;AACA;AACZ;AACY;AACE;;AAEpE,MAAM2f,gCAAgC,GAAoC;EACxEC,eAAe,EAAE;CAClB;AAwBK,MAAO5D,UAAU;SAAVA,UAAU;;mBAAVA,MAAU;AAAA;;QAAVA;AAAU;;aAPV,CACT;IACEpZ,OAAO,EAAE6c,2EAAwB;IACjCI,QAAQ,EAAEF;GACX,CACF;EAAA1gB,UAjBCygB,8DAAc,EACdlE,yDAAY,EACZE,yEAAiB,EACjBC,0EAAkB,EAClBG,yEAAsB,EACtBL,wEAAgB,EAChBG,sEAAc,EACdC,yEAAiB,EACjBvb,gEAAe,EACfU,wDAAW;AAAA;;sHAUFgb,UAAU;IAAA/Y,eArBNgc,wEAAgB,EAAE5C,2EAAiB,EAAE8C,2EAAiB,EAAEjC,6EAAiB;IAAAje,UAEtFygB,8DAAc,EACdlE,yDAAY,EACZE,yEAAiB,EACjBC,0EAAkB,EAClBG,yEAAsB,EACtBL,wEAAgB,EAChBG,sEAAc,EACdC,yEAAiB,EACjBvb,gEAAe,EACfU,wDAAW;IAAA9B,UAEH+f,wEAAgB,EAAE5C,2EAAiB,EAAE8C,2EAAiB,EAACjC,6EAAiB;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/B5D;;;;;;;;;;;;ICHxBld,uDAAAA,eAAyC;;;;;;IAEzCA,4DAAAA,cAAuC;IACrCA,uDAAAA,cAA8B;IAC9BA,4DAAAA,YAAmC;IAAhCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,QAAQ,CAAC;IAAA,EAAC;IAChCA,4DAAAA,cAAmB;IACdA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,QAAQ,CAAC;IAAA,EAAC;IAAgBA,oDAAAA,aAAM;IAAAA,0DAAAA,EAAI;IAC5DA,uDAAAA,cAAsE;IACxEA,0DAAAA,EAAM;IAERA,4DAAAA,YAAwC;IAArCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,aAAa,CAAC;IAAA,EAAC;IACrCA,4DAAAA,cAAyB;IACpBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,aAAa,CAAC;IAAA,EAAC;IAAsBA,oDAAAA,mBAAW;IAAAA,0DAAAA,EAAI;IAE5EA,uDAAAA,eAA4E;IAC9EA,0DAAAA,EAAM;IAERA,4DAAAA,aAAsC;IAAnCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,WAAW,CAAC;IAAA,EAAC;IACnCA,4DAAAA,eAAyB;IAElBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,WAAW,CAAC;IAAA,EAAC;IAAqBA,oDAAAA,iBAAS;IAAAA,0DAAAA,EAAI;IAEzEA,uDAAAA,eAA8D;IAChEA,0DAAAA,EAAM;IAERA,4DAAAA,eAAqB;IACEA,oDAAAA,cAAM;IAAAA,0DAAAA,EAAM;IACjCA,4DAAAA,eAAwF;IAA/DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yBAAiB;IAAA,EAAC;IAApDA,0DAAAA,EAAwF;IAE1FA,4DAAAA,eAAyC;IAApCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,qBAAY;IAAA,EAAC;IACzBA,4DAAAA,eAAmB;IAAAA,oDAAAA,gBAAQ;IAAAA,0DAAAA,EAAM;IACjCA,uDAAAA,eAAkE;IACpEA,0DAAAA,EAAM;;;ADtBF,MAAO7B,eAAe;EAE1BiB,YAAoB+D,MAAc,EACxBga,UAAsB,EACtB4C,iBAAoC;IAF1B,WAAM,GAAN5c,MAAM;IAChB,eAAU,GAAVga,UAAU;IACV,sBAAiB,GAAjB4C,iBAAiB;EACvB;EAKJlc,QAAQ;IACN,MAAMoB,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAE7C,IAAGpC,KAAK,EAAC;MACPM,OAAO,CAAC0B,GAAG,CAAC,cAAc,CAAC;MAC3B,IAAI,CAAC+Y,WAAW,GAAG,IAAI;KACxB,MAAI;MACHza,OAAO,CAAC0B,GAAG,CAAC,kBAAkB,CAAC;MAC/B,IAAI,CAAC+Y,WAAW,GAAG,KAAK;;IAG1B,IAAI,CAACC,IAAI,GAAGH,kDAAK,CAAC,MAAM,EAAE;MACxBI,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;MAC5BC,IAAI,EAAE,EAAE;MACRC,SAAS,EAAEN,2DAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;KACzD,CAAC;;IAEFA,wDAAW,CAAC,0EAA0E,EAAE;MACtFS,WAAW,EAAE,mJAAmJ;MAChKC,UAAU,EAAE,MAAM;MAClBC,OAAO,EAAE;KACV,CAAC,CAACC,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAGnB;IAEA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMU,QAAQ,GAAGb,qDAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAACY,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAC5EU,QAAQ,CAACE,SAAS,CAAC,oIAAoI,CAAC,CAACC,SAAS,EAAE;IACpK,MAAMC,SAAS,GAAGjB,qDAAQ,CAAC,CAAC,CAAC,aAAa,EAAG,CAAC,SAAS,CAAC,CAAC,CAACY,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAC1Ec,SAAS,CAACF,SAAS,CAAC,oIAAoI,CAAC,CAACC,SAAS,EAAE;IACrK,MAAME,SAAS,GAAGlB,qDAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAACY,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAC7Ee,SAAS,CAACH,SAAS,CAAC,uIAAuI,CAAC,CAACC,SAAS,EAAE;IACxK,MAAMG,SAAS,GAAGnB,qDAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAACY,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAC7EgB,SAAS,CAACJ,SAAS,CAAC,qGAAqG,CAAC,CAACC,SAAS,EAAE;IACtI,MAAMI,SAAS,GAAGpB,qDAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAACY,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAC7EiB,SAAS,CAACL,SAAS,CAAC,qGAAqG,CAAC,CAACC,SAAS,EAAE;IACtI,MAAMK,SAAS,GAAGrB,qDAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAACY,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAC7EkB,SAAS,CAACN,SAAS,CAAC,yIAAyI,CAAC,CAACC,SAAS,EAAE;IAC1K,MAAMM,SAAS,GAAGtB,qDAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAACY,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAC7EmB,SAAS,CAACP,SAAS,CAAC,sIAAsI,CAAC,CAACC,SAAS,EAAE;IACvK,MAAMO,SAAS,GAAGvB,qDAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAACY,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAC7EoB,SAAS,CAACR,SAAS,CAAC,qHAAqH,CAAC,CAACC,SAAS,EAAE;IACtJ,MAAMQ,SAAS,GAAGxB,qDAAQ,CAAC,CAAC,CAAC,aAAa,EAAG,CAAC,aAAa,CAAC,CAAC,CAACY,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAC9EqB,SAAS,CAACT,SAAS,CAAC,0GAA0G,CAAC,CAACC,SAAS,EAAE;EAG7I;EAGAS,UAAU;IACR,IAAI,CAAC,IAAI,CAACxB,iBAAiB,CAACyB,cAAc,EAAE,EAAE;MAC5Cnc,KAAK,CAAC,4DAA4D,CAAC;MACnE,IAAI,CAAC0a,iBAAiB,CAACwB,UAAU,EAAE;KACpC,MACI;MACHlc,KAAK,CAAC,yBAAyB,CAAC;;EAEpC;EAEA8E,eAAe;IACb,IAAI,CAAChH,MAAM,CAACY,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;EAClC;EAEA0d,SAAS,CAAC/S,IAAY;IACpB,MAAMgT,OAAO,GAAalZ,QAAQ,CAAC8V,MAAM,CAAC3W,KAAK,CAAC,GAAG,CAAC;IACpD,KAAK,IAAImK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4P,OAAO,CAAC/c,MAAM,EAAEmN,CAAC,EAAE,EAAE;MACvC,MAAMwM,MAAM,GAAWoD,OAAO,CAAC5P,CAAC,CAAC,CAACrN,IAAI,EAAE;MACxC,IAAI6Z,MAAM,CAACqD,UAAU,CAACjT,IAAI,GAAG,GAAG,CAAC,EAAE;QACjC,OAAO4P,MAAM,CAACxE,SAAS,CAACpL,IAAI,CAAC/J,MAAM,GAAG,CAAC,CAAC;;;IAG5C,OAAO,IAAI;EACb;EAEAid,cAAc;IACZ,IAAI,CAACze,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EAEAkQ,WAAW,CAACC,KAAa;IACvB,MAAMC,SAAS,GAAG3L,QAAQ,CAACC,cAAc,CAACyL,KAAK,CAAC;IAChD,IAAIC,SAAS,EAAE;MACbA,SAAS,CAACC,cAAc,CAAC;QAAEC,QAAQ,EAAE;MAAQ,CAAE,CAAC;;EAEpD;;SAnGWlW,eAAe;;mBAAfA,MAAe;AAAA;;QAAfA,MAAe;EAAAyB;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCV5BC,wDAAAA,6DAAyC;MAEzCA,wDAAAA,oDAiCM;MAENA,uDAAAA,oBAA+B;MAE/BA,4DAAAA,aAAuB;MASfA,uDAAAA,aAA4E;MAC5EA,4DAAAA,WAAkB;MAAAA,oDAAAA,gBAAS;MAAAA,0DAAAA,EAAI;MAC/BA,4DAAAA,YAAkB;MAAAA,oDAAAA,gCAAS;MAAAA,0DAAAA,EAAI;MAGjCA,4DAAAA,WAAK;MAICA,oDAAAA,6BACA;MAAAA,uDAAAA,UAAI;MACJA,oDAAAA,wCACF;MAAAA,0DAAAA,EAAM;MACNA,4DAAAA,eAAuB;MAEnBA,oDAAAA,wYAIF;MAAAA,0DAAAA,EAAM;MASdA,4DAAAA,eAAqB;MAEjBA,uDAAAA,8BAAiD;MACnDA,0DAAAA,EAAM;MAIRA,4DAAAA,eAAqB;MAEnBA,uDAAAA,kCAAyD;MAEzDA,4DAAAA,eAAuB;MAErBA,oDAAAA,sXAGF;MAAAA,0DAAAA,EAAM;MAGRA,4DAAAA,eAAqB;MAEmBA,oDAAAA,qBAC1B;MAAAA,0DAAAA,EAAI;MAEdA,4DAAAA,eAA0B;MACxBA,uDAAAA,eAAqB;MACvBA,0DAAAA,EAAM;MAERA,4DAAAA,eAAqC;MACNA,oDAAAA,yCAA4B;MAAAA,0DAAAA,EAAI;MAMjEA,4DAAAA,eAAqB;MACnBA,uDAAAA,6BAA+C;MACjDA,0DAAAA,EAAM;MAINA,4DAAAA,eAAqB;MAEjBA,oDAAAA,kEACF;MAAAA,0DAAAA,EAAM;;;MAxHDA,wDAAAA,yBAAiB;MAEtBA,uDAAAA,GAAkB;MAAlBA,wDAAAA,0BAAkB;;;;;;;;;;;;;;;;;;;;;;;;;ACMlB,MAAOiC,yBAAyB;EAEpC7C,YAAoB+D,MAAc;IAAd,WAAM,GAANA,MAAM;EACtB;EAGJ0e,cAAc;IACZ,IAAI,CAAC1e,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;;SARW9B,yBAAyB;;mBAAzBA,MAAyB;AAAA;;QAAzBA,MAAyB;EAAArC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCgEtCC,4DAAAA,aAAmB;MAIiBA,oDAAAA,iFAAgE;MAAAA,0DAAAA,EAAM;MAC1FA,4DAAAA,aAAwB;MAAAA,oDAAAA,0EAAmE;MAAAA,0DAAAA,EAAM;MAErGA,4DAAAA,aAA4B;MAESA,oDAAAA,yCAA4B;MAAAA,0DAAAA,EAAI;MAM7EA,4DAAAA,cAAoD;MAGNA,oDAAAA,4BAAU;MAAAA,0DAAAA,EAAM;MACtDA,4DAAAA,eAAmB;MAEXA,uDAAAA,eAA0D;MAC9DA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAAsD;MAC1DA,0DAAAA,EAAM;MAQlBA,4DAAAA,eAAoD;MAELA,oDAAAA,sBAAc;MAAAA,0DAAAA,EAAM;MAC3DA,4DAAAA,eAAmB;MAGvBA,uDAAAA,eAAiE;MACrEA,0DAAAA,EAAM;MAINA,4DAAAA,eAAoD;MAELA,oDAAAA,iBAAS;MAAAA,0DAAAA,EAAM;MACtDA,4DAAAA,eAAmB;MAEXA,uDAAAA,eAA+C;MACnDA,0DAAAA,EAAM;MAKlBA,4DAAAA,eAAoD;MAELA,oDAAAA,aAAK;MAAAA,0DAAAA,EAAM;MAClDA,4DAAAA,eAAmB;MAEXA,uDAAAA,eAAgD;MACpDA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAAiD;MACrDA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAAsD;MAC1DA,0DAAAA,EAAM;;;;;;;;;;;;;;;;;;;;;;ACpIhB,MAAOkC,yBAAyB;SAAzBA,yBAAyB;;mBAAzBA,MAAyB;AAAA;;QAAzBA,MAAyB;EAAAtC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCPtCC,4DAAAA,aAA2B;MAELA,oDAAAA,sBAElB;MAAAA,4DAAAA,WAAsB;MAAAA,oDAAAA,+CACQ;MAAAA,0DAAAA,EAAI;MAIpCA,4DAAAA,aAA+B;MAEHA,oDAAAA,sDAAgC;MAAAA,0DAAAA,EAAM;MAEhEA,4DAAAA,aAA6B;MACHA,oDAAAA,wCAAsB;MAAAA,0DAAAA,EAAM;MAEtDA,4DAAAA,cAA6B;MACHA,oDAAAA,yBAAiB;MAAAA,0DAAAA,EAAM;MAEjDA,4DAAAA,cAA6B;MACHA,oDAAAA,mBAAW;MAAAA,0DAAAA,EAAM;;;;;;;;;;;;;;;;;;;;;;ACbzC,MAAOmC,6BAA6B;SAA7BA,6BAA6B;;mBAA7BA,MAA6B;AAAA;;QAA7BA,MAA6B;EAAAvC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCP1CC,4DAAAA,aAA6B;MACDA,oDAAAA,wCAAiC;MAAAA,0DAAAA,EAAK;MAChEA,4DAAAA,WAAoB;MAAAA,oDAAAA,gFACU;MAAAA,0DAAAA,EAAI;MAGpCA,4DAAAA,aAAuB;MAgBjBA,uDAAAA,aAAgC;MAOlCA,0DAAAA,EAAM;MAGNA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOlCA,0DAAAA,EAAM;MAGNA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOlCA,0DAAAA,EAAM;MAENA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOlCA,0DAAAA,EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC1DRA,4DAAAA,gBAAuF;IACrFA,oDAAAA,GACF;IAAAA,0DAAAA,EAAS;;;;IAF0DA,wDAAAA,uBAAmB;IACpFA,uDAAAA,GACF;IADEA,gEAAAA,0BACF;;;;;;;;;;;;;;;;IAOIA,4DAAAA,iBAC6I;IAA/DA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,+BAAoB;IAAA,EAAC;MAAAA,2DAAAA;MAAA;MAAA,OAAWA,yDAAAA,4BAAoB;IAAA,EAA/B;IAC1GA,uDAAAA,cAAmF;IACnFA,4DAAAA,YAC6F;IAAAA,oDAAAA,GAC7F;IAAAA,0DAAAA,EAAI;;;;;IAJJA,wDAAAA,YAAAA,6DAAAA,+CAA2E;IAGzEA,uDAAAA,GAA0F;IAA1FA,wDAAAA,YAAAA,6DAAAA,mFAA0F;IAACA,uDAAAA,GAC7F;IAD6FA,gEAAAA,2BAC7F;;;;;;IAYRA,qEAAAA,GAAyE;IACvEA,4DAAAA,aAAqF;IAAhFA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,0CAA8B;IAAA,EAAC;IAC3CA,uDAAAA,cAA2B;IAC3BA,4DAAAA,cAAuB;IACrBA,uDAAAA,cAAkK;IACpKA,0DAAAA,EAAM;IACNA,4DAAAA,cAAuC;IACRA,oDAAAA,GAAsB;IAAAA,0DAAAA,EAAM;IAC3DA,4DAAAA,cAAqB;IAAAA,oDAAAA,GAAuC;IAAAA,0DAAAA,EAAM;IAItEA,mEAAAA,EAAe;;;;;;IAXiCA,uDAAAA,GAAsC;IAAtCA,oEAAAA,oCAAsC;IAGxDA,uDAAAA,GAAyI;IAAzIA,wDAAAA,2JAAAA,2DAAAA,CAAyI;IAGpIA,uDAAAA,GAAsB;IAAtBA,+DAAAA,qBAAsB;IAChCA,uDAAAA,GAAuC;IAAvCA,gEAAAA,qDAAuC;;;ACV1D,MAAOa,mBAAmB;EAW9BzB,YAAoB0iB,iBAAqC,EAC/CzX,WAAwB,EACxB8S,UAAsB,EACtBzS,QAAkB;IAHR,sBAAiB,GAAjBoX,iBAAiB;IAC3B,gBAAW,GAAXzX,WAAW;IACX,eAAU,GAAV8S,UAAU;IACV,aAAQ,GAARzS,QAAQ;IAZlB,sBAAiB,GAAW,CAAC;IAC7B,oBAAe,GAAkB,IAAI;IACrC,oBAAe,GAAgB,EAAE;IACjC,oBAAe,GAAU,EAAE,CAAC,CAAC;IAC7B,YAAO,GAAgB,EAAE;IACzB,kBAAa,GAAG,uCAAuC;IA2GvD;IACA,cAAS,GAAY,KAAK;EArGM;EANhCqX,aAAa,CAACC,OAAe;IAC3B,MAAMC,eAAe,GAAG,IAAI,CAACC,aAAa,GAAGF,OAAO;EACtD;EAOAne,QAAQ;IACN;IAEA,IAAI,CAACie,iBAAiB,CAACK,aAAa,EAAE,CAAChd,SAAS,CAC7CgM,IAAiB,IAAI;MACpB,IAAI,CAACiR,OAAO,GAAGjR,IAAI;MAEnB;MACA,IAAI,CAACkR,mBAAmB,EAAE;IAC5B,CAAC,EACA/c,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;IACjD,CAAC,CACF;IAED,IAAI,CAACwc,iBAAiB,CAACQ,aAAa,EAAE,CAACnd,SAAS,CAC7CgM,IAAS,IAAI;MACZ,IAAI,CAACoR,eAAe,GAAGpR,IAAI;MAC3B5L,OAAO,CAAC0B,GAAG,CAAC,IAAI,CAACsb,eAAe,CAAC,CAAC,CAAC,CAACzd,EAAE,CAAC;MACvC,IAAI,CAAC0d,iBAAiB,GAAG,IAAI,CAACD,eAAe,CAAC,CAAC,CAAC,CAACzd,EAAE;MAEnD;MACA,IAAI,CAACud,mBAAmB,EAAE;IAC5B,CAAC,EACA/c,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IACzD,CAAC,CACF;IAED,IAAI,CAACwc,iBAAiB,CAACK,aAAa,EAAE,CAAChd,SAAS,CAC7CgM,IAAiB,IAAI;MACpB,IAAI,CAACiR,OAAO,GAAGjR,IAAI;MACnB;MAEA,IAAI,CAACkR,mBAAmB,EAAE;IAC5B,CAAC,EACA/c,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;IACjD,CAAC,CACF;EAEH;EAEAmd,gBAAgB,CAACC,QAAgB;IAC/B,MAAMC,WAAW,GAAG,IAAI1c,IAAI,CAACyc,QAAQ,CAAC;IACtC,OAAO,IAAI,CAAChY,QAAQ,CAACkY,SAAS,CAACD,WAAW,EAAE,kBAAkB,CAAC;EACjE;EAEAN,mBAAmB;IACjB,MAAMQ,KAAK,GAAG,IAAI,CAACC,yBAAyB,EAAE;IAC9C,IAAID,KAAK,CAACle,MAAM,GAAG,CAAC,EAAE;MACpB,IAAI,CAACoe,eAAe,GAAGF,KAAK,CAAC,CAAC,CAAC,CAAC/d,EAAE;MAClC,IAAI,CAACke,uBAAuB,EAAE;KAC/B,MAAM;MACL,IAAI,CAACD,eAAe,GAAG,IAAI;MAC3B,IAAI,CAACE,eAAe,GAAG,EAAE;;EAE7B;EAEAH,yBAAyB;IACvB,MAAMN,iBAAiB,GAAG,IAAI,CAACD,eAAe,CAACzV,IAAI,CAChDoW,MAAM,IAAKA,MAAM,CAACpe,EAAE,IAAI,IAAI,CAAC0d,iBAAiB,CAChD;IAED,OAAOA,iBAAiB,GAAGA,iBAAiB,CAACK,KAAK,GAAG,EAAE;EACzD;EAEAM,cAAc,CAACC,IAAsC;IACnD,IAAI,CAACL,eAAe,GAAGK,IAAI,CAACte,EAAE;IAC9B,IAAI,CAACke,uBAAuB,EAAE;EAChC;EAEAA,uBAAuB;IACrB,MAAMZ,OAAO,GAAG,IAAI,CAACiB,kBAAkB,EAAE;IACzC,IAAI,CAACJ,eAAe,GAAGb,OAAO,CAAC1H,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;EAC5C;EAEA2I,kBAAkB;IAChB,MAAMC,gBAAgB,GAAG,IAAI,CAAClB,OAAO,CAACvS,MAAM,CAAE0T,MAAM,IAAKA,MAAM,CAACC,OAAO,IAAI,IAAI,CAACT,eAAe,IAAIQ,MAAM,CAACE,SAAS,IAAI,IAAI,CAACjB,iBAAiB,CAAC,IAAI,EAAE;IAEpJ;IACAc,gBAAgB,CAACnK,IAAI,CAAC,CAACtH,CAAC,EAAEuH,CAAC,KAAI;MAC7B,MAAMsK,QAAQ,GAAG,IAAIzd,IAAI,CAACmT,CAAC,CAACZ,OAAO,CAAC,CAACrQ,OAAO,EAAE;MAC9C,MAAMwb,QAAQ,GAAG,IAAI1d,IAAI,CAAC4L,CAAC,CAAC2G,OAAO,CAAC,CAACrQ,OAAO,EAAE;MAE9C;MACA,OAAOwb,QAAQ,GAAGD,QAAQ;IAC5B,CAAC,CAAC;IAEF,MAAMT,eAAe,GAAGK,gBAAgB,CAAC5I,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAEpD;IACA,OAAOuI,eAAe;EAGxB;EAMAW,SAAS,CAACC,WAAmB;IAC3Bte,OAAO,CAAC0B,GAAG,CAAC4c,WAAW,CAAC;IACxB,IAAI,CAACC,aAAa,GAAGD,WAAW;IAChC,IAAI,CAACxZ,WAAW,CAAC0Z,cAAc,CAAC,IAAI,CAACD,aAAa,CAAC,CAAC,CAAC;IACrD,IAAI,CAACE,SAAS,GAAG,IAAI;IACrB,IAAI,CAAC/P,WAAW,CAAC,WAAW,CAAC;EAC/B;EAEAgQ,UAAU;IACR,IAAI,CAACD,SAAS,GAAG,KAAK;IACtB,IAAI,CAACF,aAAa,GAAG,IAAI;IACzB,IAAI,CAACzZ,WAAW,CAAC6Z,UAAU,EAAE;EAE/B;EAEAC,cAAc,CAAC9a,KAAiB;IAC9B,MAAM+a,YAAY,GAAG,IAAI,CAACjH,UAAU,CAACS,aAAa,CAAC7M,aAAa,CAAC,kBAAkB,CAAC;IAEpF,IAAIqT,YAAY,IAAI,IAAI,EAAE;MAExB,IAAI,IAAI,CAACJ,SAAS,IAAI,IAAI,CAAC3Z,WAAW,CAACga,UAAU,IAAI,CAAC,EAAE;QACtD,MAAMC,cAAc,GAAGjb,KAAK,CAAC4H,MAAqB;QAElD,IAAIqT,cAAc,KAAKF,YAAY,IAAI,CAAEA,YAA4B,CAAClO,QAAQ,CAACoO,cAAc,CAAC,EAAE;UAC9F/e,OAAO,CAAC0B,GAAG,CAAC,qBAAqB,CAAC;UAClC,IAAI,CAACgd,UAAU,EAAE;;OAGpB,MAAM;QACL,IAAI,CAAC5Z,WAAW,CAACka,cAAc,EAAE;;;EAGvC;EAEAtQ,WAAW,CAACC,KAAa;IACvB,MAAMC,SAAS,GAAG3L,QAAQ,CAACC,cAAc,CAACyL,KAAK,CAAC;IAChD,IAAIC,SAAS,EAAE;MACbA,SAAS,CAACC,cAAc,CAAC;QAAEC,QAAQ,EAAE;MAAQ,CAAE,CAAC;;EAEpD;EAEAmQ,qBAAqB;IACnB;IACA;IACAjf,OAAO,CAAC0B,GAAG,CAAC,2CAA2C,CAAC;IACxD;EACF;;EACAwd,eAAe;IACb;EAAA;;SAtKS5jB,mBAAmB;;mBAAnBA,MAAmB;AAAA;;QAAnBA,MAAmB;EAAAjB;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MD3BhCC,4DAAAA,aAAsC;MAAjCA,wDAAAA;QAAA,OAAS6F,0BAAsB;MAAA,EAAC;MAErC7F,4DAAAA,gBAA8G;MAAjEA,wDAAAA;QAAA;MAAA,EAA+B;QAAA,OAAW6F,yBAAqB;MAAA,EAAhC;MAC1E7F,wDAAAA,6DAES;MACXA,0DAAAA,EAAS;MAGTA,4DAAAA,aAA2B;MAGrBA,wDAAAA,6DAMS;MACXA,0DAAAA,EAAM;MAGVA,4DAAAA,uCAK6B;MAF7BA,wDAAAA;QAAA,OAAwB6F,2BAAuB;MAAA,EAAC;QAAA,OAEjCA,gBAAY;MAAA,EAFqB;MAEnB7F,0DAAAA,EAAgC;MAE7DA,wDAAAA,0EAYe;MAEfA,0DAAAA,EAAM;;;MAzCuCA,uDAAAA,GAA+B;MAA/BA,wDAAAA,kCAA+B;MAC3BA,uDAAAA,GAAkB;MAAlBA,wDAAAA,gCAAkB;MASpCA,uDAAAA,GAA8B;MAA9BA,wDAAAA,4CAA8B;MAW7DA,uDAAAA,GAAuB;MAAvBA,wDAAAA,4BAAuB;MAMUA,uDAAAA,GAAyB;MAAzBA,wDAAAA,qCAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEjBpD,MAAOhD,iBAAiB;EAE5BoC,YAAoB+D,MAAc,EACxBga,UAAsB,EACtB4C,iBAAoC;IAF1B,WAAM,GAAN5c,MAAM;IAChB,eAAU,GAAVga,UAAU;IACV,sBAAiB,GAAjB4C,iBAAiB;IAsD3B;;;;;IAKA,cAAS,GAAY,KAAK;IAC1B,mBAAc,GAAkB,IAAI;IAU5B,eAAU,GAAG,CAAC;EArElB;EAIJlc,QAAQ;IAEN,IAAI,CAACkc,iBAAiB,CAAC2E,kBAAkB,EAAE;IAC3C,MAAMC,UAAU,GAAG,IAAI,CAAClD,SAAS,CAAC,OAAO,CAAC;IAC1C,IAAIkD,UAAU,EAAE;MACdvd,cAAc,CAACwd,OAAO,CAAC,OAAO,EAAED,UAAU,CAAC;MAC3C,IAAI,CAACxhB,MAAM,CAACY,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;KACzC,MACI;MACH;IAAA;EAEJ;EACA;EACAkQ,WAAW,CAACC,KAAa;IACvB,MAAMyJ,aAAa,GAAG,IAAI,CAACR,UAAU,CAACS,aAAa,CAAC7M,aAAa,CAAC,GAAG,GAAGmD,KAAK,CAAC;IAC9E,IAAIyJ,aAAa,EAAE;MACjBA,aAAa,CAACvJ,cAAc,CAAC;QAAEC,QAAQ,EAAE;MAAQ,CAAE,CAAC;;EAExD;EAEAkN,UAAU;IACR,IAAI,CAAC,IAAI,CAACxB,iBAAiB,CAACyB,cAAc,EAAE,EAAE;MAC5Cnc,KAAK,CAAC,4DAA4D,CAAC;MACnE,IAAI,CAAC0a,iBAAiB,CAACwB,UAAU,EAAE;KACpC,MACI;MACHlc,KAAK,CAAC,yBAAyB,CAAC;;EAEpC;EAEA8E,eAAe;IACb,IAAI,CAAChH,MAAM,CAACY,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;EAClC;EAEA0d,SAAS,CAAC/S,IAAY;IACpB,MAAMgT,OAAO,GAAalZ,QAAQ,CAAC8V,MAAM,CAAC3W,KAAK,CAAC,GAAG,CAAC;IACpD,KAAK,IAAImK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4P,OAAO,CAAC/c,MAAM,EAAEmN,CAAC,EAAE,EAAE;MACvC,MAAMwM,MAAM,GAAWoD,OAAO,CAAC5P,CAAC,CAAC,CAACrN,IAAI,EAAE;MACxC,IAAI6Z,MAAM,CAACqD,UAAU,CAACjT,IAAI,GAAG,GAAG,CAAC,EAAE;QACjC,OAAO4P,MAAM,CAACxE,SAAS,CAACpL,IAAI,CAAC/J,MAAM,GAAG,CAAC,CAAC;;;IAG5C,OAAO,IAAI;EACb;EAEAid,cAAc;IACZ,IAAI,CAACze,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EAUA6f,SAAS,CAACiB,YAAoB;IAC5B,IAAI,CAACC,cAAc,GAAGD,YAAY;IAClC,IAAI,CAACb,SAAS,GAAG,IAAI;EACvB;EACAC,UAAU;IACR,IAAI,CAACD,SAAS,GAAG,KAAK;IACtB,IAAI,CAACc,cAAc,GAAG,IAAI;EAC5B;EAGAX,cAAc,CAAC9a,KAAiB;IAC9B9D,OAAO,CAAC0B,GAAG,CAAC,IAAI,CAACod,UAAU,CAAC;IAC5B,IAAI,IAAI,CAACL,SAAS,IAAI,IAAI,CAACK,UAAU,KAAK,CAAC,EAAE;MAC3C,MAAMD,YAAY,GAAG,IAAI,CAACjH,UAAU,CAACS,aAAa,CAAC7M,aAAa,CAAC,gBAAgB,CAAC;MAClF,MAAMuT,cAAc,GAAGjb,KAAK,CAAC4H,MAAqB;MAElD,IAAIqT,cAAc,KAAKF,YAAY,IAAI,CAAEA,YAA4B,CAAClO,QAAQ,CAACoO,cAAc,CAAC,EAAE;QAC9F,IAAI,CAACD,UAAU,GAAG,CAAC;QACnB,IAAI,CAACJ,UAAU,EAAE;;KAGpB,MAAM,IAAI,IAAI,CAACD,SAAS,EAAE;MACzB,IAAI,CAACK,UAAU,EAAE;;EAErB;;SA1FWrnB,iBAAiB;;mBAAjBA,MAAiB;AAAA;;QAAjBA,MAAiB;EAAA4C;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCX9BC,4DAAAA,WAAM;MAGJA,uDAAAA,cAAwB;MAE1BA,0DAAAA,EAAO;MAEPA,4DAAAA,WAAM;MACyBA,wDAAAA;QAAA,OAAS6F,0BAAsB;MAAA,EAAC;MAC3D7F,4DAAAA,aAAmC;MACjCA,uDAAAA,aAA+B;MAE/BA,4DAAAA,aAAiC;MAC/BA,uDAAAA,cAAwD;MAC1DA,0DAAAA,EAAM;MAGNA,uDAAAA,cAA0B;MAE1BA,4DAAAA,aAAsC;MAAAA,oDAAAA,kBAAU;MAAAA,0DAAAA,EAAI;MACpDA,4DAAAA,aAAoC;MAAAA,oDAAAA,iBAAS;MAAAA,0DAAAA,EAAI;MACjDA,4DAAAA,aAAgD;MAAAA,oDAAAA,2BAAmB;MAAAA,0DAAAA,EAAI;MAEvEA,4DAAAA,eAA4B;MAC1BA,uDAAAA,eAA+E;MAE/EA,4DAAAA,aAAqB;MAAAA,oDAAAA,iBAAS;MAAAA,0DAAAA,EAAI;MAEpCA,4DAAAA,eAAyB;MACvBA,uDAAAA,eAA4D;MAC5DA,4DAAAA,aAAqE;MAAjEA,wDAAAA;QAAA,OAAS6F,qBAAiB;MAAA,EAAC;MAC7B7F,4DAAAA,gBAA+C;MACxBA,oDAAAA,kBAAU;MAAAA,0DAAAA,EAAI;MACnCA,4DAAAA,aAAqB;MAAAA,oDAAAA,uBAAU;MAAAA,0DAAAA,EAAI;MAIzCA,4DAAAA,eAAwB;MACtBA,uDAAAA,eAAuE;MACvEA,4DAAAA,aAAkE;MAApCA,wDAAAA;QAAA,OAAS6F,gBAAY,YAAY,CAAC;MAAA,EAAC;MAAC7F,oDAAAA,gCAAmB;MAAAA,0DAAAA,EAAI;MAG3FA,uDAAAA,sBAAiC;MAEjCA,4DAAAA,eAA0C;MACXA,oDAAAA,yBAAiB;MAAAA,0DAAAA,EAAI;MAGpDA,uDAAAA,eAAgC;MAEhCA,4DAAAA,eAA4B;MAC1BA,uDAAAA,eAAiC;MAGjCA,4DAAAA,aAA6C;MAAAA,oDAAAA,4BAAe;MAAAA,0DAAAA,EAAI;MAEhEA,4DAAAA,eAAmB;MACjBA,uDAAAA,eAA+B;MAQjCA,0DAAAA,EAAM;MACNA,4DAAAA,eAAkB;MAChBA,uDAAAA,eAA8B;MAoBhCA,0DAAAA,EAAM;MACNA,4DAAAA,eAAgF;MAA7DA,wDAAAA;QAAA,OAAS6F,cAAU,CAAC,CAAC;MAAA,EAAC;QAAA,OAAUA,gBAAY,cAAc,CAAC;MAAA,EAArC;MACvC7F,4DAAAA,eAAoB;MAClBA,uDAAAA,eAAyD;MAEzDA,4DAAAA,eAAiB;MAAAA,oDAAAA,SAAC;MAAAA,0DAAAA,EAAM;MAG5BA,uDAAAA,eAA+E;MAQ/EA,4DAAAA,eAAgF;MAA7DA,wDAAAA;QAAA,OAAS6F,cAAU,CAAC,CAAC;MAAA,EAAC;QAAA,OAAUA,gBAAY,cAAc,CAAC;MAAA,EAArC;MACvC7F,4DAAAA,eAAoB;MAClBA,uDAAAA,eAA0D;MAE1DA,4DAAAA,eAAiB;MAAAA,oDAAAA,SAAC;MAAAA,0DAAAA,EAAM;MAG5BA,4DAAAA,eAAmB;MACXA,wDAAAA;QAAA,OAAS6F,cAAU,CAAC,CAAC;MAAA,EAAC;QAAA,OAAUA,gBAAY,cAAc,CAAC;MAAA,EAArC;MAC1B7F,uDAAAA,eAAyD;MAEzDA,4DAAAA,eAAiB;MAAAA,oDAAAA,SAAC;MAAAA,0DAAAA,EAAM;MAI9BA,4DAAAA,eAAgF;MAA7DA,wDAAAA;QAAA,OAAS6F,cAAU,CAAC,CAAC;MAAA,EAAC;QAAA,OAAUA,gBAAY,cAAc,CAAC;MAAA,EAArC;MACvC7F,4DAAAA,eAAoB;MAClBA,uDAAAA,eAAyD;MAEzDA,4DAAAA,eAAkB;MAAAA,oDAAAA,UAAC;MAAAA,0DAAAA,EAAM;MAG7BA,4DAAAA,0CAIC;MADDA,wDAAAA;QAAA,OAAc6F,gBAAY;MAAA,EAAC;MAC1B7F,0DAAAA,EAAgC;MAClCA,uDAAAA,+BAAiD;MAIhDA,4DAAAA,gBAA2B;MACPA,oDAAAA,cAAK;MAAAA,0DAAAA,EAAM;MAC7BA,4DAAAA,gBAAsB;MAAAA,oDAAAA,yCAAsB;MAAAA,0DAAAA,EAAM;MAEpDA,4DAAAA,gBAAuC;MACnBA,oDAAAA,YAAG;MAAAA,0DAAAA,EAAM;MAC3BA,4DAAAA,gBAAqC;MAAAA,oDAAAA,kCAAyB;MAAAA,0DAAAA,EAAM;MAEtEA,4DAAAA,gBAAkC;MAEXA,oDAAAA,UAAC;MAAAA,0DAAAA,EAAO;MAC3BA,4DAAAA,iBAAiB;MAAAA,oDAAAA,WAAE;MAAAA,0DAAAA,EAAO;MAE5BA,4DAAAA,gBAAqC;MAAAA,oDAAAA,gCAAuB;MAAAA,0DAAAA,EAAM;MAEpEA,uDAAAA,gBAAoC;MACpCA,4DAAAA,gBAAgC;MAC9BA,uDAAAA,gBAA6E;MAE7EA,4DAAAA,gBAAoB;MAEVA,oDAAAA,aAAI;MAAAA,0DAAAA,EAAO;MACjBA,uDAAAA,iBAA4B;MAC9BA,0DAAAA,EAAM;MACNA,4DAAAA,gBAAiC;MAERA,oDAAAA,gBAAO;MAAAA,0DAAAA,EAAI;MAChCA,4DAAAA,cAAqB;MAAAA,oDAAAA,oBAAW;MAAAA,0DAAAA,EAAI;MAK5CA,4DAAAA,gBAA0B;MACxBA,uDAAAA,gBAA6E;MAE7EA,4DAAAA,gBAAkB;MACVA,oDAAAA,WAAE;MAAAA,0DAAAA,EAAO;MACfA,4DAAAA,iBAAoB;MAAAA,oDAAAA,YAAG;MAAAA,0DAAAA,EAAO;MAC9BA,4DAAAA,aAAM;MAAAA,oDAAAA,YAAG;MAAAA,0DAAAA,EAAO;MAChBA,uDAAAA,iBAA4B;MAC9BA,0DAAAA,EAAM;MACNA,4DAAAA,gBAAuC;MAEdA,oDAAAA,iBAAQ;MAAAA,0DAAAA,EAAI;MACjCA,4DAAAA,cAAqB;MAAAA,oDAAAA,eAAM;MAAAA,0DAAAA,EAAI;MAKrCA,uDAAAA,2BAAyC;MAEzCA,4DAAAA,iBAAkC;MAChCA,oDAAAA,mEACF;MAAAA,0DAAAA,EAAM;MACNA,4DAAAA,iBAAkC;MAChCA,oDAAAA,4VAGF;MAAAA,0DAAAA,EAAM;MACNA,4DAAAA,cAAsC;MAAAA,oDAAAA,mBAAU;MAAAA,0DAAAA,EAAI;MAItDA,4DAAAA,iBAAkB;MAChBA,uDAAAA,iBAA8B;MAC9BA,4DAAAA,eAAmC;MAAhCA,wDAAAA;QAAA,OAAS6F,gBAAY,QAAQ,CAAC;MAAA,EAAC;MAClC7F,4DAAAA,iBAAmB;MACdA,wDAAAA;QAAA,OAAS6F,gBAAY,QAAQ,CAAC;MAAA,EAAC;MAAgB7F,oDAAAA,eAAM;MAAAA,0DAAAA,EAAI;MAC5DA,uDAAAA,iBAAsE;MACxEA,0DAAAA,EAAM;MAENA,4DAAAA,eAAwC;MAArCA,wDAAAA;QAAA,OAAS6F,gBAAY,aAAa,CAAC;MAAA,EAAC;MACvC7F,4DAAAA,iBAAyB;MACpBA,wDAAAA;QAAA,OAAS6F,gBAAY,aAAa,CAAC;MAAA,EAAC;MAAsB7F,oDAAAA,oBAAW;MAAAA,0DAAAA,EAAI;MAE5EA,uDAAAA,iBAA4E;MAC9EA,0DAAAA,EAAM;MAENA,4DAAAA,eAAsC;MAAnCA,wDAAAA;QAAA,OAAS6F,gBAAY,WAAW,CAAC;MAAA,EAAC;MACrC7F,4DAAAA,iBAAyB;MAElBA,wDAAAA;QAAA,OAAS6F,gBAAY,WAAW,CAAC;MAAA,EAAC;MAAqB7F,oDAAAA,kBAAS;MAAAA,0DAAAA,EAAI;MAEzEA,uDAAAA,iBAA8D;MAChEA,0DAAAA,EAAM;MAENA,4DAAAA,iBAAqB;MACEA,oDAAAA,eAAM;MAAAA,0DAAAA,EAAM;MACjCA,4DAAAA,iBAAyF;MAA/DA,wDAAAA;QAAA,OAAS6F,qBAAiB;MAAA,EAAC;MAArD7F,0DAAAA,EAAyF;MAE3FA,4DAAAA,iBAAwC;MAAnCA,wDAAAA;QAAA,OAAS6F,gBAAY;MAAA,EAAC;MACzB7F,4DAAAA,iBAAmB;MAAAA,oDAAAA,iBAAQ;MAAAA,0DAAAA,EAAM;MACjCA,uDAAAA,iBAAkE;MACpEA,0DAAAA,EAAM;;;MArGNA,uDAAAA,KAAuB;MAAvBA,wDAAAA,4BAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC/G7BA,4DAAAA,cAAuJ;IAArHA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yBAAiB,GAAG,EAAC,iCAA4B,EAAC,EAAE,CAAC;IAAA,EAAC;IAAjGA,0DAAAA,EAAuJ;;;;;;IACvJA,4DAAAA,cAAgJ;IAA9GA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yBAAiB,GAAG,EAAC,oBAAoB,EAAC,EAAE,CAAC;IAAA,EAAC;IAAzFA,0DAAAA,EAAgJ;;;;;;IAChJA,4DAAAA,cAAiL;IAA9IA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yBAAiB,GAAG,EAAC,0DAAqD,EAAC,EAAE,CAAC;IAAA,EAAC;IAA3HA,0DAAAA,EAAiL;;;ACR3K,MAAOY,iBAAiB;EAS5BxB,YACU+D,MAAc;IAAd,WAAM,GAANA,MAAM;IARhB,cAAS,GAAY,KAAK;IAC1B,mBAAc,GAAkB,IAAI;IACpC,eAAU,GAAW,CAAC;IAQpB;EACF;;EAEAU,QAAQ;IACN;IACA,IAAIkR,SAAS,CAACgQ,KAAK,EAAE;MACnB,IAAI,CAACC,mBAAmB,GAAG,IAAI;KAChC,MAAM;EAET;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEAC,gBAAgB,CAACrL,GAAG,EAACsL,MAAM,EAACzQ,IAAI;IAC9B,IAAIM,SAAS,CAACgQ,KAAK,EAAE;MACnBhQ,SAAS,CAACgQ,KAAK,CAAC;QACdI,KAAK,EAAED,MAAM;QACbzQ,IAAI,EAAEA,IAAI;QACVmF,GAAG,EAAG,+CAA+C,GAACA;OACvD,CAAC,CACCwL,IAAI,CAAC,MAAM7f,OAAO,CAAC0B,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAC9Doe,KAAK,CAAE/f,KAAK,IAAKC,OAAO,CAACD,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC,CAAC;;EAE/E;EACAggB,mBAAmB,CAACC,MAAc;IAChC,IAAI,CAACT,cAAc,GAAGS,MAAM;IAC5B;IACAxR,UAAU,CAAC,MAAK;MACd,IAAI,CAAC5Q,MAAM,CAACY,QAAQ,CAAC,CAAC,kBAAkB,EAAEwhB,MAAM,CAAC,CAAC;IACpD,CAAC,EAAE,GAAG,CAAC;EACT;;SApDW3kB,iBAAiB;;mBAAjBA,MAAiB;AAAA;;QAAjBA,MAAiB;EAAAhB;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MDT9BC,4DAAAA,aAAwB;MAExBA,uDAAAA,aAAyG;MAIzGA,4DAAAA,aAA+D;MAAjCA,wDAAAA;QAAA,OAAS6F,wBAAoB,CAAC,CAAC;MAAA,EAAC;MAAC7F,0DAAAA,EAAM;MACrEA,4DAAAA,aAA8D;MAAjCA,wDAAAA;QAAA,OAAS6F,wBAAoB,CAAC,CAAC;MAAA,EAAC;MAAC7F,0DAAAA,EAAM;MACpEA,4DAAAA,aAA8D;MAAjCA,wDAAAA;QAAA,OAAS6F,wBAAoB,CAAC,CAAC;MAAA,EAAC;MAAC7F,0DAAAA,EAAM;MAEpEA,4DAAAA,WAAwB;MAAAA,oDAAAA,sCAA0B;MAAAA,0DAAAA,EAAI;MACtDA,4DAAAA,WAAwB;MAAAA,oDAAAA,0BAAkB;MAAAA,0DAAAA,EAAI;MAC9CA,4DAAAA,YAAwB;MAAAA,oDAAAA,gEAAmD;MAAAA,0DAAAA,EAAI;MAG/EA,wDAAAA,wDAAuJ;MACvJA,wDAAAA,wDAAgJ;MAChJA,wDAAAA,wDAAiL;MACjLA,0DAAAA,EAAM;;;MAHAA,uDAAAA,IAAyB;MAAzBA,wDAAAA,iCAAyB;MACzBA,uDAAAA,GAAyB;MAAzBA,wDAAAA,iCAAyB;MACvBA,uDAAAA,GAAyB;MAAzBA,wDAAAA,iCAAyB;;;;;;;;;;;;;;;;;;;;;;;;;AET3B,MAAOW,uBAAuB;EAElCvB,YAAoB+D,MAAa;IAAb,WAAM,GAANA,MAAM;EAE1B;EAEAqiB,YAAY;IACV,IAAI,CAACriB,MAAM,CAACY,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;EACnC;EAEA0hB,YAAY;IACV,IAAI,CAACtiB,MAAM,CAACY,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;EACnC;;SAZWpD,uBAAuB;;mBAAvBA,MAAuB;AAAA;;QAAvBA,MAAuB;EAAAf;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCTpCC,4DAAAA,WAA+B;MAAAA,oDAAAA,kBAAW;MAAAA,0DAAAA,EAAI;MAC9CA,4DAAAA,aAA6B;MACzBA,uDAAAA,aAAgF;MAChFA,4DAAAA,WAAqB;MAAAA,oDAAAA,gBAAS;MAAAA,0DAAAA,EAAI;MAGtCA,4DAAAA,aAAwC;MAGvBA,wDAAAA;QAAA,OAAS6F,kBAAc;MAAA,EAAC;MACzB7F,4DAAAA,cAAuB;MAAAA,oDAAAA,sBAAS;MAAAA,0DAAAA,EAAM;MACtCA,uDAAAA,cAA+B;MAEnCA,0DAAAA,EAAM;MACNA,4DAAAA,eAA2C;MAAtCA,wDAAAA;QAAA,OAAS6F,kBAAc;MAAA,EAAC;MACzB7F,4DAAAA,eAA6B;MACNA,oDAAAA,kBAAK;MAAAA,0DAAAA,EAAM;MAC9BA,uDAAAA,cAA+B;MAEnCA,0DAAAA,EAAM;MAMrBA,4DAAAA,eAAsC;MAE/BA,uDAAAA,eAA0D;MAC9DA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAAsD;MAC1DA,0DAAAA,EAAM;MAGVA,4DAAAA,eAA+B;MAEHA,oDAAAA,4BAAU;MAAAA,0DAAAA,EAAI;MAI1CA,4DAAAA,eAAsC;MAE9BA,uDAAAA,eAAiE;MACrEA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAAuD;MAC3DA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAA8D;MAClEA,0DAAAA,EAAM;MAEVA,4DAAAA,eAA6B;MAEAA,oDAAAA,oBAAY;MAAAA,0DAAAA,EAAI;MAGtCA,oDAAAA,WAEP;MAAAA,4DAAAA,eAAsC;MAE9BA,uDAAAA,eAAuD;MAC3DA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAAsD;MAC1DA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAAuD;MAC3DA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAAoD;MACxDA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAA+C;MACnDA,0DAAAA,EAAM;MAIVA,4DAAAA,eAAkC;MAEAA,oDAAAA,gBAAQ;MAAAA,0DAAAA,EAAI;;;;;;;;;;;;;;;;;;;;;;ACxExC,MAAOc,0BAA0B;SAA1BA,0BAA0B;;mBAA1BA,MAA0B;AAAA;;QAA1BA,MAA0B;EAAAlB;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCPvCC,4DAAAA,aAAuB;MAgBjBA,uDAAAA,aAAgC;MAOhCA,0DAAAA,EAAM;MAGNA,4DAAAA,aAA6B;MAC3BA,uDAAAA,aAAgC;MAOhCA,0DAAAA,EAAM;MAGNA,4DAAAA,aAA6B;MAC3BA,uDAAAA,aAAgC;MAOhCA,0DAAAA,EAAM;MAENA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOhCA,0DAAAA,EAAM;MAENA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOhCA,0DAAAA,EAAM;MAINA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOhCA,0DAAAA,EAAM;MAGNA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOhCA,0DAAAA,EAAM;MAGNA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOhCA,0DAAAA,EAAM;MAGNA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOhCA,0DAAAA,EAAM;MAGNA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOpDA,0DAAAA,EAAM;;;;;;;;;;;;;;;;;;;;;;AClHJ,MAAOsC,cAAc;SAAdA,cAAc;;mBAAdA,MAAc;AAAA;;QAAdA,MAAc;EAAA1C;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCP3BC,4DAAAA,aAAkB;MAGVA,oDAAAA,iBAAK;MAAAA,0DAAAA,EAAK;MACdA,4DAAAA,aAAwB;MAAAA,oDAAAA,2NAAiL;MAAAA,0DAAAA,EAAM;MAC/MA,4DAAAA,SAAI;MAAAA,oDAAAA,cAAO;MAAAA,0DAAAA,EAAK;MAEhBA,4DAAAA,aAA4B;MAEpBA,uDAAAA,cAA+D;MAEnEA,0DAAAA,EAAM;MAENA,4DAAAA,cAA6B;MAEpBA,oDAAAA,UAAE;MAAAA,4DAAAA,cAAQ;MAAAA,oDAAAA,gBAAQ;MAAAA,0DAAAA,EAAS;MAAEA,oDAAAA,qFAAkE;MAAAA,0DAAAA,EAAM;MAC1GA,4DAAAA,WAAK;MAAAA,oDAAAA,UAAG;MAAAA,4DAAAA,cAAQ;MAAAA,oDAAAA,eAAO;MAAAA,0DAAAA,EAAS;MAAEA,oDAAAA,oHAA4F;MAAAA,0DAAAA,EAAM;MACpIA,4DAAAA,WAAK;MAAAA,oDAAAA,UAAE;MAAAA,4DAAAA,cAAQ;MAACA,oDAAAA,iBAAQ;MAAAA,0DAAAA,EAAS;MAAEA,oDAAAA,8DAAgD;MAAAA,0DAAAA,EAAM;MAM7FA,4DAAAA,cAAwB;MACAA,oDAAAA,wBAAgB;MAAAA,0DAAAA,EAAI;MAExCA,4DAAAA,eAA6B;MAE3BA,uDAAAA,eAA2D;MAE7DA,0DAAAA,EAAM;MACNA,4DAAAA,eAAkB;MAChBA,uDAAAA,eAA6D;MAC/DA,0DAAAA,EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BM;;;;;;;;;;;;;ICFxBA,uDAAAA,eAAyC;;;;;;IAEzCA,4DAAAA,cAAuC;IACrCA,uDAAAA,cAA8B;IAC9BA,4DAAAA,YAAmC;IAAhCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,QAAQ,CAAC;IAAA,EAAC;IAClCA,4DAAAA,cAAmB;IACdA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,QAAQ,CAAC;IAAA,EAAC;IAAgBA,oDAAAA,aAAM;IAAAA,0DAAAA,EAAI;IAC5DA,uDAAAA,cAAsE;IACxEA,0DAAAA,EAAM;IAENA,4DAAAA,YAAwC;IAArCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,aAAa,CAAC;IAAA,EAAC;IACvCA,4DAAAA,cAAyB;IACpBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,aAAa,CAAC;IAAA,EAAC;IAAsBA,oDAAAA,mBAAW;IAAAA,0DAAAA,EAAI;IAE5EA,uDAAAA,eAA4E;IAC9EA,0DAAAA,EAAM;IAENA,4DAAAA,aAAsC;IAAnCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,WAAW,CAAC;IAAA,EAAC;IACrCA,4DAAAA,eAAyB;IAElBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oBAAY,WAAW,CAAC;IAAA,EAAC;IAAqBA,oDAAAA,iBAAS;IAAAA,0DAAAA,EAAI;IAEzEA,uDAAAA,eAA8D;IAChEA,0DAAAA,EAAM;IAENA,4DAAAA,eAAqB;IACEA,oDAAAA,cAAM;IAAAA,0DAAAA,EAAM;IACjCA,4DAAAA,eAAyF;IAA/DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yBAAiB;IAAA,EAAC;IAArDA,0DAAAA,EAAyF;IAE3FA,4DAAAA,eAAwC;IAAnCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,qBAAY;IAAA,EAAC;IACzBA,4DAAAA,eAAmB;IAAAA,oDAAAA,gBAAQ;IAAAA,0DAAAA,EAAM;IACjCA,uDAAAA,eAAkE;IACpEA,0DAAAA,EAAM;;;ADtBF,MAAO9B,eAAe;EAE1BkB,YAAoB+D,MAAc,EACxBga,UAAsB,EACtB4C,iBAAoC;IAF1B,WAAM,GAAN5c,MAAM;IAChB,eAAU,GAAVga,UAAU;IACV,sBAAiB,GAAjB4C,iBAAiB;IAK3B,gBAAW,GAAQ,EAAE,CAAC,CAAC;EAJnB;;EAOJlc,QAAQ;IAIN,MAAMoB,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAE7C,IAAGpC,KAAK,EAAC;MACP,IAAI,CAAC+a,WAAW,GAAG,IAAI;KACxB,MAAI;MACH,IAAI,CAACA,WAAW,GAAG,KAAK;;IAG1Bza,OAAO,CAAC0B,GAAG,CAAC,IAAI,CAAC+Y,WAAW,CAAC;IAE7B,IAAI,CAACC,IAAI,GAAGH,kDAAK,CAAC,MAAM,EAAE;MACxBI,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;MAC5BC,IAAI,EAAE,EAAE;MACRC,SAAS,EAAEN,2DAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3D,CAAC;IAEF;IACAA,wDAAW,CAAC,0EAA0E,EAAE;MACtFS,WAAW,EAAE,mJAAmJ;MAChKC,UAAU,EAAE,MAAM;MAClBC,OAAO,EAAE;KACV,CAAC,CAACC,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAGnB;IAEA;IACA;IACA;IACA;IACA;IACA;IACD;IACA,MAAMyF,SAAS,GAAG5F,qDAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAACe,SAAS,CAAC,mCAAmC,CAAC;IAChG;IAEC;IACA,MAAM8E,cAAc,GAAG7F,yDAAY,CAAC,CAAC4F,SAAS,CAAC,CAAC,CAAChF,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAClE;IAEC;IACA,IAAI,CAAC4F,WAAW,CAAC,YAAY,CAAC,GAAGF,cAAc;IAChD;IAEC;IACA7F,6DAAgB,CAAC,IAAI,EAAE,IAAI,CAAC+F,WAAW,CAAC,CAACnF,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;EAK5D;EAEEsB,UAAU;IACR,IAAI,CAAC,IAAI,CAACxB,iBAAiB,CAACyB,cAAc,EAAE,EAAE;MAC5Cnc,KAAK,CAAC,4DAA4D,CAAC;MACnE,IAAI,CAAC0a,iBAAiB,CAACwB,UAAU,EAAE;KACpC,MACI;MACHlc,KAAK,CAAC,yBAAyB,CAAC;;EAEpC;EAEA8E,eAAe;IACb,IAAI,CAAChH,MAAM,CAACY,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;EAClC;EAEA0d,SAAS,CAAC/S,IAAY;IACpB,MAAMgT,OAAO,GAAalZ,QAAQ,CAAC8V,MAAM,CAAC3W,KAAK,CAAC,GAAG,CAAC;IACpD,KAAK,IAAImK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4P,OAAO,CAAC/c,MAAM,EAAEmN,CAAC,EAAE,EAAE;MACvC,MAAMwM,MAAM,GAAWoD,OAAO,CAAC5P,CAAC,CAAC,CAACrN,IAAI,EAAE;MACxC,IAAI6Z,MAAM,CAACqD,UAAU,CAACjT,IAAI,GAAG,GAAG,CAAC,EAAE;QACjC,OAAO4P,MAAM,CAACxE,SAAS,CAACpL,IAAI,CAAC/J,MAAM,GAAG,CAAC,CAAC;;;IAG5C,OAAO,IAAI;EACb;EAEAid,cAAc;IACZ,IAAI,CAACze,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EAEAiiB,YAAY;IACV,IAAI,CAAC7iB,MAAM,CAACY,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;EAC3C;EAEAkQ,WAAW,CAACC,KAAa;IACvB,MAAMC,SAAS,GAAG3L,QAAQ,CAACC,cAAc,CAACyL,KAAK,CAAC;IAChD,IAAIC,SAAS,EAAE;MACbA,SAAS,CAACC,cAAc,CAAC;QAAEC,QAAQ,EAAE;MAAQ,CAAE,CAAC;;EAEpD;;SA1GWnW,eAAe;;mBAAfA,MAAe;AAAA;;QAAfA,MAAe;EAAA0B;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCV5BC,wDAAAA,6DAAyC;MAEzCA,wDAAAA,oDAiCM;MAENA,uDAAAA,oBAA+B;MAE/BA,4DAAAA,aAAuB;MASfA,uDAAAA,aAA4E;MAC5EA,4DAAAA,WAAkB;MAAAA,oDAAAA,gBAAS;MAAAA,0DAAAA,EAAI;MAC/BA,4DAAAA,YAAkB;MAAAA,oDAAAA,oCAAa;MAAAA,0DAAAA,EAAI;MAGrCA,4DAAAA,WAAK;MAICA,oDAAAA,6BACA;MAAAA,uDAAAA,UAAI;MACJA,oDAAAA,2CACF;MAAAA,0DAAAA,EAAM;MACNA,4DAAAA,eAAuB;MAErBA,oDAAAA,0lBAMF;MAAAA,0DAAAA,EAAM;MASZA,4DAAAA,eAAqB;MAEjBA,uDAAAA,8BAAiD;MACnDA,0DAAAA,EAAM;MAIRA,4DAAAA,eAAqB;MAEjBA,uDAAAA,iCAAuD;MAEvDA,4DAAAA,eAAuB;MAEtBA,oDAAAA,sXAGD;MAAAA,0DAAAA,EAAM;MAGVA,4DAAAA,eAAqB;MAEmBA,oDAAAA,qBAC1B;MAAAA,0DAAAA,EAAI;MAEdA,4DAAAA,eAA0B;MACxBA,uDAAAA,eAAqB;MACvBA,0DAAAA,EAAM;MAERA,4DAAAA,eAA8D;MAAzDA,wDAAAA;QAAA,OAAS6F,kBAAc;MAAA,EAAC;MAC3B7F,4DAAAA,aAA6B;MAAAA,oDAAAA,yCAA4B;MAAAA,0DAAAA,EAAI;MAKjEA,uDAAAA,iBAAuB;MAIxBA,4DAAAA,eAAsB;MACrBA,uDAAAA,6BAA+C;MAChDA,0DAAAA,EAAM;MAINA,4DAAAA,eAAqB;MAElBA,oDAAAA,kEACF;MAAAA,0DAAAA,EAAM;;;MA7HCA,wDAAAA,yBAAiB;MAEtBA,uDAAAA,GAAkB;MAAlBA,wDAAAA,0BAAkB;;;;;;;;;;;;;;;;;;;;;;;;;ACKlB,MAAOgC,yBAAyB;EAEpC5C,YAAoB+D,MAAc;IAAd,WAAM,GAANA,MAAM;EACtB;EAGJye,cAAc;IACZ,IAAI,CAACze,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;;SARW/B,yBAAyB;;mBAAzBA,MAAyB;AAAA;;QAAzBA,MAAyB;EAAApC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCgEtCC,4DAAAA,aAAmB;MAIiBA,oDAAAA,iFAAgE;MAAAA,0DAAAA,EAAM;MAC1FA,4DAAAA,aAAwB;MAAAA,oDAAAA,0EAAmE;MAAAA,0DAAAA,EAAM;MAErGA,4DAAAA,aAA4B;MAESA,oDAAAA,yCAA4B;MAAAA,0DAAAA,EAAI;MAM7EA,4DAAAA,cAAoD;MAGNA,oDAAAA,4BAAU;MAAAA,0DAAAA,EAAM;MACtDA,4DAAAA,eAAmB;MAEXA,uDAAAA,eAA0D;MAC9DA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAAsD;MAC1DA,0DAAAA,EAAM;MAQlBA,4DAAAA,eAAoD;MAELA,oDAAAA,sBAAc;MAAAA,0DAAAA,EAAM;MAC3DA,4DAAAA,eAAmB;MAGvBA,uDAAAA,eAAuD;MAC3DA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAA8D;MAClEA,0DAAAA,EAAM;MAINA,4DAAAA,eAAoD;MAELA,oDAAAA,iBAAS;MAAAA,0DAAAA,EAAM;MACtDA,4DAAAA,eAAmB;MAEXA,uDAAAA,eAAuD;MAC3DA,0DAAAA,EAAM;MAENA,4DAAAA,eAAmB;MACfA,uDAAAA,eAAuD;MAC3DA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAAoD;MACxDA,0DAAAA,EAAM;MACNA,4DAAAA,eAAmB;MACfA,uDAAAA,eAA+C;MACnDA,0DAAAA,EAAM;;;;;;;;;;;;;;;;;;;;;;AChIhB,MAAO8B,yBAAyB;SAAzBA,yBAAyB;;mBAAzBA,MAAyB;AAAA;;QAAzBA,MAAyB;EAAAlC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCPtCC,4DAAAA,aAA2B;MAEHA,oDAAAA,0BAElB;MAAAA,4DAAAA,WAAsB;MAAAA,oDAAAA,+CACQ;MAAAA,0DAAAA,EAAI;MAIpCA,4DAAAA,aAA+B;MAEFA,oDAAAA,mEAAiD;MAAAA,0DAAAA,EAAM;MAElFA,4DAAAA,aAA6B;MACHA,oDAAAA,gBAAQ;MAAAA,0DAAAA,EAAM;MAExCA,4DAAAA,cAA6B;MACHA,oDAAAA,cAAM;MAAAA,0DAAAA,EAAM;MAEtCA,4DAAAA,cAA6B;MACHA,oDAAAA,+BAAuB;MAAAA,0DAAAA,EAAM;MAEvDA,4DAAAA,cAA6B;MACHA,oDAAAA,wCAAsB;MAAAA,0DAAAA,EAAM;MAEtDA,4DAAAA,cAA6B;MACHA,oDAAAA,sCAAoB;MAAAA,0DAAAA,EAAM;;;;;;;;;;;;;;;;;;;;;;ACnBpD,MAAO+B,4BAA4B;EAEvCkS,WAAW,CAACC,KAAa;IACvB,MAAMC,SAAS,GAAG3L,QAAQ,CAACC,cAAc,CAACyL,KAAK,CAAC;IAChD,IAAIC,SAAS,EAAE;MACbA,SAAS,CAACC,cAAc,CAAC;QAAEC,QAAQ,EAAE;MAAQ,CAAE,CAAC;;EAEpD;;SAPWtS,4BAA4B;;mBAA5BA,MAA4B;AAAA;;QAA5BA,MAA4B;EAAAnC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCPzCC,4DAAAA,aAA6B;MACDA,oDAAAA,wCAAiC;MAAAA,0DAAAA,EAAK;MAChEA,4DAAAA,WAAoB;MAAAA,oDAAAA,gFACU;MAAAA,0DAAAA,EAAI;MAGpCA,4DAAAA,aAAuB;MAgBjBA,uDAAAA,aAAgC;MAOlCA,0DAAAA,EAAM;MAGNA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOlCA,0DAAAA,EAAM;MAGNA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOlCA,0DAAAA,EAAM;MAENA,4DAAAA,cAA6B;MAC3BA,uDAAAA,cAAgC;MAOlCA,0DAAAA,EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;AC5D0D;;;;;;;;;ICAlEA,uDAAAA,8BAAqE;;;;;IAiC7DA,4DAAAA,eAAmF;IAAAA,oDAAAA,GAC/E;IAAAA,0DAAAA,EAAO;;;;IADwEA,uDAAAA,GAC/E;IAD+EA,+DAAAA,0BAC/E;;;;;IAMJA,4DAAAA,eAAsF;IAAAA,oDAAAA,GAClF;IAAAA,0DAAAA,EAAO;;;;IAD2EA,uDAAAA,GAClF;IADkFA,+DAAAA,6BAClF;;;ADhCR,MAAOjD,cAAc;EAYzBqC,YACU+D,MAAc,EACdG,KAAqB,EACrB2iB,WAAwB,EACxB7iB,WAAwB;IAHxB,WAAM,GAAND,MAAM;IACN,UAAK,GAALG,KAAK;IACL,gBAAW,GAAX2iB,WAAW;IACX,gBAAW,GAAX7iB,WAAW;IAfrB,cAAS,GAAY,KAAK,CAAC,CAAC;IAErB,cAAS,GAAG,KAAK;IAGxB,yBAAoB,GAAW,EAAE;IACjC,mBAAc,GAAY,KAAK;IAC/B,sBAAiB,GAAY,KAAK;IAElC,sBAAiB,GAAW,EAAE;IAQ5B,IAAI,CAACI,SAAS,GAAG,IAAI,CAACJ,WAAW,CAACK,KAAK,CAAC;MACtCiC,KAAK,EAAE,CAAC,EAAE,EAAExC,+DAAmB,CAAC;MAChCQ,QAAQ,EAAE,CAAC,EAAE,EAAER,+DAAmB;KACnC,CAAC;EACJ;EAEAW,QAAQ;IACN,IAAI,CAACP,KAAK,CAAC4iB,WAAW,CAAC/gB,SAAS,CAACiG,MAAM,IAAG;MACxC,MAAMnG,KAAK,GAAGmG,MAAM,CAAC,OAAO,CAAC;MAC7B,IAAInG,KAAK,EAAE;QACTmC,cAAc,CAACwd,OAAO,CAAC,OAAO,EAAE3f,KAAK,CAAC;QACtC,MAAMkhB,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACzD3d,QAAQ,CAAC8V,MAAM,GAAG,SAASrZ,KAAK,aAAa,IAAIgB,IAAI,CAACA,IAAI,CAACmgB,GAAG,EAAE,GAAGD,sBAAsB,CAAC,CAACE,WAAW,EAAE,UAAU;QAClH,IAAI,CAACljB,MAAM,CAACY,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;OACzC,MAAM;QACL;MAAA;IAGJ,CAAC,CAAC;IAEF,MAAM4gB,UAAU,GAAG,IAAI,CAAClD,SAAS,CAAC,OAAO,CAAC;IAC1C,IAAIkD,UAAU,EAAE;MACdvd,cAAc,CAACwd,OAAO,CAAC,OAAO,EAAED,UAAU,CAAC;MAC3C,IAAI,CAACxhB,MAAM,CAACY,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;KAEzC,MACI;MACH;IAAA;EAGJ;EAEA0d,SAAS,CAAC/S,IAAY;IACpB,MAAMgT,OAAO,GAAalZ,QAAQ,CAAC8V,MAAM,CAAC3W,KAAK,CAAC,GAAG,CAAC;IACpD,KAAK,IAAImK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4P,OAAO,CAAC/c,MAAM,EAAEmN,CAAC,EAAE,EAAE;MACvC,MAAMwM,MAAM,GAAWoD,OAAO,CAAC5P,CAAC,CAAC,CAACrN,IAAI,EAAE;MACxC,IAAI6Z,MAAM,CAACqD,UAAU,CAACjT,IAAI,GAAG,GAAG,CAAC,EAAE;QACjC,OAAO4P,MAAM,CAACxE,SAAS,CAACpL,IAAI,CAAC/J,MAAM,GAAG,CAAC,CAAC;;;IAG5C,OAAO,IAAI;EACb;EAEAb,cAAc;IACZ,IAAI,CAACX,MAAM,CAACY,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;EACjC;EACAuiB,sBAAsB;IACpB,IAAI,CAACnjB,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EACAwiB,iBAAiB;IACf,IAAI,CAACpjB,MAAM,CAACY,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;EAClC;EAEAyiB,UAAU;IACR,IAAI,CAAC1d,cAAc,GAAG,KAAK;IAC3B,IAAI,CAACG,iBAAiB,GAAG,EAAE;EAC7B;EAEAwd,aAAa;IACX,IAAI,CAACxiB,iBAAiB,GAAG,KAAK;IAC9B,IAAI,CAACS,oBAAoB,GAAG,EAAE;EAChC;EAEAH,QAAQ;IACN,MAAMmB,KAAK,GAAG,IAAI,CAAClC,SAAS,CAACa,GAAG,CAAC,OAAO,CAAC,EAAEG,KAAK;IAChD,MAAMd,QAAQ,GAAG,IAAI,CAACF,SAAS,CAACa,GAAG,CAAC,UAAU,CAAC,EAAEG,KAAK;IAEtD,IAAI,CAACkB,KAAK,IAAIA,KAAK,CAACjB,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAACgB,aAAa,CAACC,KAAK,CAAC,EAAE;MAC/D,IAAI,CAACoD,cAAc,GAAG,IAAI;MAC1B,IAAI,CAACG,iBAAiB,GAAG,8BAA8B;MACvD;;IAGF,IAAI,CAACvF,QAAQ,IAAIA,QAAQ,CAACe,IAAI,EAAE,KAAK,EAAE,EAAE;MACvC,IAAI,CAACR,iBAAiB,GAAG,IAAI;MAC7B,IAAI,CAACS,oBAAoB,GAAG,6BAA6B;MACzD;;IAGF;IACA,IAAI,CAACG,SAAS,GAAG,IAAI;IAErB,IAAI,CAACohB,WAAW,CAACS,KAAK,CAAChhB,KAAK,EAAEhC,QAAQ,CAAC,CAACyB,SAAS,CAC9CC,QAAa,IAAI;MAChB;MACAgC,cAAc,CAACwd,OAAO,CAAC,OAAO,EAAExf,QAAQ,CAACuhB,YAAY,CAAC;MACtD,MAAMR,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;MACzD3d,QAAQ,CAAC8V,MAAM,GAAG,SAASlZ,QAAQ,CAACuhB,YAAY,aAAa,IAAI1gB,IAAI,CAACA,IAAI,CAACmgB,GAAG,EAAE,GAAGD,sBAAsB,CAAC,CAACE,WAAW,EAAE,UAAU;MACnI;MACC,IAAI,CAACxhB,SAAS,GAAG,KAAK;MACtB,IAAI,CAAC1B,MAAM,CAACY,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC,EACAuB,KAAK,IAAI;MACR;MAGA,MAAMshB,YAAY,GAAGthB,KAAK,CAACA,KAAK,CAACE,OAAO;MACxC;MAEA,IAAI,CAACX,SAAS,GAAG,KAAK;MACtB,IAAIS,KAAK,CAACA,KAAK,CAACE,OAAO,IAAI,yBAAyB,EAAE;QACpD,IAAI,CAACsD,cAAc,GAAG,IAAI;QAC1B,IAAI,CAACG,iBAAiB,GAAG,yBAAyB;QAClD;;MAGF;MACA,IAAI,CAAChF,iBAAiB,GAAG,IAAI;MAC7B,IAAI,CAACS,oBAAoB,GAAG,kDAAkD;IAEhF,CAAC,CACF;EAGH;EAEAe,aAAa,CAACC,KAAa;IACzB;IACA;IACA;IACA,OAAOA,KAAK,CAACC,QAAQ,CAAC,GAAG,CAAC;EAC5B;EAEAkhB,eAAe;IACb,IAAI,CAACZ,WAAW,CAACY,eAAe,EAAE;EACpC;;SA/IW9pB,cAAc;;mBAAdA,MAAc;AAAA;;QAAdA,MAAc;EAAA6C;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCV3BC,4DAAAA,aAAuB;MACrBA,wDAAAA,0FAAqE;MAErEA,4DAAAA,cAAsD;MAAxBA,wDAAAA;QAAA,OAAY6F,cAAU;MAAA,EAAC;MACnD7F,4DAAAA,aAAyB;MACKA,wDAAAA;QAAA,OAAS6F,oBAAgB;MAAA,EAAC;MACpD7F,oDAAAA,iBAAS;MAAAA,0DAAAA,EAAK;MAElBA,4DAAAA,aAAkB;MAEdA,uDAAAA,aAA+D;MACjEA,0DAAAA,EAAM;MACRA,4DAAAA,aAAkB;MAEIA,oDAAAA,cAAM;MAAAA,0DAAAA,EAAK;MAE/BA,4DAAAA,eAAyB;MAGnBA,uDAAAA,eAA4D;MAC9DA,0DAAAA,EAAM;MACNA,4DAAAA,eAAoB;MACsCA,wDAAAA;QAAA,OAAS6F,qBAAiB;MAAA,EAAC;MAAnF7F,0DAAAA,EAAsF;MAQ5FA,4DAAAA,eAAmB;MAGbA,wDAAAA;QAAA,OAAS6F,gBAAY;MAAA,EAAC;MADxB7F,0DAAAA,EAC2B;MAC3BA,wDAAAA,uDACW;MACbA,0DAAAA,EAAM;MAENA,4DAAAA,eAAmE;MAE3CA,wDAAAA;QAAA,OAAS6F,mBAAe;MAAA,EAAC;MAD/C7F,0DAAAA,EACkD;MAClDA,wDAAAA,uDACW;MACbA,0DAAAA,EAAM;MACNA,4DAAAA,eAAyB;MAErBA,uDAAAA,iBAAiE;MAEjEA,4DAAAA,cAA+B;MAAAA,oDAAAA,qBAAa;MAAAA,0DAAAA,EAAK;MACjDA,4DAAAA,cAAsD;MAA9BA,wDAAAA;QAAA,OAAS6F,uBAAmB;MAAA,EAAC;MAAC7F,oDAAAA,qBAAa;MAAAA,0DAAAA,EAAK;MAI9EA,4DAAAA,eAAoB;MAIdA,oDAAAA,4BAAmB;MAAAA,0DAAAA,EAAS;MAGlCA,4DAAAA,eAAyD;MAApDA,wDAAAA;QAAA,OAAS6F,4BAAwB;MAAA,EAAC;MACvC7F,4DAAAA,eAAuB;MAGjBA,oDAAAA,wBAAe;MAAAA,0DAAAA,EAAS;MAM9BA,4DAAAA,eAAyB;MACCA,wDAAAA;QAAA,OAAS6F,oBAAgB;MAAA,EAAC;MAChD7F,oDAAAA,kBAAS;MAAAA,0DAAAA,EAAK;;;MAvEIA,uDAAAA,GAAe;MAAfA,wDAAAA,uBAAe;MAEnCA,uDAAAA,GAAuB;MAAvBA,wDAAAA,4BAAuB;MA4BIA,uDAAAA,IAAoC;MAApCA,yDAAAA,mCAAoC;MAGtDA,uDAAAA,GAAoB;MAApBA,wDAAAA,4BAAoB;MAIFA,uDAAAA,GAAuC;MAAvCA,yDAAAA,sCAAuC;MAGzDA,uDAAAA,GAAuB;MAAvBA,wDAAAA,+BAAuB;;;;;;;;;;;;;;;;;;;;;;;;ACxChB;;AAOlB,MAAO1B,aAAa;EAIxBuF,QAAQ;IACN,IAAI,CAACoc,IAAI,GAAGH,kDAAK,CAAC,MAAM,EAAE;MACxBI,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;MAC5BC,IAAI,EAAE,EAAE;MACRC,SAAS,EAAEN,2DAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3D,CAAC;;IAEFA,wDAAW,CAAC,kEAAkE,EAAE;MAC9ES,WAAW,EAAE,sJAAsJ;MACnKE,OAAO,EAAE;KACV,CAAC,CAACC,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAGnB,IAAI,CAACA,IAAI,CAAC6G,eAAe,CAACC,OAAO,EAAE;IAEnC,IAAI,CAAC9G,IAAI,CAAC+G,EAAE,CAAC,SAAS,EAAE,MAAK;MAC3B,IAAI,IAAI,CAAC/G,IAAI,CAACgH,OAAO,EAAE,GAAG,EAAE,EAAE;QAC5B,IAAI,CAAChH,IAAI,CAACiH,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;;IAE3B,CAAC,CAAC;IAEF;IACA,MAAMvG,QAAQ,GAAGb,qDAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAACY,KAAK,CAAC,IAAI,CAACT,IAAI,CAAC;IAChEU,QAAQ,CAACE,SAAS,CAAC,cAAc,CAAC,CAACC,SAAS,EAAE;IAG9C;IACA,MAAMqG,YAAY,GAAG3e,QAAQ,CAAC4e,aAAa,CAAC,QAAQ,CAAC;IACrDD,YAAY,CAACvU,SAAS,GAAG,sBAAsB;IAC/CuU,YAAY,CAACE,gBAAgB,CAAC,OAAO,EAAE,MAAK;MAG1C,IAAI,CAACpH,IAAI,CAACqH,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC;IAIF;IACA9e,QAAQ,CAACkD,IAAI,CAAC6b,WAAW,CAACJ,YAAY,CAAC;EACzC;EAMFK,WAAW;IACT,IAAI,CAACvH,IAAI,CAACwH,cAAc,EAAE;EAC5B;;SAnDanpB,aAAa;;mBAAbA,MAAa;AAAA;;QAAbA,MAAa;EAAAsB;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCR1BC,uDAAAA,aAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACaf,MAAOqC,iBAAiB;EAO5BjD,YACU+D,MAAc,EACdyb,QAAkB,EAClBpc,IAAgB,EAChBoI,YAA0B,EAC1BuS,UAAsB,EACtBpS,WAAwB;IALxB,WAAM,GAAN5H,MAAM;IACN,aAAQ,GAARyb,QAAQ;IACR,SAAI,GAAJpc,IAAI;IACJ,iBAAY,GAAZoI,YAAY;IACZ,eAAU,GAAVuS,UAAU;IACV,gBAAW,GAAXpS,WAAW;IAEnB,IAAI,CAAC2c,QAAQ,GAAG,IAAI,CAAC9I,QAAQ,CAACngB,IAAI,EAAE;EACtC;EAEAkpB,cAAc,CAACC,IAAY,GAE3B;EAEAzd,eAAe;IACb,IAAI,CAAChH,MAAM,CAACY,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;EAClC;EAEA8Z,UAAU,CAACO,IAAY;IACrB,IAAI,CAACjb,MAAM,CAACY,QAAQ,CAAC,CAAC,eAAe,EAAEqa,IAAI,CAAC,CAAC;EAC/C;EAEAN,WAAW;IACT,IAAI,CAAC3a,MAAM,CAACY,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;EAC1C;EAEAga,aAAa;IACX,IAAI,CAAC5a,MAAM,CAACY,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC;EAC5C;EAEAia,cAAc;IACZ,IAAI,CAAC7a,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EACAka,YAAY;IACV,IAAI,CAAC9a,MAAM,CAACY,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;EAC3C;EAEAma,cAAc;IACZ,IAAI,CAAC/a,MAAM,CAACY,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;EAC3C;EAEAoa,cAAc,CAACC,IAAY;IACzB,IAAI,CAACjb,MAAM,CAACY,QAAQ,CAAC,CAAC,cAAc,EAAEqa,IAAI,CAAC,CAAC;EAC9C;EAGAC,cAAc;IACZ,IAAI,CAAClb,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EAEA8jB,gBAAgB;IACd,IAAI,CAAC1kB,MAAM,CAACY,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC;EAC9C;EAEAqM,MAAM;IACJ7K,OAAO,CAAC0B,GAAG,CAAC,QAAQ,CAAC;IACrB,MAAMhC,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAC7C;IACA,IAAIpC,KAAK,EAAE;MACLuD,QAAQ,CAAC8V,MAAM,GAAG,wDAAwD;MAC1ElX,cAAc,CAACmX,UAAU,CAAC,OAAO,CAAC;MAClC,IAAI,CAACI,QAAQ,GAAG,IAAI;MACpB1U,MAAM,CAAC2U,QAAQ,CAACC,MAAM,EAAE,CAAC,CAAC;;EAGlC;;SAzEWxc,iBAAiB;;mBAAjBA,MAAiB;AAAA;;QAAjBA,MAAiB;EAAAzC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCb9BC,4DAAAA,aAAkB;MAEsGA,wDAAAA;QAAA,OAAS6F,iBAAa;MAAA,EAAC;MAAkB7F,oDAAAA,kBAAM;MAAAA,0DAAAA,EAAM;MACxKA,4DAAAA,aAAyH;MAA/CA,wDAAAA;QAAA,OAAS6F,eAAW,OAAO,CAAC;MAAA,EAAC;MAAkB7F,oDAAAA,eAAQ;MAAAA,0DAAAA,EAAM;MACvIA,4DAAAA,aAA+H;MAA3CA,wDAAAA;QAAA,OAAS6F,mBAAe;MAAA,EAAC;MAAkB7F,oDAAAA,cAAO;MAAAA,0DAAAA,EAAM;MAC5IA,4DAAAA,aAAgJ;MAAvDA,wDAAAA;QAAA,OAAS6F,eAAW,eAAe,CAAC;MAAA,EAAC;MAAkB7F,oDAAAA,cAAO;MAAAA,0DAAAA,EAAM;MAC7JA,4DAAAA,cAA+G;MAA5CA,wDAAAA;QAAA,OAAS6F,oBAAgB;MAAA,EAAC;MAAkB7F,oDAAAA,gBAAQ;MAAAA,0DAAAA,EAAM;MAC7HA,4DAAAA,cAA2G;MAA1CA,wDAAAA;QAAA,OAAS6F,kBAAc;MAAA,EAAC;MAAkB7F,oDAAAA,cAAM;MAAAA,0DAAAA,EAAM;MACvHA,4DAAAA,cAAkH;MAA9CA,wDAAAA;QAAA,OAAS6F,sBAAkB;MAAA,EAAC;MAAkB7F,oDAAAA,mBAAW;MAAAA,0DAAAA,EAAM;MACnIA,4DAAAA,cAA8G;MAA5CA,wDAAAA;QAAA,OAAS6F,oBAAgB;MAAA,EAAC;MAAkB7F,oDAAAA,kBAAU;MAAAA,0DAAAA,EAAM;MAC9HA,4DAAAA,cAA4F;MAApCA,wDAAAA;QAAA,OAAS6F,YAAQ;MAAA,EAAC;MAAkB7F,oDAAAA,YAAI;MAAAA,0DAAAA,EAAM;;;MARjFA,uDAAAA,GAA6F;MAA7FA,wDAAAA,YAAAA,6DAAAA,qFAA6F;MAC9FA,uDAAAA,GAAqD;MAArDA,wDAAAA,YAAAA,6DAAAA,wCAAqD;MAClDA,uDAAAA,GAA4D;MAA5DA,wDAAAA,YAAAA,6DAAAA,+CAA4D;MAC5DA,uDAAAA,GAAiE;MAAjEA,wDAAAA,YAAAA,6DAAAA,oDAAiE;MACnFA,uDAAAA,GAA6D;MAA7DA,wDAAAA,YAAAA,6DAAAA,gDAA6D;MAC7DA,uDAAAA,GAA2D;MAA3DA,wDAAAA,YAAAA,6DAAAA,8CAA2D;MAC3DA,uDAAAA,GAA8D;MAA9DA,wDAAAA,YAAAA,6DAAAA,iDAA8D;MAC9DA,uDAAAA,GAA4D;MAA5DA,wDAAAA,YAAAA,6DAAAA,+CAA4D;MAC5DA,uDAAAA,GAAkD;MAAlDA,wDAAAA,YAAAA,6DAAAA,qCAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVuB;;;;;;;;;ICmB7EA,4DAAAA,cAAmD;IAAAA,oDAAAA,2BAAoB;IAAAA,0DAAAA,EAAM;;;;;IAC7EA,4DAAAA,cAAoD;IAAAA,oDAAAA,yBAAkB;IAAAA,0DAAAA,EAAM;;;;;;IApBlFA,4DAAAA,aAAyE;IAGZA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,qBAAa;IAAA,EAAC;IAA9EA,0DAAAA,EAA+E;IAC/EA,uDAAAA,aAEuB;IACzBA,0DAAAA,EAAM;IACNA,4DAAAA,aAA2B;IACMA,oDAAAA,GAAwC;IAAAA,0DAAAA,EAAK;IAC5EA,4DAAAA,YAAuB;IAACA,oDAAAA,GAAkD;IAAAA,0DAAAA,EAAK;IAC/EA,4DAAAA,YAAyB;IACSA,oDAAAA,IAAc;IAAAA,0DAAAA,EAAO;IAAAA,oDAAAA,IAAmE;IAAAA,uDAAAA,UAAI;IAC5HA,4DAAAA,eAAgC;IAAAA,oDAAAA,IAAiB;IAAAA,0DAAAA,EAAO;IAAAA,oDAAAA,IAAmD;IAAAA,uDAAAA,UAAI;IAC/GA,4DAAAA,eAAgC;IAAAA,oDAAAA,IAAe;IAAAA,0DAAAA,EAAO;IAAAA,oDAAAA,IAAmC;IAAAA,uDAAAA,UAAI;IAC/FA,0DAAAA,EAAI;IAGNA,4DAAAA,eAA+C;IAArBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,kBAAU;IAAA,EAAC;IAC5CA,wDAAAA,6EAA6E;IAC7EA,wDAAAA,6EAA4E;IAE5EA,uDAAAA,kBACS;IACXA,0DAAAA,EAAM;;;;;;;;;IAxBqCA,wDAAAA,iCAAyB;IAKhEA,uDAAAA,GAAyK;IAAzKA,wDAAAA,mMAAAA,2DAAAA,CAAyK;IAI5IA,uDAAAA,GAAwC;IAAxCA,gEAAAA,wFAAwC;IAC/CA,uDAAAA,GAAkD;IAAlDA,gEAAAA,iGAAkD;IAExCA,uDAAAA,GAAc;IAAdA,+DAAAA,UAAc;IAAOA,uDAAAA,GAAmE;IAAnEA,+DAAAA,kHAAmE;IACxFA,uDAAAA,GAAiB;IAAjBA,+DAAAA,kBAAiB;IAAOA,uDAAAA,GAAmD;IAAnDA,gEAAAA,mGAAmD;IAC3EA,uDAAAA,GAAe;IAAfA,+DAAAA,WAAe;IAAOA,uDAAAA,GAAmC;IAAnCA,+DAAAA,0EAAmC;IAKrFA,uDAAAA,GAAuB;IAAvBA,wDAAAA,kCAAuB;IACvBA,uDAAAA,GAAwB;IAAxBA,wDAAAA,mCAAwB;;;ADG9B,MAAOqB,gCAAgC;EAqB3CjC,YAAoBiL,WAAwB,EAAUS,iBAAqC,EAAU3H,MAAc,EACzGuH,QAAkB,EAClBod,KAAmB;IAFT,gBAAW,GAAXzd,WAAW;IAAuB,sBAAiB,GAAjBS,iBAAiB;IAA8B,WAAM,GAAN3H,MAAM;IACjG,aAAQ,GAARuH,QAAQ;IACR,UAAK,GAALod,KAAK;IArBf,gBAAW,GAAkB,IAAI;IAIxB,YAAO,GAAgB,EAAE;IACzB,cAAS,GAAY,KAAK;IAC1B,sBAAiB,GAAY,KAAK;IAClC,kBAAa,GAAW,GAAG;IAE1B,eAAU,GAAuB,IAAInf,uDAAY,EAAQ;IACzD,yBAAoB,GAAuB,IAAIA,uDAAY,EAAQ;IAC7E,kBAAa,GAAG,uCAAuC;IAKvD,4BAAuB,GAAG,KAAK,CAAC,CAAC;IAM/B,IAAI,CAACof,YAAY,GAAG,IAAI,CAAC1d,WAAW,CAAC2d,YAAY,CAAC7iB,SAAS,CACxDL,EAAiB,IAAI;MACpB,IAAI,CAACmjB,WAAW,GAAGnjB,EAAE,CAAC,CAAC;MACvB,IAAI,CAACkf,SAAS,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC,CACF;EAEH;;EAjBAjC,aAAa,CAACC,OAAe;IAC3B,MAAMC,eAAe,GAAG,IAAI,CAACC,aAAa,GAAGF,OAAO;EACtD;EAiBAwF,WAAW;IACT,IAAI,CAACO,YAAY,CAACG,WAAW,EAAE,CAAC,CAAC;EACnC;;EAEAC,oBAAoB;IAClB,IAAI,IAAI,CAACF,WAAW,KAAK,IAAI,EAAE;MAC7B,OAAO,IAAI,CAAC7F,OAAO,CAACtV,IAAI,CAACyW,MAAM,IAAIA,MAAM,CAAC6E,YAAY,KAAK,IAAI,CAACH,WAAW,CAAC,IAAI,IAAI;;IAEtF,OAAO,IAAI;EACb;EAEAI,WAAW;IACT,IAAI,CAACrE,SAAS,GAAG,KAAK;IACtB,IAAI,CAACiE,WAAW,GAAG,IAAI;IACvB,IAAI,CAAC5d,WAAW,CAAC6Z,UAAU,EAAE;EAC/B;EAEAoE,cAAc;IACZ,MAAMnb,OAAO,GAAGtF,QAAQ,CAACT,cAAc,CAACC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;IAG9D,IAAI,CAACygB,KAAK,CAACQ,cAAc,CAAC,IAAI,CAACL,WAAW,EAAE9a,OAAO,CAAC,CACjDhI,SAAS,CACRC,QAAQ,IAAG;MACTC,KAAK,CAACD,QAAQ,CAAC;MACf;MACA,IAAI,CAAC4e,SAAS,GAAG,KAAK;MACtB,IAAI,CAACiE,WAAW,GAAG,IAAI;IACzB,CAAC,EACD3iB,KAAK,IAAG;MACNC,OAAO,CAACD,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;MAC3C;MACA,IAAI,CAAC0e,SAAS,GAAG,KAAK;MACtB,IAAI,CAACiE,WAAW,GAAG,IAAI;IACzB,CAAC,CACF;EAEL;EAEAM,uBAAuB;IACrB,IAAI,CAACzd,iBAAiB,CAAC0d,kBAAkB,CAACphB,cAAc,CAACC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC4gB,WAAW,CAAC,CAC1F9iB,SAAS,CACRC,QAAQ,IAAG;MACTC,KAAK,CAACD,QAAQ,CAACI,OAAO,CAAC;MACvB;MACA,IAAI,CAACwe,SAAS,GAAG,KAAK;MACtB,IAAI,CAACiE,WAAW,GAAG,IAAI;MACvB,IAAI,CAACQ,oBAAoB,CAACC,IAAI,EAAE;IAElC,CAAC,EACDpjB,KAAK,IAAG;MACN;MACA,IAAIA,KAAK,CAACA,KAAK,CAACE,OAAO,IAAI,6CAA6C,EAAE;QACxEH,KAAK,CAACC,KAAK,CAACA,KAAK,CAACE,OAAO,CAAC;;MAE5B;MACA,IAAI,CAACwe,SAAS,GAAG,KAAK;MACtB,IAAI,CAACiE,WAAW,GAAG,IAAI;MACvB,IAAI3iB,KAAK,CAACA,KAAK,CAACE,OAAO,EAAE;QACvBH,KAAK,CAAC,mEAAmE,CAAC;QAC1E,IAAI,CAAClC,MAAM,CAACY,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;;IAE5C,CAAC,CACF;EACL;EACAQ,QAAQ;IACN,IAAI,CAAC,IAAI,CAACokB,iBAAiB,EAAE;MAC3B,IAAI,CAACJ,uBAAuB,EAAE;KAC/B,MAAM;MACL;MACA,IAAI,CAACplB,MAAM,CAACY,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC;;EAGhD;EAGA0e,gBAAgB,CAACC,QAAgB;IAC/B,MAAMC,WAAW,GAAG,IAAI1c,IAAI,CAACyc,QAAQ,CAAC;IACtC,OAAO,IAAI,CAAChY,QAAQ,CAACkY,SAAS,CAACD,WAAW,EAAE,kBAAkB,CAAC;EACjE;;SAhHWthB,gCAAgC;;mBAAhCA,MAAgC;AAAA;;QAAhCA,MAAgC;EAAAzB;EAAAgpB;IAAAxG;IAAA4B;IAAA2E;IAAAE;EAAA;EAAAlf;IAAAsa;IAAAwE;EAAA;EAAA5oB;EAAAC;EAAA8F;EAAA7F;IAAA;MCvB7CC,wDAAAA,sEAAyE;;;MAAnEA,wDAAAA,uBAAe;;;;;;;;;;;;;;;;;;;;;;;;ACAkD;;;;;;;ICAvEA,4DAAAA,aAAoD;IAG5CA,oDAAAA,GACA;IAAAA,4DAAAA,aAA+E;IAAxBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,qBAAa;IAAA,EAAC;IAA9EA,0DAAAA,EAA+E;IAEjFA,4DAAAA,aAAiC;IAG5BA,oDAAAA,GAGH;IAAAA,0DAAAA,EAAM;;;;;;;IAXgBA,uDAAAA,GAA8C;IAA9CA,wDAAAA,iGAA8C;IAEpEA,uDAAAA,GACA;IADAA,gEAAAA,8EACA;IAKGA,uDAAAA,GAGH;IAHGA,gEAAAA,0FAGH;;;ADDF,MAAOoC,mBAAmB;EAO9BhD,YACUiL,WAAwB;IAAxB,gBAAW,GAAXA,WAAW;IALZ,mBAAc,GAAY,KAAK;IAE9B,eAAU,GAAuB,IAAI1B,uDAAY,EAAQ;EAG5B;EAEvC0f,WAAW;IACR,IAAI,CAACpE,UAAU,CAACyE,IAAI,EAAE;IACvB,IAAI,CAACre,WAAW,CAAC6Z,UAAU,EAAE;IAC7B,IAAI,CAAC4E,cAAc,GAAG,KAAK;EAC7B;EAEAC,QAAQ,CAACC,gBAAwB;IAC/B,QAAQA,gBAAgB;MACtB,KAAK,kBAAkB;QACrB,OAAO;UAAEC,UAAU,EAAE;QAAS,CAAE;MAClC,KAAK,QAAQ;QACX,OAAO;UAAEA,UAAU,EAAE;QAAS,CAAE;MAClC,KAAK,eAAe;QAClB,OAAO;UAAEA,UAAU,EAAE;QAAS,CAAE;MAClC,KAAK,SAAS;QACZ,OAAO;UAAEA,UAAU,EAAE;QAAS,CAAE;MAClC;QACE,OAAO,EAAE;MAAE;IAAA;EAEjB;;EAGAC,aAAa;IACX,OAAO,IAAI,CAACC,UAAU;EACxB;;SAlCW/mB,mBAAmB;;mBAAnBA,MAAmB;AAAA;;QAAnBA,MAAmB;EAAAxC;EAAAgpB;IAAAE;IAAAK;EAAA;EAAAxf;IAAAsa;EAAA;EAAApkB;EAAAC;EAAA8F;EAAA7F;IAAA;MCXhCC,wDAAAA,uDAiBQ;;;MAjBFA,wDAAAA,4BAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;ACA6C;AAGzB;;;;;;;;ICKtCA,qEAAAA,GAA4E;IAC1EA,uDAAAA,aAAiC;IAEjCA,4DAAAA,aAAQ;IAAAA,oDAAAA,2BAAU;IAAAA,0DAAAA,EAAS;IAACA,oDAAAA,GAAyC;IAAAA,uDAAAA,SAAI;IACzEA,4DAAAA,aAAQ;IAAAA,oDAAAA,YAAK;IAAAA,0DAAAA,EAAS;IAACA,oDAAAA,GAAqC;IAAAA,4DAAAA,WAA4G;IAAzGA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,0DAA+C;IAAA,EAAC;IAAgDA,0DAAAA,EAAI;IAC5KA,uDAAAA,UAAI;IAGNA,mEAAAA,EAAe;;;;IALeA,uDAAAA,GAAyC;IAAzCA,gEAAAA,iDAAyC;IAC9CA,uDAAAA,GAAqC;IAArCA,gEAAAA,4CAAqC;;;;;;IAZtEA,4DAAAA,aAAyE;IAGnEA,oDAAAA,0CACA;IAAAA,4DAAAA,aAA+E;IAAxBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,qBAAa;IAAA,EAAC;IAA9EA,0DAAAA,EAA+E;IAEjFA,4DAAAA,aAAiC;IAE7BA,wDAAAA,uFAQe;IACjBA,0DAAAA,EAAM;;;;IAjBmCA,wDAAAA,iCAAyB;IAQzBA,uDAAAA,GAAsB;IAAtBA,wDAAAA,qCAAsB;;;ADU/D,MAAO6B,0BAA0B;EAOrCzC,YACUiqB,mBAAwC,EACxClmB,MAAa;IADb,wBAAmB,GAAnBkmB,mBAAmB;IACnB,WAAM,GAANlmB,MAAM;IAPP,cAAS,GAAY,IAAI;IAGxB,eAAU,GAAuB,IAAIwF,uDAAY,EAAQ;EAIzC;EAE1B0f,WAAW;IACT;IACA,MAAMiB,WAAW,GAAG,IAAI,CAACC,iBAAiB,CAACvZ,GAAG,CAAEwZ,YAAY,IAC1D,IAAI,CAACH,mBAAmB,CAACI,kBAAkB,CAACD,YAAY,CAAC1kB,EAAE,EAAE;MAAE4kB,IAAI,EAAE;IAAC,CAAE,CAAC,CAC1E;IAED,IAAIzf,MAAM,CAAC0f,OAAO,CAAC,0CAA0C,CAAC,EAAE;MAC9DP,8CAAQ,CAACE,WAAW,CAAC,CAACnkB,SAAS,CAC5BykB,SAAS,IAAI;QACZrkB,OAAO,CAAC0B,GAAG,CAAC,2BAA2B,EAAE2iB,SAAS,CAAC;QACnD,IAAI,CAAC3F,UAAU,CAACyE,IAAI,EAAE;QACtB9J,QAAQ,CAACC,MAAM,EAAE;MAEnB,CAAC,EACAvZ,KAAK,IAAI;QACRC,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;MACzD,CAAC,CACF;KACF,MAAM;MACL,IAAI,CAAC2e,UAAU,CAACyE,IAAI,EAAE;MACtB;MACA;;EAGJ;;EAEAmB,gBAAgB,CAACC,UAAiB;IAEhCA,UAAU,GAAC,iBAAiB;IAE5B,IAAI,CAAC3mB,MAAM,CAACY,QAAQ,CAAC,CAAC,IAAI+lB,UAAU,EAAE,CAAC,CAAC;EAC1C;EAEAC,oBAAoB;IAClB,IAAI,CAACR,iBAAiB,GAAG,IAAI,CAACA,iBAAiB;IAC/C,OAAO,IAAI,CAACA,iBAAiB;EAC/B;;SA/CW1nB,0BAA0B;;mBAA1BA,MAA0B;AAAA;;QAA1BA,MAA0B;EAAAjC;EAAAgpB;IAAA5E;IAAAuF;EAAA;EAAA5f;IAAAsa;EAAA;EAAApkB;EAAAC;EAAA8F;EAAA7F;IAAA;MClBvCC,wDAAAA,8DAsBM;;;MAtBAA,wDAAAA,uBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;ACAsF;;;;;;;;;ICA3GA,uDAAAA,8BAAsE;;;;;;IAQ9DA,4DAAAA,UAAK;IACEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,8BAAsB;IAAA,EAAC;IAArCA,0DAAAA,EAAwF;IAE1FA,uDAAAA,cAA0D;;;;IAAhCA,uDAAAA,GAAkB;IAAlBA,wDAAAA,uBAAAA,2DAAAA,CAAkB;;;;;IAJ9CA,wDAAAA,mFAQc;;;;;;IAdpBA,4DAAAA,aAA6C;IAEpCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,+BAAsB;IAAA,EAAC;IAArCA,0DAAAA,EAA4F;IAE9FA,4DAAAA,aAA4B;IAExBA,wDAAAA,4DAQc;IAChBA,0DAAAA,EAAe;;;;IAV8BA,uDAAAA,GAAkB;IAAlBA,wDAAAA,mBAAkB;IACpBA,uDAAAA,GAA+C;IAA/CA,wDAAAA,qEAA+C;;;ADKxF,MAAOpC,uBAAuB;EAYlCwB,YACU+D,MAAc,EACdga,UAAsB,EACtB7Z,KAAqB;IAFrB,WAAM,GAANH,MAAM;IACN,eAAU,GAAVga,UAAU;IACV,UAAK,GAAL7Z,KAAK;IAdf,iBAAY,GAAW,CAAC;IACxB,oBAAe,GAA+B,EAAE;IAChD,cAAS,GAAY,KAAK,CAAC,CAAC;IACnB,mBAAc,GAAkB,IAAI;IACnC,eAAU,GAAuB,IAAIqF,uDAAY,EAAQ;IAE3D,mBAAc,GAAuB,IAAI;IAgCjD,+BAA0B,GAA0D;MAClF,CAAC,EAAE,CACD;QAAE0F,GAAG,EAAE,iEAAiE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACvF;QAAE3b,GAAG,EAAE,iEAAiE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACvF;QAAE3b,GAAG,EAAE,iEAAiE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACvF;QAAE3b,GAAG,EAAE,iEAAiE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACvF;QAAE3b,GAAG,EAAE,iEAAiE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACvF;QAAE3b,GAAG,EAAE,iEAAiE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACvF;QAAE3b,GAAG,EAAE,iEAAiE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACvF;QAAE3b,GAAG,EAAE,iEAAiE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACvF;QAAE3b,GAAG,EAAE,iEAAiE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACvF;QAAE3b,GAAG,EAAE,kEAAkE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACxF;QAAE3b,GAAG,EAAE,kEAAkE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACxF;QAAE3b,GAAG,EAAE,kEAAkE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACxF;QAAE3b,GAAG,EAAE,kEAAkE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACxF;QAAE3b,GAAG,EAAE,kEAAkE;QAAE2b,OAAO,EAAE;MAAE,CAAE,EACxF;QAAE3b,GAAG,EAAE,kEAAkE;QAAE2b,OAAO,EAAE;MAAE,CAAE,CACzF;MACD,CAAC,EAAE,CACD;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAChF;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAChF;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAChF;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAChF;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAChF;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAChF;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAChF;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAChF;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE,CACjF;MACD,CAAC,EAAE,CACD;QAAE3b,GAAG,EAAE,yDAAyD;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAC/E;QAAE3b,GAAG,EAAE,yDAAyD;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAC/E;QAAE3b,GAAG,EAAE,yDAAyD;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAC/E;QAAE3b,GAAG,EAAE,yDAAyD;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAC/E;QAAE3b,GAAG,EAAE,yDAAyD;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAC/E;QAAE3b,GAAG,EAAE,yDAAyD;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAC/E;QAAE3b,GAAG,EAAE,yDAAyD;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAC/E;QAAE3b,GAAG,EAAE,yDAAyD;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAC/E;QAAE3b,GAAG,EAAE,yDAAyD;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAC/E;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAChF;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE,EAChF;QAAE3b,GAAG,EAAE,0DAA0D;QAAE2b,OAAO,EAAE;MAAE,CAAE;KAEnF;EAjEG;EAEJnmB,QAAQ;IACN;IACA,IAAI,CAACP,KAAK,CAAC0B,QAAQ,CAACG,SAAS,CAACiG,MAAM,IAAG;MACrC,MAAMma,MAAM,GAAG,CAACna,MAAM,CAAC/G,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;MACtC;MACA,IAAI,CAACygB,cAAc,GAAGS,MAAM;MAE5B;MACA,IAAI,CAAC0E,0BAA0B,CAAC,IAAI,CAACnF,cAAc,CAAC,CAAC7W,OAAO,CAAEic,MAAM,IAAI;QACtE,IAAI,CAACC,eAAe,CAACD,MAAM,CAAC7b,GAAG,CAAC,GAAG,KAAK;MAC1C,CAAC,CAAC;MAEF;MACA,IAAI,CAAC4b,0BAA0B,CAAC,IAAI,CAACnF,cAAc,CAAC,CAAC7W,OAAO,CAAEic,MAAM,IAAI;QACtE,MAAME,YAAY,GAAG,IAAIC,KAAK,EAAE;QAChCD,YAAY,CAAChT,MAAM,GAAG,MAAM,IAAI,CAACkT,WAAW,CAACJ,MAAM,CAAC;QACpDE,YAAY,CAAC/b,GAAG,GAAG6b,MAAM,CAAC7b,GAAG;MAC/B,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EA+CAkc,qBAAqB,CAAClhB,KAAiB;IACrC,IAAI,CAACib,cAAc,GAAGjb,KAAK,CAAC4H,MAAqB;EACnD;EACAuZ,oBAAoB;IAClB;IACA,IAAI,CAACrnB,MAAM,CAACsnB,aAAa,CAAC,OAAO,CAAC;IAClC;IACA1W,UAAU,CAAC,MAAK;MACd,IAAI,CAACE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;IACjC,CAAC,EAAE,GAAG,CAAC;EACT;EAEAA,WAAW,CAACC,KAAa;IACvB,MAAMC,SAAS,GAAG3L,QAAQ,CAACC,cAAc,CAACyL,KAAK,CAAC;IAChD,IAAIC,SAAS,EAAE;MACbA,SAAS,CAACC,cAAc,CAAC;QAAEC,QAAQ,EAAE;MAAQ,CAAE,CAAC,CAAC,CAAC;;EAEtD;;EAGAqW,eAAe,CAACrhB,KAAiB;IAC/B,MAAM+a,YAAY,GAAG,IAAI,CAACjH,UAAU,CAACS,aAAa,CAAC7M,aAAa,CAAC,eAAe,CAAC;IACjF,MAAMuT,cAAc,GAAGjb,KAAK,CAAC4H,MAAqB;IAElD;IACA,IAAImT,YAAY,IAAI,CAACA,YAAY,CAAClO,QAAQ,CAACoO,cAAc,CAAC,EAAE;MAC1D,IAAI,CAACkG,oBAAoB,EAAE;;EAE/B;EAIAG,YAAY,CAACthB,KAAiB;IAC5B;IACA,MAAMuhB,WAAW,GAAGvhB,KAAK,CAACwhB,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO;IAC5C,IAAI,CAAC3N,UAAU,CAACS,aAAa,CAACjS,YAAY,CAAC,mBAAmB,EAAEif,WAAW,CAAC7c,QAAQ,EAAE,CAAC;EACzF;EAGAgd,UAAU,CAAC1hB,KAAiB;IAC1B;IACA,MAAM2hB,SAAS,GAAG3hB,KAAK,CAAC4hB,cAAc,CAAC,CAAC,CAAC,CAACH,OAAO;IACjD,MAAMF,WAAW,GAAGM,UAAU,CAAC,IAAI,CAAC/N,UAAU,CAACS,aAAa,CAACuN,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAE/F,IAAIP,WAAW,GAAGI,SAAS,EAAE;MAC3B,IAAI,CAACI,WAAW,CAAC,OAAO,CAAC;KAC1B,MAAM,IAAIR,WAAW,GAAGI,SAAS,EAAE;MAClC,IAAI,CAACI,WAAW,CAAC,MAAM,CAAC;;EAE5B;EAGAC,WAAW,CAAChiB,KAAiB;IAC3B;IACA,IAAI,CAAC8T,UAAU,CAACS,aAAa,CAACjS,YAAY,CAAC,mBAAmB,EAAEtC,KAAK,CAACyhB,OAAO,CAAC/c,QAAQ,EAAE,CAAC;EAC3F;EAGAud,SAAS,CAACjiB,KAAiB;IACzB,MAAMkiB,SAAS,GAAGliB,KAAK,CAACyhB,OAAO;IAC/B,MAAMU,WAAW,GAAGN,UAAU,CAAC,IAAI,CAAC/N,UAAU,CAACS,aAAa,CAACuN,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAE/F,IAAIK,WAAW,GAAGD,SAAS,EAAE;MAC3B,IAAI,CAACH,WAAW,CAAC,OAAO,CAAC;KAC1B,MAAM,IAAII,WAAW,GAAGD,SAAS,EAAE;MAClC,IAAI,CAACH,WAAW,CAAC,MAAM,CAAC;;EAE5B;EAEAA,WAAW,CAACK,SAAiB;IAC3B;IACA,IAAIA,SAAS,KAAK,MAAM,EAAE;MACxB,IAAI,CAACC,QAAQ,CAACC,IAAI,EAAE,CAAC,CAAC;KACvB,MAAM,IAAIF,SAAS,KAAK,OAAO,EAAE;MAChC,IAAI,CAACC,QAAQ,CAACE,IAAI,EAAE,CAAC,CAAC;;EAE1B;;EAEAtB,WAAW,CAACJ,MAAM;IAChB;IACA,IAAI,CAACC,eAAe,CAACD,MAAM,CAAC7b,GAAG,CAAC,GAAG,IAAI;IACvC,IAAI,CAACwd,YAAY,EAAE;IAEnB;IACA,IAAI,IAAI,CAACA,YAAY,IAAI,IAAI,CAAC5B,0BAA0B,CAAC,IAAI,CAACnF,cAAc,CAAC,CAACngB,MAAM,EAAE;MACpF,IAAI,CAACE,SAAS,GAAG,IAAI;;EAEzB;;SA5KWjH,uBAAuB;;mBAAvBA,MAAuB;AAAA;;QAAvBA,MAAuB;EAAAgC;EAAAob;IAAA;;;;;;;;;;;eAAvBnV,2BAAuB;MAAA;QAAA,OAAvBA,wBAAoB;MAAA;QAAA,OAApBA,sBAAkB;MAAA;QAAA,OAAlBA,uBAAmB;MAAA;QAAA,OAAnBA,qBAAiB;MAAA;;;;;;;;;;;;;;MCZ9B7F,wDAAAA,mGAAsE;MACtEA,wDAAAA,2DAA6C;;;MADnBA,wDAAAA,wBAAgB;MACdA,uDAAAA,GAAe;MAAfA,wDAAAA,uBAAe;;;;;;;;;;;;;;;;;;;;;;;ACDwC;;;;;ICAnFA,4DAAAA,aAA+C;IAGlBA,oDAAAA,GAAsC;IAAAA,0DAAAA,EAAK;IAEpEA,4DAAAA,aAAwB;IACIA,oDAAAA,GAAwC;IAAAA,0DAAAA,EAAK;IAEzEA,uDAAAA,aAEM;IACRA,0DAAAA,EAAM;;;;IARqBA,uDAAAA,GAAsC;IAAtCA,+DAAAA,gDAAsC;IAGnCA,uDAAAA,GAAwC;IAAxCA,gEAAAA,0DAAwC;;;ADGlE,MAAOmB,gCAAgC;EAL7C/B;IAMW,cAAS,GAAY,KAAK;IAC1B,mBAAc,GAAkB,IAAI;IACnC,eAAU,GAAuB,IAAIuJ,uDAAY,EAAQ;IAEjE;IACA,qBAAgB,GAA8B;MAC5C,CAAC,EAAE,sBAAsB;MACzB,CAAC,EAAE,mBAAmB;MACtB,CAAC,EAAE,6BAA6B;MAChC,CAAC,EAAE;KACJ;IAED,sBAAiB,GAA8B;MAC7C,CAAC,EAAE,kTAAkT;MACrT,CAAC,EAAE,wSAAwS;MAC3S,CAAC,EAAE,gSAAgS;MACnS,CAAC,EAAE;KACJ;;;SAlBQxH,gCAAgC;;mBAAhCA,MAAgC;AAAA;;QAAhCA,MAAgC;EAAAvB;EAAAgpB;IAAA5E;IAAAc;EAAA;EAAAnb;IAAAsa;EAAA;EAAApkB;EAAAC;EAAA8F;EAAA7F;IAAA;MCT7CC,wDAAAA,oEAYM;;;MAZAA,wDAAAA,uBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACMH;;;;;;;;;;;ICFRA,4DAAAA,aAAyC;IAApCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,gCAAwB;IAAA,EAAC;IACrCA,uDAAAA,aAA4D;IAC9DA,0DAAAA,EAAM;IACNA,4DAAAA,cAAmC;IACnCA,uDAAAA,cAAiE;IACnEA,0DAAAA,EAAM;IACJA,uDAAAA,cAEM;;;;IAJ0BA,uDAAAA,GAA0B;IAA1BA,wDAAAA,+BAAAA,4DAAAA,CAA0B;;;;;IAL5DA,wDAAAA,kFAUc;;;;;IAbtBA,4DAAAA,aAA8C;IAGtCA,wDAAAA,2DAUc;IAChBA,0DAAAA,EAAe;;;;IAZiCA,uDAAAA,GAAmB;IAAnBA,wDAAAA,oBAAmB;IAC1BA,uDAAAA,GAAU;IAAVA,wDAAAA,yBAAU;;;;;;IA0BjDA,4DAAAA,UAAK;IACEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,iCAAwB;IAAA,EAAC;IAAvCA,0DAAAA,EAA0F;IAE5FA,uDAAAA,cAAyG;;;;IAA/EA,uDAAAA,GAAiE;IAAjEA,wDAAAA,sEAAAA,2DAAAA,CAAiE;;;;;IAJ7FA,wDAAAA,kFAQc;;;;;;IAdpBA,4DAAAA,cAA2C;IAElCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,iCAAwB;IAAA,EAAC;IAAvCA,0DAAAA,EAA8F;IAEhGA,4DAAAA,cAA4B;IAExBA,wDAAAA,2DAQc;IAChBA,0DAAAA,EAAe;;;;IAV8BA,uDAAAA,GAAkB;IAAlBA,wDAAAA,mBAAkB;IACpBA,uDAAAA,GAAc;IAAdA,wDAAAA,6BAAc;;;ADfvD,MAAO/B,sBAAsB;EAajCmB,YACU0sB,QAAmB,EAAUC,EAAc,EAAUC,SAAuB,EAC5E7oB,MAAa,EACbG,KAAqB,EACrB2oB,cAA8B;IAH9B,aAAQ,GAARH,QAAQ;IAAqB,OAAE,GAAFC,EAAE;IAAsB,cAAS,GAATC,SAAS;IAC9D,WAAM,GAAN7oB,MAAM;IACN,UAAK,GAALG,KAAK;IACL,mBAAc,GAAd2oB,cAAc;IAfxB,UAAK,GAAQ,EAAE;IAGf,cAAS,GAAQ,EAAE;IAInB,kBAAa,GAAY,KAAK;EAUxB;EAEN/c,eAAe;IACb;IACA,IAAI,CAACgd,mBAAmB,EAAE;IAC1B,IAAI,CAACC,oBAAoB,EAAE;EAC7B;EAEA;EACAtoB,QAAQ;IAEN,IAAI,CAACP,KAAK,CAAC8H,MAAM,CAACjG,SAAS,CAAEiG,MAAM,IAAI;MACrC,MAAMghB,kBAAkB,GAAGhhB,MAAM,CAAC,IAAI,CAAC;MACxC,IAAI,CAACihB,mBAAmB,CAACD,kBAAkB,CAAC;IAC7C,CAAC,CAAC;EAEJ;EAIAC,mBAAmB,CAACvnB,EAAU;IAE5B,IAAI,CAACmnB,cAAc,CAACK,yBAAyB,CAACxnB,EAAE,CAAC,CAACK,SAAS,CACxDgM,IAAS,IAAI;MACZ5L,OAAO,CAAC0B,GAAG,CAACkK,IAAI,CAAC;MACjB,IAAI,CAACob,SAAS,GAAGpb,IAAI,CAAC,CAAC,CAAC,CAACob,SAAS;MAClC,IAAI,CAACC,iBAAiB,GAAIrb,IAAI,CAAC,CAAC,CAAC,CAACsb,mBAAmB;MACrD,IAAI,CAACC,aAAa,GAAI,IAAI,CAACH,SAAS;MACpC,IAAI,CAACI,qBAAqB,CAAC,IAAI,CAACD,aAAa,CAAC;MAC9C,IAAI,CAACE,oBAAoB,CAAC,qBAAqB,CAAC;MAChD,IAAI,CAACC,SAAS,GAAG1b,IAAI,CAAC2b,SAAS;MAC/BvnB,OAAO,CAAC0B,GAAG,CAAC,IAAI,CAAC4lB,SAAS,CAAC;MAC3B,IAAI,IAAI,CAACA,SAAS,IAAI/Y,SAAS,EAAC;QAC9B,IAAI,CAACiZ,MAAM,GAAG,IAAI;OACnB,MAAM;QACL,IAAI,CAACA,MAAM,GAAG,KAAK;;IAEvB,CAAC,EACAznB,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IACzD,CAAC,CACF;EAEH;EAMA;EAGAqlB,YAAY,CAACthB,KAAiB;IAC5B;IACA,IAAI,CAACuhB,WAAW,GAAGvhB,KAAK,CAAC4hB,cAAc,CAAC,CAAC,CAAC,CAACH,OAAO;IAClD,IAAI,CAACkC,WAAW,GAAG3jB,KAAK,CAAC4hB,cAAc,CAAC,CAAC,CAAC,CAACgC,OAAO;IAClD,IAAI,CAACC,cAAc,GAAG7jB,KAAK,CAAC8jB,SAAS;EACvC;EAGApC,UAAU,CAAC1hB,KAAiB;IAC1B;IACA,MAAM2hB,SAAS,GAAG3hB,KAAK,CAAC4hB,cAAc,CAAC,CAAC,CAAC,CAACH,OAAO;IACjD,MAAMsC,SAAS,GAAG/jB,KAAK,CAAC4hB,cAAc,CAAC,CAAC,CAAC,CAACgC,OAAO;IACjD,MAAMI,YAAY,GAAGhkB,KAAK,CAAC8jB,SAAS;IAEpC;IACA,MAAMG,MAAM,GAAGtC,SAAS,GAAG,IAAI,CAACJ,WAAW;IAC3C,MAAM2C,MAAM,GAAGH,SAAS,GAAG,IAAI,CAACJ,WAAW;IAE3C;IACA,MAAMQ,SAAS,GAAGH,YAAY,GAAG,IAAI,CAACH,cAAc;IAEpD;IACA,MAAMO,mBAAmB,GAAG,EAAE;IAC9B,MAAMC,iBAAiB,GAAG,EAAE;IAC5B,MAAMC,aAAa,GAAG,GAAG;IAEzB;IACA,MAAMC,eAAe,GAAGvlB,IAAI,CAACwlB,GAAG,CAACP,MAAM,CAAC,GAAGG,mBAAmB,IAAID,SAAS,GAAGG,aAAa;IAC3F,MAAMG,aAAa,GAAGzlB,IAAI,CAACwlB,GAAG,CAACN,MAAM,CAAC,GAAGG,iBAAiB,IAAIF,SAAS,GAAGG,aAAa;IAEvF;IACA,IAAIC,eAAe,IAAIvlB,IAAI,CAACwlB,GAAG,CAACP,MAAM,CAAC,GAAGjlB,IAAI,CAACwlB,GAAG,CAACN,MAAM,CAAC,EAAE;MAC1D,IAAID,MAAM,GAAG,CAAC,EAAE;QACd,IAAI,CAAClC,WAAW,CAAC,OAAO,CAAC;OAC1B,MAAM;QACL,IAAI,CAACA,WAAW,CAAC,MAAM,CAAC;;KAE3B,MAAM,IAAI0C,aAAa,IAAIzlB,IAAI,CAACwlB,GAAG,CAACN,MAAM,CAAC,GAAGllB,IAAI,CAACwlB,GAAG,CAACP,MAAM,CAAC,EAAE;MAC/D,IAAIC,MAAM,GAAG,CAAC,EAAE;QACd;QACAhoB,OAAO,CAAC0B,GAAG,CAAC,oBAAoB,CAAC;OAClC,MAAM;QACL;QACA1B,OAAO,CAAC0B,GAAG,CAAC,mBAAmB,CAAC;;;EAGtC;EAIAokB,WAAW,CAAChiB,KAAiB;IAC3B;IACA,IAAI,CAAC0iB,EAAE,CAACnO,aAAa,CAACjS,YAAY,CAAC,mBAAmB,EAAEtC,KAAK,CAACyhB,OAAO,CAAC/c,QAAQ,EAAE,CAAC;EACnF;EAGAud,SAAS,CAACjiB,KAAiB;IACzB;IACA,MAAMkiB,SAAS,GAAGliB,KAAK,CAACyhB,OAAO;IAC/B,MAAMU,WAAW,GAAGN,UAAU,CAAC,IAAI,CAACa,EAAE,CAACnO,aAAa,CAACuN,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAIvF,IAAIK,WAAW,GAAGD,SAAS,EAAE;MAC3B,IAAI,CAACH,WAAW,CAAC,OAAO,CAAC;KAC1B,MAAM,IAAII,WAAW,GAAGD,SAAS,EAAE;MAClC,IAAI,CAACH,WAAW,CAAC,MAAM,CAAC;;EAE5B;EAEAA,WAAW,CAACK,SAAiB;IAE3B,IAAIA,SAAS,KAAK,MAAM,EAAE;MACxB,IAAI,CAACC,QAAQ,CAACC,IAAI,EAAE,CAAC,CAAC;KACvB,MAAM,IAAIF,SAAS,KAAK,OAAO,EAAE;MAChC,IAAI,CAACC,QAAQ,CAACE,IAAI,EAAE,CAAC,CAAC;;EAE1B;;EAEAM,mBAAmB;IACjB,MAAM6B,QAAQ,GAAGvlB,QAAQ,CAACqI,gBAAgB,CAAC,UAAU,CAAC;IACtDkd,QAAQ,CAAC9f,OAAO,CAAE6C,OAAO,IAAI;MAC3BA,OAAO,CAACZ,SAAS,CAACc,GAAG,CAAC,SAAS,CAAC;IAClC,CAAC,CAAC;EACJ;EAEAmb,oBAAoB;IAClB,MAAM6B,WAAW,GAAG,IAAI,CAACjC,EAAE,CAACnO,aAAa,CAAC/M,gBAAgB,CAAC,KAAK,CAAC;IACjEmd,WAAW,CAAC/f,OAAO,CAAEggB,UAAU,IAAI;MACjC,MAAMC,GAAG,GAAGD,UAAU,CAAC9C,YAAY,CAAC,KAAK,CAAC;MAC1C,IAAI+C,GAAG,EAAE;QACP,IAAIA,GAAG,CAACvoB,QAAQ,CAAC,SAAS,CAAC,EAAE;UAC3B,IAAI,CAACmmB,QAAQ,CAACqC,QAAQ,CAACF,UAAU,EAAE,aAAa,CAAC;SAClD,MAAM,IAAIC,GAAG,CAACvoB,QAAQ,CAAC,OAAO,CAAC,EAAE;UAChC,IAAI,CAACmmB,QAAQ,CAACqC,QAAQ,CAACF,UAAU,EAAE,WAAW,CAAC;SAChD,MAAM,IAAIC,GAAG,CAACvoB,QAAQ,CAAC,QAAQ,CAAC,EAAE;UACjC,IAAI,CAACmmB,QAAQ,CAACqC,QAAQ,CAACF,UAAU,EAAE,YAAY,CAAC;;;IAGtD,CAAC,CAAC;EACJ;EAECrB,oBAAoB,CAACwB,SAAS;IAC7B,MAAML,QAAQ,GAAGvlB,QAAQ,CAACqI,gBAAgB,CAAC,GAAG,GAAGud,SAAS,CAAC;IAE3DL,QAAQ,CAAC9f,OAAO,CAAE6C,OAAO,IAAI;MAC3B,IAAIA,OAAO,YAAYud,WAAW,EAAE;QAClCvd,OAAO,CAACtB,KAAK,CAAC+C,QAAQ,GAAG,OAAO;;IAEpC,CAAC,CAAC;EACJ;EACA;EACAoa,qBAAqB,CAACpc,OAAe;IACnC;IACA,MAAM+d,UAAU,GAAG/d,OAAO,CAAC5I,KAAK,CAAC,sBAAsB,CAAC;IAExD,KAAK,IAAImK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwc,UAAU,CAAC3pB,MAAM,EAAEmN,CAAC,EAAE,EAAE;MAC1C,IAAIyc,WAAW,GAAGD,UAAU,CAACxc,CAAC,CAAC,CAACrN,IAAI,EAAE;MAEtC;MACA,MAAM+pB,WAAW,GAAG,oDAAoD;MAExE,MAAMC,eAAe,GAAG,IAAI,CAACC,kBAAkB,CAACH,WAAW,CAAC;MAC5D,MAAMI,YAAY,GAAGF,eAAe,KAAK,cAAc,GAAG,UAAUA,eAAe,EAAE,GAAG,EAAE;MAE1F,IAAIF,WAAW,EAAE;QAAE;QACjB,IAAI,CAACK,KAAK,CAAChiB,IAAI,CAAC;UACd2D,OAAO,EAAE,IAAI,CAACyb,SAAS,CAAC6C,uBAAuB,CAACN,WAAW,CAAC;UAC5DO,MAAM,EAAE,UAAU,IAAI,CAACF,KAAK,CAACjqB,MAAM,GAAG,CAAC,EAAE;UACzCgqB,YAAY,EAAEA;SACf,CAAC;;;EAGR;EAGAD,kBAAkB,CAACK,IAAY;IAC7B,IAAIA,IAAI,CAACppB,QAAQ,CAAC,iBAAiB,CAAC,EAAE;MACpC,OAAO,QAAQ;KAChB,MAAM,IAAIopB,IAAI,CAACppB,QAAQ,CAAC,gBAAgB,CAAC,EAAE;MAC1C,OAAO,OAAO;KACf,MAAM,IAAIopB,IAAI,CAACppB,QAAQ,CAAC,kBAAkB,CAAC,EAAE;MAC5C,OAAO,SAAS;KACjB,MAAM;MACL,OAAO,cAAc,CAAC,CAAC;;EAE3B;;EAEAqpB,oBAAoB,CAACD,IAAY;IAC/B;IACA,MAAMP,WAAW,GAAG,oDAAoD;IACxE,MAAM7uB,KAAK,GAAG6uB,WAAW,CAACS,IAAI,CAACF,IAAI,CAAC;IAEpC,IAAIpvB,KAAK,EAAE;MACT,MAAMuvB,SAAS,GAAGvvB,KAAK,CAAC,CAAC,CAAC;MAC1B,IAAI,CAACivB,KAAK,CAAC,CAAC,CAAC,CAACO,QAAQ,GAAGD,SAAS,CAAC,CAAC;;EAExC;;EAEAE,sBAAsB;IACpB,IAAI,CAACjsB,MAAM,CAACY,QAAQ,CAAC,CAAC,yBAAyB,EAAI,IAAI,CAACyoB,iBAAiB,CAAE,CAAC;EAC9E;;SAxOWvuB,sBAAsB;;mBAAtBA,MAAsB;AAAA;;QAAtBA,MAAsB;EAAA2B;EAAAob;IAAA;;;;;;;;;;;eAAtBnV,wBAAoB;MAAA;QAAA,OAApBA,sBAAkB;MAAA;QAAA,OAAlBA,uBAAmB;MAAA;QAAA,OAAnBA,qBAAiB;MAAA;;;;;;;;MCb9B7F,wDAAAA,0DAgBM;MAMNA,wDAAAA,0DAiBM;;;MAvC0BA,wDAAAA,oBAAY;MAsBhBA,uDAAAA,GAAa;MAAbA,wDAAAA,qBAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICrBzCA,uDAAAA,8BAAqE;;;;;IAIrEA,4DAAAA,aAA4C;IACfA,oDAAAA,cAAO;IAAAA,0DAAAA,EAAM;;;;;;IAKtCA,4DAAAA,aAAsE;IAClCA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,sDAA2C;IAAA,EAAC;IACvFA,4DAAAA,aAA2B;IACvBA,uDAAAA,cAA4E;IAC9EA,0DAAAA,EAAM;IACNA,4DAAAA,cAAgC;IACJA,oDAAAA,GAA2B;IAAAA,0DAAAA,EAAM;IAC3DA,4DAAAA,cAA0B;IAGpBA,4DAAAA,EAAoH;IAApHA,4DAAAA,eAAoH;IAClHA,uDAAAA,gBAAg2B;IACp2BA,0DAAAA,EAAM;IAERA,6DAAAA,EAAmB;IAAnBA,4DAAAA,eAAmB;IAEVA,oDAAAA,IAAmC;IAAAA,0DAAAA,EAAM;IAGlDA,4DAAAA,eAA0B;IACnBA,oDAAAA,IAA6C;IAAAA,0DAAAA,EAAM;;;;IAnBwBA,uDAAAA,GAA+C;IAA/CA,yDAAAA,6CAA+C;IAEzGA,uDAAAA,GAAkC;IAAlCA,wDAAAA,uCAAAA,2DAAAA,CAAkC;IAGlCA,uDAAAA,GAA2B;IAA3BA,+DAAAA,0BAA2B;IAU1CA,uDAAAA,GAAmC;IAAnCA,gEAAAA,0CAAmC;IAIrCA,uDAAAA,GAA6C;IAA7CA,gEAAAA,oDAA6C;;;AClB1D,MAAOxC,gBAAgB;EAI3B4B,YAAoB+D,MAAc,EAAU8oB,cAA8B;IAAtD,WAAM,GAAN9oB,MAAM;IAAkB,mBAAc,GAAd8oB,cAAc;IAH1D,sBAAiB,GAAU,EAAE;IAC7B,cAAS,GAAY,KAAK,CAAC,CAAC;EAG5B;;EAEApoB,QAAQ;IAEN,IAAI,CAACwrB,sBAAsB,EAAE;EAC/B;EACAA,sBAAsB;IACpB,IAAI,CAACxqB,SAAS,GAAG,IAAI;IAErB,IAAI,CAAConB,cAAc,CAACqD,kBAAkB,EAAE,CAACnqB,SAAS,CAC/CgM,IAAS,IAAI;MACd;MACC,IAAI,CAACtM,SAAS,GAAG,KAAK;MACvB,IAAI,CAAC0qB,iBAAiB,GAACpe,IAAI;MAC3B5L,OAAO,CAAC0B,GAAG,CAACkK,IAAI,CAAC;IAEjB,CAAC,EACA7L,KAAK,IAAI;MACT,IAAI,CAACT,SAAS,GAAG,KAAK;MACrBU,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IACzD,CAAC,CACF;EACH;EACA8U,sBAAsB;IACpB,IAAI,CAACjX,MAAM,CAACY,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;EAC1C;EAEAqrB,sBAAsB,CAACtqB,EAAU;IAC/B,IAAI,CAAC3B,MAAM,CAACY,QAAQ,CAAC,CAAC,wBAAwB,EAAEe,EAAE,CAAC,CAAC;EACtD;;SAlCWtH,gBAAgB;;mBAAhBA,MAAgB;AAAA;;QAAhBA,MAAgB;EAAAoC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MDZ7BC,wDAAAA,4FAAqE;MACrEA,uDAAAA,oBAA+B;MAG/BA,wDAAAA,oDAEQ;MAENA,4DAAAA,aAA0B;MAExBA,wDAAAA,qDAyBM;MAINA,4DAAAA,UAAK;MACSA,oDAAAA,aAAM;MAAAA,0DAAAA,EAAI;MACtBA,4DAAAA,WAAY;MAAAA,oDAAAA,aAAM;MAAAA,0DAAAA,EAAI;MAExBA,uDAAAA,gBAAqB;MAEvBA,0DAAAA,EAAM;;;MA7CkBA,wDAAAA,uBAAe;MAIfA,uDAAAA,GAAgB;MAAhBA,wDAAAA,wBAAgB;MAMJA,uDAAAA,GAAoB;MAApBA,wDAAAA,kCAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IEX1DA,uDAAAA,8BAAqE;;;;;;;;;;;IAmD7CA,4DAAAA,cAA4D;IAEpDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,yCAA8B;IAAA,EAAC;IACxCA,4DAAAA,UAAK;IAAAA,oDAAAA,GAA6B;IAAAA,0DAAAA,EAAM;;;;IAFxBA,uDAAAA,GAAoD;IAApDA,wDAAAA,YAAAA,6DAAAA,qCAAoD;IAE/DA,uDAAAA,GAA6B;IAA7BA,+DAAAA,4BAA6B;;;;;IAJ9CA,4DAAAA,UAAyD;IACrDA,wDAAAA,iEAKM;IACVA,0DAAAA,EAAM;;;;IANkBA,uDAAAA,GAAsC;IAAtCA,wDAAAA,6CAAsC;;;;;;IAW1DA,4DAAAA,cAA4D;IAEFA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAElFA,yDAAAA,2CAA8B;IAAA,EADiC;IAC/BA,4DAAAA,UAAK;IAAAA,oDAAAA,GAA6B;IAAAA,0DAAAA,EAAM;;;;IAF5CA,uDAAAA,GAAqD;IAArDA,wDAAAA,YAAAA,6DAAAA,sCAAqD;IAE5CA,uDAAAA,GAA6B;IAA7BA,+DAAAA,6BAA6B;;;;;IAL9CA,4DAAAA,UAAyD;IACrDA,wDAAAA,iEAMM;IACVA,0DAAAA,EAAM;;;;IAPkBA,uDAAAA,GAAsC;IAAtCA,wDAAAA,8CAAsC;;;;;;IAe9DA,4DAAAA,UAAyD;IAG7CA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,2CAA8B;IAAA,EAAC;IACxCA,4DAAAA,UAAK;IAAAA,oDAAAA,GAA6B;IAAAA,0DAAAA,EAAM;;;;IAFxBA,uDAAAA,GAAoD;IAApDA,wDAAAA,YAAAA,6DAAAA,sCAAoD;IAE/DA,uDAAAA,GAA6B;IAA7BA,+DAAAA,6BAA6B;;;;;;IA/ElEA,4DAAAA,WAAyB;IACrBA,uDAAAA,eAAqB;IACrBA,4DAAAA,aAAyB;IACIA,oDAAAA,cAAO;IAAAA,0DAAAA,EAAM;IAE1CA,4DAAAA,aAAyB;IAIaA,oDAAAA,GAAkB;IAAAA,0DAAAA,EAAM;IAClDA,4DAAAA,cAAkE;IAA7DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,4BAAmB;IAAA,EAAC;IAAlCA,0DAAAA,EAAkE;IAGtEA,4DAAAA,cAA+B;IAIvBA,uDAAAA,eACmB;IACvBA,0DAAAA,EAAM;IAGNA,4DAAAA,eAA2B;IAEXA,oDAAAA,IAAuB;IAAAA,0DAAAA,EAAI;IAG3CA,4DAAAA,eAAgC;IAChBA,oDAAAA,IAAuB;IAAAA,0DAAAA,EAAI;IAG3CA,4DAAAA,eAA8E;IAAzCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,uCAA8B;IAAA,EAAC;IACzEA,4DAAAA,aAA6B;IAAAA,oDAAAA,2BAAc;IAAAA,0DAAAA,EAAI;IAKnDA,4DAAAA,WAAK;IACWA,oDAAAA,cAAM;IAAAA,0DAAAA,EAAI;IACtBA,4DAAAA,aAAY;IAAAA,oDAAAA,cAAM;IAAAA,0DAAAA,EAAI;IAO9BA,4DAAAA,eAAyC;IAEjCA,wDAAAA,4DAOM;IACVA,0DAAAA,EAAM;IAENA,4DAAAA,eAAkC;IAC9BA,wDAAAA,4DAQM;IAEVA,0DAAAA,EAAM;IAIVA,4DAAAA,eAAqC;IAE7BA,wDAAAA,4DAOM;IACVA,0DAAAA,EAAM;IAENA,4DAAAA,eAAuB;IAEHA,oDAAAA,IAAuB;IAAAA,0DAAAA,EAAI;IAG3CA,4DAAAA,eAAgC;IAChBA,oDAAAA,IAAuB;IAAAA,0DAAAA,EAAI;IAG3CA,4DAAAA,eAA8E;IAAzCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,uCAA8B;IAAA,EAAC;IACzEA,4DAAAA,aAA6B;IAAAA,oDAAAA,2BAAc;IAAAA,0DAAAA,EAAI;;;;IAzF9BA,uDAAAA,GAAwC;IAAxCA,yDAAAA,0CAAwC;IAGvCA,uDAAAA,GAAkB;IAAlBA,+DAAAA,uBAAkB;IAQfA,uDAAAA,GAAmB;IAAnBA,wDAAAA,4BAAAA,2DAAAA,CAAmB;IAOhCA,uDAAAA,GAAuB;IAAvBA,+DAAAA,0BAAuB;IAIvBA,uDAAAA,GAAuB;IAAvBA,+DAAAA,0BAAuB;IAoBNA,uDAAAA,IAAyB;IAAzBA,wDAAAA,yCAAyB;IAWzBA,uDAAAA,GAAyB;IAAzBA,wDAAAA,yCAAyB;IAgBzBA,uDAAAA,GAAyB;IAAzBA,wDAAAA,yCAAyB;IAYtCA,uDAAAA,GAAuB;IAAvBA,+DAAAA,0BAAuB;IAIvBA,uDAAAA,GAAuB;IAAvBA,+DAAAA,0BAAuB;;;ACpFrD,MAAOhC,cAAc;EAazBoB,YACU+D,MAAc,EACdG,KAAqB,EACrB2oB,cAA8B;IAF9B,WAAM,GAAN9oB,MAAM;IACN,UAAK,GAALG,KAAK;IACL,mBAAc,GAAd2oB,cAAc;IAfxB,0BAAqB,GAAU,EAAE;IAGjC,qBAAgB,GAAQ,IAAI;IAE5B,sBAAiB,GAAW,eAAe;IAE3C,sBAAiB,GAAW,kBAAkB;IAC9C,gBAAW,GAAQ,0FAA0F;IAE7G,cAAS,GAAY,KAAK,CAAC,CAAC;EAKgB;EAE5C;;;;;;;;;EASApoB,QAAQ;IACN;IACA,IAAI,CAACP,KAAK,CAAC8H,MAAM,CAACjG,SAAS,CAAEiG,MAAM,IAAI;MACrC;MAGA,MAAMghB,kBAAkB,GAAGhhB,MAAM,CAAC,IAAI,CAAC;MAEvC,IAAI,CAACihB,mBAAmB,CAACD,kBAAkB,CAAC;MAE5C,IAAI,CAACoD,eAAe,CAACpD,kBAAkB,CAAC;IAC1C,CAAC,CAAC;EACJ;EAGAqD,iBAAiB,CAACC,WAAgB;IAChCnqB,OAAO,CAAC0B,GAAG,CAACyoB,WAAW,CAAC5qB,EAAE,CAAC;IAC3B;IACA,IAAI,CAAC6qB,iBAAiB,GAAED,WAAW,CAACE,kBAAkB;IACtD,IAAI,CAACC,iBAAiB,GAAIH,WAAW,CAACxK,MAAM;IAC5C,IAAI,CAAC4K,aAAa,GAAGJ,WAAW,CAAC5qB,EAAE;IAGnC,IAAI,IAAI,CAACirB,gBAAgB,KAAKL,WAAW,EAAE;MACzC;MACA,IAAI,IAAI,CAACK,gBAAgB,EAAE;QACzB,IAAI,CAACA,gBAAgB,CAACC,WAAW,GAAG,KAAK;;MAE3CN,WAAW,CAACM,WAAW,GAAG,IAAI;MAC9B;MACA,IAAI,CAACD,gBAAgB,GAAGL,WAAW;;EAEzC;EACErD,mBAAmB,CAACvnB,EAAU;IAE5B,IAAI,CAACD,SAAS,GAAG,IAAI;IAErB,IAAI,CAAConB,cAAc,CAACgE,qBAAqB,CAACnrB,EAAE,CAAC,CAACK,SAAS,CACpDgM,IAAS,IAAI;MAEZ,IAAI,CAAC+e,qBAAqB,GAAG/e,IAAI;MACjC5L,OAAO,CAAC0B,GAAG,CAAC,IAAI,CAACipB,qBAAqB,CAAC,CAAC,CAAC,CAAC;MAC1C,IAAI,CAACT,iBAAiB,CAAC,IAAI,CAACS,qBAAqB,CAAC,CAAC,CAAC,CAAC;MACrD,IAAI,CAACrrB,SAAS,GAAG,KAAK;IAGxB,CAAC,EACAS,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IACzD,CAAC,CACF;EACH;EAEAkqB,eAAe,CAAC1qB,EAAU;IAExB,IAAI,CAACmnB,cAAc,CAACkE,sBAAsB,CAACrrB,EAAE,CAAC,CAACK,SAAS,CACrDgM,IAAS,IAAI;MACZ;MACA,IAAI,CAACif,cAAc,GAAGjf,IAAI,CAAC5K,IAAI;MAC/B,IAAI,CAAC8pB,aAAa,GAAGlf,IAAI,CAACmf,GAAG;MAC7B,IAAI,CAACC,WAAW,GAAGpf,IAAI,CAACqf,SAAS;MACjC,IAAI,CAAC3rB,SAAS,GAAG,KAAK;IAGxB,CAAC,EACAS,KAAK,IAAI;MACR,IAAI,CAACT,SAAS,GAAG,KAAK;MAEtBU,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IACzD,CAAC,CACF;EACH;EACAmrB,4BAA4B;IAC1B,IAAI,CAACttB,MAAM,CAACY,QAAQ,CAAC,CAAC,0BAA0B,EAAC,IAAI,CAAC+rB,aAAa,CAAC,CAAC;EACvE;EAEAY,iBAAiB;IACf,IAAI,CAACvtB,MAAM,CAACY,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC;EAC5C;;SAzGW/F,cAAc;;mBAAdA,MAAc;AAAA;;QAAdA,MAAc;EAAA4B;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MDT3BC,wDAAAA,0FAAqE;MAErEA,wDAAAA,sDA0GO;;;MA5GmBA,wDAAAA,uBAAe;MAElCA,uDAAAA,GAAgB;MAAhBA,wDAAAA,wBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IEInBA,4DAAAA,aAA8D;IAGjCA,oDAAAA,GAAe;IAAAA,0DAAAA,EAAK;IAG/CA,4DAAAA,cAAiH;IAA3GA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,qDAAuC,EAAE,CAAC;IAAA,EAAC;IAA1DA,0DAAAA,EAAiH;;;;IAHtFA,uDAAAA,GAAe;IAAfA,+DAAAA,gBAAe;;;ACD1C,MAAO3B,eAAe;EA2B1Be,YAAoB+D,MAAc;IAAd,WAAM,GAANA,MAAM;IAzB1B,iBAAY,GAAG,CACb;MAAE2B,EAAE,EAAE,CAAC;MAAE6rB,MAAM,EAAE;IAAmB,CAAE,EACtC;MAAE7rB,EAAE,EAAE,CAAC;MAAE6rB,MAAM,EAAE;IAAiB,CAAE,EACpC;MAAE7rB,EAAE,EAAE,CAAC;MAAE6rB,MAAM,EAAE;IAAoB,CAAE,EACvC;MAAE7rB,EAAE,EAAE,CAAC;MAAE6rB,MAAM,EAAE;IAA4B,CAAE,EAC/C;MAAE7rB,EAAE,EAAE,CAAC;MAAE6rB,MAAM,EAAE;IAAgC,CAAE,EACnD;MAAE7rB,EAAE,EAAE,CAAC;MAAE6rB,MAAM,EAAE;IAA8B,CAAE,EACjD;MAAE7rB,EAAE,EAAE,CAAC;MAAE6rB,MAAM,EAAE;IAA8B,CAAE,EACjD;MAAE7rB,EAAE,EAAE,CAAC;MAAE6rB,MAAM,EAAE;IAAkC,CAAE,EACrD;MAAE7rB,EAAE,EAAE,CAAC;MAAE6rB,MAAM,EAAE;IAA6B,CAAE,EAChD;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAAwC,CAAE,EAC5D;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAAiB,CAAE,EACrC;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAAyB,CAAE,EAC7C;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAAkD,CAAE,EACtE;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAAiB,CAAE,EACrC;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAA6B,CAAE,EACjD;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAAiC,CAAE,EACrD;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAA2C,CAAE,EAC/D;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAA4B,CAAE,EAChD;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAAa,CAAE,EACjC;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAA+C,CAAE,EACnE;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAA6C,CAAE,EACjE;MAAE7rB,EAAE,EAAE,EAAE;MAAE6rB,MAAM,EAAE;IAAiB,CAAE,CACtC;IAGC;IACA,IAAI,CAACC,YAAY,GAAG,IAAI,CAACA,YAAY,CAACzX,IAAI,CAAC,CAACtH,CAAC,EAAEuH,CAAC,KAAKvH,CAAC,CAAC8e,MAAM,CAACE,aAAa,CAACzX,CAAC,CAACuX,MAAM,CAAC,CAAC;EACxF;EAEA1L,gBAAgB,CAACrL,GAAG,EAAEsL,MAAM,EAAEzQ,IAAI;IAChC,IAAIM,SAAS,CAACgQ,KAAK,EAAE;MACnBhQ,SAAS,CAACgQ,KAAK,CAAC;QACdI,KAAK,EAAED,MAAM;QACbzQ,IAAI,EAAEA,IAAI;QACVmF,GAAG,EAAE,oDAAoD,GAAGA;OAC7D,CAAC,CACCwL,IAAI,CAAC,MAAM7f,OAAO,CAAC0B,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAC9Doe,KAAK,CAAE/f,KAAK,IAAKC,OAAO,CAACD,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC,CAAC;;EAE/E;EAEAwrB,cAAc;IACZ,IAAI,CAAC3tB,MAAM,CAACY,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;EACpC;;SA9CW1F,eAAe;;mBAAfA,MAAe;AAAA;;QAAfA,MAAe;EAAAuB;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MDR5BC,4DAAAA,aAA8C;MACvBA,oDAAAA,uBAAgB;MAAAA,0DAAAA,EAAK;MACxCA,4DAAAA,aAAyE;MAApEA,wDAAAA;QAAA,OAAS6F,oBAAgB;MAAA,EAAC;MAA/B7F,0DAAAA,EAAyE;MAG3EA,4DAAAA,iBAA0B;MACxBA,wDAAAA,mDAOM;MACRA,0DAAAA,EAAU;MACVA,uDAAAA,SAAI;MAGJA,4DAAAA,aAAkC;MACXA,oDAAAA,gEAAmD;MAAAA,0DAAAA,EAAI;;;MAbtDA,uDAAAA,GAAe;MAAfA,wDAAAA,6BAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AELsB;AACJ;;;;;;;;;;;;;;;;;;ICC3DA,wDAAAA,8BAAqE;;;;;IAuCzDA,6DAAAA,iBAAmE;IACjEA,qDAAAA,GACF;IAAAA,2DAAAA,EAAS;;;;IAFsCA,yDAAAA,wBAAmB;IAChEA,wDAAAA,GACF;IADEA,iEAAAA,2BACF;;;;;IAIAA,6DAAAA,iBAA2E;IACzEA,qDAAAA,GACF;IAAAA,2DAAAA,EAAS;;;;IAFgDA,yDAAAA,sBAAiB;IACxEA,wDAAAA,GACF;IADEA,iEAAAA,6BACF;;;;;;IAWFA,sEAAAA,GAAwD;IACtDA,6DAAAA,cAAyF;IAArDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,oDAAmC;IAAA,EAAC;IAAjFA,2DAAAA,EAAyF;IAC3FA,oEAAAA,EAAe;;;;;IAEfA,wDAAAA,cAA6C;;;;;IAgC/CA,6DAAAA,iBAAmE;IACjEA,qDAAAA,GACF;IAAAA,2DAAAA,EAAS;;;;IAFsCA,yDAAAA,wBAAmB;IAChEA,wDAAAA,GACF;IADEA,iEAAAA,2BACF;;;;;IAIAA,6DAAAA,iBAA2E;IACzEA,qDAAAA,GACF;IAAAA,2DAAAA,EAAS;;;;IAFgDA,yDAAAA,sBAAiB;IACxEA,wDAAAA,GACF;IADEA,iEAAAA,6BACF;;;;;;;;;;;IAYFA,sEAAAA,GAAsI;IACpIA,6DAAAA,cAAsK;IAA1IA,yDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,0DAAAA,2CAA8B;IAAA,EAAC;MAAAA,4DAAAA;MAAA;MAAA,OAAUA,0DAAAA,qBAAY,WAAW,CAAC;IAAA,EAAlC;IAClEA,6DAAAA,cAAuB;IACKA,qDAAAA,GAAsB;IAAAA,2DAAAA,EAAI;IACpDA,6DAAAA,YAAwB;IAAAA,qDAAAA,GAAsC;IAAAA,2DAAAA,EAAI;IAEpEA,6DAAAA,cAAuB;IACrBA,wDAAAA,cAAkK;IACpKA,2DAAAA,EAAM;IAEVA,oEAAAA,EAAe;;;;;IAT2FA,wDAAAA,GAA4D;IAA5DA,yDAAAA,YAAAA,8DAAAA,yCAA4D;IAEtIA,wDAAAA,GAAsB;IAAtBA,gEAAAA,sBAAsB;IACxBA,wDAAAA,GAAsC;IAAtCA,iEAAAA,uDAAsC;IAGtCA,wDAAAA,GAAyI;IAAzIA,yDAAAA,6JAAAA,4DAAAA,CAAyI;;;;;;;;;;;;;;;;IAxH7KA,6DAAAA,UAAwB;IACtBA,wDAAAA,oBAA+B;IAI/BA,6DAAAA,uCAO6B;IAF7BA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAwBA,0DAAAA,gCAAuB;IAAA,EAAC;MAAAA,4DAAAA;MAAA;MAAA,OAEjCA,0DAAAA,qBAAY;IAAA,EAFqB;IAEnBA,2DAAAA,EAAgC;IAE5DA,6DAAAA,+BAG0C;IAAxCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAcA,0DAAAA,iCAAwB;IAAA,EAAC;IAACA,2DAAAA,EAAwB;IAEnEA,6DAAAA,aAAwD;IAAnDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,+BAAsB;IAAA,EAAC;IAEnCA,6DAAAA,iBAAyB;IAEDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,mDAAkC;IAAA,EAAC;IAC9DA,wDAAAA,aAAyH;IAC3HA,2DAAAA,EAAM;IACNA,6DAAAA,cAA0B;IACMA,qDAAAA,IAAa;IAAAA,2DAAAA,EAAI;IAC/CA,6DAAAA,eAAuB;IACrBA,wDAAAA,UAAK;IAIPA,2DAAAA,EAAM;IAERA,6DAAAA,eAA6B;IAEoDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;IAAA,EAA+B;MAAAA,4DAAAA;MAAA;MAAA,OAAWA,0DAAAA,8BAAqB;IAAA,EAAhC;IAC5GA,yDAAAA,iEAES;IACXA,2DAAAA,EAAS;IAETA,6DAAAA,kBAAsH;IAA9BA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;IAAA,EAA6B;IACnHA,yDAAAA,iEAES;IACXA,2DAAAA,EAAS;IAEXA,6DAAAA,eAA8B;IACmCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;IAAA,EAAqC;IAApGA,2DAAAA,EAAuG;IACvGA,wDAAAA,iBAC8E;IAC9EA,6DAAAA,aAAmC;IAAAA,qDAAAA,yBAAiB;IAAAA,2DAAAA,EAAI;IAG1DA,6DAAAA,eAAoB;IAClBA,yDAAAA,6EAEe;IACfA,yDAAAA,kFAAAA,qEAAAA,CAEc;IAChBA,2DAAAA,EAAM;IAERA,6DAAAA,eAA+B;IACRA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAASA,0DAAAA,0BAAiB;IAAA,EAAC;IAC9CA,6DAAAA,eAAiB;IAEbA,wDAAAA,eAAmD;IACrDA,2DAAAA,EAAM;IACNA,6DAAAA,eAAuB;IAClBA,qDAAAA,aAAK;IAAAA,2DAAAA,EAAI;IAKlBA,6DAAAA,eAAqB;IAGfA,wDAAAA,eAAoD;IACtDA,2DAAAA,EAAM;IACNA,6DAAAA,eAAwB;IACnBA,qDAAAA,kBAAU;IAAAA,2DAAAA,EAAI;IAQ3BA,6DAAAA,mBAA4B;IACqDA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;IAAA,EAA+B;MAAAA,4DAAAA;MAAA;MAAA,OAAWA,0DAAAA,8BAAqB;IAAA,EAAhC;IAC5GA,yDAAAA,iEAES;IACXA,2DAAAA,EAAS;IAETA,6DAAAA,kBAAsH;IAA9BA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;IAAA,EAA6B;IACnHA,yDAAAA,iEAES;IACXA,2DAAAA,EAAS;IAETA,6DAAAA,eAA8B;IACmCA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA;IAAA,EAAqC;IAApGA,2DAAAA,EAAuG;IACvGA,wDAAAA,iBAC8E;IAC9EA,6DAAAA,aAAmC;IAAAA,qDAAAA,yBAAiB;IAAAA,2DAAAA,EAAI;IAI5DA,6DAAAA,mBAAyC;IACvCA,yDAAAA,6EAUe;IACfA,wDAAAA,UAAI;IAGNA,2DAAAA,EAAU;;;;;IAzHZA,wDAAAA,GAAuB;IAAvBA,yDAAAA,+BAAuB;IASrBA,wDAAAA,GAAmC;IAAnCA,yDAAAA,2CAAmC;IASxBA,wDAAAA,GAAqF;IAArFA,yDAAAA,0GAAAA,4DAAAA,CAAqF;IAG5DA,wDAAAA,GAAa;IAAbA,iEAAAA,+BAAa;IAUlCA,wDAAAA,GAAyD;IAAzDA,yDAAAA,YAAAA,8DAAAA,0CAAyD;IACrCA,wDAAAA,GAAkB;IAAlBA,yDAAAA,mCAAkB;IAKtCA,wDAAAA,GAAyD;IAAzDA,yDAAAA,YAAAA,8DAAAA,0CAAyD;IACvCA,wDAAAA,GAA8B;IAA9BA,yDAAAA,+CAA8B;IAMMA,wDAAAA,GAAqC;IAArCA,yDAAAA,2CAAqC;IAElGA,wDAAAA,GAAmE;IAAnEA,yDAAAA,YAAAA,8DAAAA,0CAAmE;IAKtDA,wDAAAA,GAAyB;IAAzBA,yDAAAA,kCAAyB;IAmCnCA,wDAAAA,IAAyD;IAAzDA,yDAAAA,YAAAA,8DAAAA,0CAAyD;IACrCA,wDAAAA,GAAkB;IAAlBA,yDAAAA,mCAAkB;IAKtCA,wDAAAA,GAAyD;IAAzDA,yDAAAA,YAAAA,8DAAAA,0CAAyD;IACvCA,wDAAAA,GAA8B;IAA9BA,yDAAAA,+CAA8B;IAMQA,wDAAAA,GAAqC;IAArCA,yDAAAA,2CAAqC;IAElGA,wDAAAA,GAAmE;IAAnEA,yDAAAA,YAAAA,8DAAAA,0CAAmE;IAMtCA,wDAAAA,GAAqF;IAArFA,yDAAAA,gHAAqF;;;AD7EtH,MAAO5C,cAAc;EA2BzBgC,YACUoD,IAAgB,EAChBuI,WAAwB,EACxB5H,MAAc,EACd2e,iBAAqC,EACrC3E,UAAsB,EACtB9S,WAAwB,EACxB0mB,cAAwB,EACxBvH,YAAiC,EACjC9e,QAAkB;IARlB,SAAI,GAAJlI,IAAI;IACJ,gBAAW,GAAXuI,WAAW;IACX,WAAM,GAAN5H,MAAM;IACN,sBAAiB,GAAjB2e,iBAAiB;IACjB,eAAU,GAAV3E,UAAU;IACV,gBAAW,GAAX9S,WAAW;IACX,mBAAc,GAAd0mB,cAAc;IACd,iBAAY,GAAZvH,YAAY;IACZ,aAAQ,GAAR9e,QAAQ;IAhClB,sBAAiB,GAAW,CAAC;IAC7B,oBAAe,GAAkB,IAAI;IACrC,oBAAe,GAAgB,EAAE;IACjC,oBAAe,GAAgB,EAAE;IAEjC,cAAS,GAAY,IAAI,CAAC,CAAC;IAC3B,4BAAuB,GAAG,KAAK,CAAC,CAAC;IAEjC,SAAI,GAAW,EAAE;IACjB,gBAAW,GAAW,EAAE;IAOxB,kBAAa,GAAG,uCAAuC;IAGvD,oBAAe,GAAa,EAAE;IAC9B,uBAAkB,GAAqB,EAAE;IACzC,YAAO,GAAgB,EAAE;IAwCzB,0BAAqB,GAAY,KAAK;IAmPtC,cAAS,GAAY,KAAK;IA7QxB,IAAI,CAAC0S,MAAM,GAAGzb,4EAAkB;IAChC,IAAI,CAACqvB,kBAAkB,EAAE;EAE3B;EAIAC,QAAQ,CAAC5nB,KAAK;IACZ,IAAI,CAAC2nB,kBAAkB,EAAE;EAC3B;EAEAA,kBAAkB;IAChB,IAAI,CAACE,aAAa,GAAGjnB,MAAM,CAACknB,UAAU;IACtC,IAAI,CAACC,YAAY,GAAGnnB,MAAM,CAAConB,WAAW;EACxC;EACAxtB,QAAQ;IACN,IAAI,CAACytB,WAAW,EAAE,CAAC,CAAC;IACpB;IACA,IAAI,CAACC,eAAe,GAAG,IAAI,CAACnP,OAAO;IAEnC,IAAI,CAAC2O,cAAc,CAACS,iBAAiB,EAAE;IAEvC,IAAI,CAACC,eAAe,EAAE;EAExB;EAIAC,qBAAqB,CAACvgB,IAAS;IAC7B,IAAI,CAACwgB,qBAAqB,GAAG,IAAI;IACjC,IAAI,CAACnI,YAAY,GAAGrY,IAAI;EAE1B;EAEAygB,sBAAsB;IACpB,IAAI,CAACD,qBAAqB,GAAG,KAAK;EAEpC;EACAF,eAAe;IAEb,IAAI,CAACjI,YAAY,CAACqI,mBAAmB,EAAE,CAAC1sB,SAAS,CAC9CgM,IAAS,IAAI;MACZ,IAAI,CAACqY,YAAY,GAAGrY,IAAI;MAExB,IAAIA,IAAI,CAACxM,MAAM,GAAG,CAAC,EAAE;QACnB,IAAI,CAACmtB,iBAAiB,GAAG,IAAI;OAC9B,MAAM;QACL,IAAI,CAACA,iBAAiB,GAAG,KAAK;;IAGlC,CAAC,EACAxsB,KAAU,IAAI;MACbC,OAAO,CAACD,KAAK,CAAC,OAAO,EAAEA,KAAK,CAAC;IAC/B,CAAC,CACF;EACH;EAEAysB,YAAY;IACV,MAAM9sB,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAE7C,IAAI,CAAC0D,WAAW,CAACinB,WAAW,CAAC/sB,KAAK,CAAC,CAACE,SAAS,CAC1C8sB,QAAa,IAAI;MAChB;MACA,IAAI,CAAClnB,WAAW,CAACmnB,WAAW,CAACD,QAAQ,CAAC,CAAC,CAAC;MACxC;IACF,CAAC,EACA3sB,KAAU,IAAI;MACbC,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IACzD,CAAC,CACF;EACH;EAGAgsB,WAAW;IACT,MAAMrsB,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAC7C,IAAIpC,KAAK,EAAE;MACT,MAAMuZ,OAAO,GAAG,IAAIvB,8DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAUxZ,KAAK,EAAE,CAAC;MACzE,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAAC,GAAG,IAAI,CAAC+Y,MAAM,UAAU,EAAE;QAAEoB;MAAO,CAAE,CAAC,CAACrZ,SAAS,CAC3DC,QAAa,IAAI;QAChB,IAAI,CAACuZ,QAAQ,GAAGvZ,QAAQ;QAExB;QAEAgC,cAAc,CAACwd,OAAO,CAAC,QAAQ,EAAE,IAAI,CAACjG,QAAQ,CAAC7Z,EAAE,CAAC;QAClDsC,cAAc,CAACwd,OAAO,CAAC,MAAM,EAAE,IAAI,CAACjG,QAAQ,CAACjQ,IAAI,CAAC;QAClDtH,cAAc,CAACwd,OAAO,CAAC,OAAO,EAAE,IAAI,CAACjG,QAAQ,CAACjZ,KAAK,CAAC;QACpD0B,cAAc,CAACwd,OAAO,CAAC,aAAa,EAAE,IAAI,CAACjG,QAAQ,CAAC1T,WAAW,CAAC;QAEhE;QACA;QACA;QACA;QACA;QACA;QAEA,IAAI,CAAC1E,IAAI,GAAG,IAAI,CAACoY,QAAQ,CAACjQ,IAAI;QAC9B,IAAI,CAACzD,WAAW,GAAG,IAAI,CAAC0T,QAAQ,CAAC1T,WAAW;QAC5C,IAAI,CAACsB,MAAM,GAAG,IAAI,CAACoS,QAAQ,CAAC7Z,EAAE;QAC9B,IAAI,CAACqtB,sBAAsB,CAAC,IAAI,CAACxT,QAAQ,CAAC7Z,EAAE,CAAC;QAC7C,IAAI,CAACstB,wBAAwB,EAAE;MAGjC,CAAC,EACA9sB,KAAU,IAAI;QACbC,OAAO,CAACD,KAAK,CAAC,uCAAuC,EAAEA,KAAK,CAAC;QAC7D,IAAI,CAAC8K,MAAM,EAAE;MACf,CAAC,CACF;;EAEL;EAEAgiB,wBAAwB;IACtB,IAAI,CAACtQ,iBAAiB,CAACQ,aAAa,EAAE,CAACnd,SAAS,CAC7CgM,IAAS,IAAI;MACZ,IAAI,CAACoR,eAAe,GAAGpR,IAAI;MAC3B,IAAI,CAACtM,SAAS,GAAG,KAAK;MACtB,IAAI,CAACwd,mBAAmB,EAAE;IAE5B,CAAC,EACA/c,KAAK,IAAI;MACR,IAAI,CAACT,SAAS,GAAG,KAAK;MACtBU,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IACzD,CAAC,CACF;IAED,IAAI,CAACwc,iBAAiB,CAACK,aAAa,EAAE,CAAChd,SAAS,CAC7CgM,IAAiB,IAAI;MACpB,IAAI,CAACiR,OAAO,GAAGjR,IAAI;MACnB;IACF,CAAC,EACA7L,KAAK,IAAI;MACR,IAAI,CAACT,SAAS,GAAG,KAAK;MACtBU,OAAO,CAACD,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;IACjD,CAAC,CACF;IAED,IAAI,CAACwc,iBAAiB,CAACuQ,iBAAiB,CAAC,IAAI,CAAC9lB,MAAM,CAAC,CAACpH,SAAS,CAC5DgM,IAAW,IAAI;MACd,IAAI,CAACmhB,kBAAkB,GAAGnhB,IAAI;MAC9B;IACF,CAAC,EACA7L,KAAK,IAAI;MACR,IAAI,CAACT,SAAS,GAAG,KAAK;MACtBU,OAAO,CAACD,KAAK,CAAC,+CAA+C,EAAEA,KAAK,CAAC;MACrEsZ,QAAQ,CAACC,MAAM,EAAE;IACnB,CAAC,CACF;EACH;EAEA;EACAwD,mBAAmB;IACjB,MAAMQ,KAAK,GAAG,IAAI,CAACC,yBAAyB,EAAE;IAE9C,IAAID,KAAK,CAACle,MAAM,GAAG,CAAC,EAAE;MACpB,IAAI,CAACoe,eAAe,GAAGF,KAAK,CAAC,CAAC,CAAC,CAAC/d,EAAE;MAClC,IAAI,CAACke,uBAAuB,EAAE;KAC/B,MAAM;MACL,IAAI,CAACD,eAAe,GAAG,IAAI;MAC3B,IAAI,CAACE,eAAe,GAAG,EAAE;;EAE7B;EAEAH,yBAAyB;IAEvB,IAAIN,iBAAiB,GAAG,IAAI,CAACD,eAAe,CAACzV,IAAI,CAC9CoW,MAAM,IAAKA,MAAM,CAACpe,EAAE,IAAI,IAAI,CAAC0d,iBAAiB,CAChD;IAED;IACA,IAAI,OAAOA,iBAAiB,KAAK,WAAW,EAAE;MAC5C,IAAI,CAACA,iBAAiB,GAAG,IAAI,CAACD,eAAe,CAAC,CAAC,CAAC,CAACzd,EAAE;MACnD,IAAI0d,iBAAiB,GAAG,IAAI,CAACD,eAAe,CAAC,CAAC,CAAC;;IAEjD,OAAOC,iBAAiB,GAAGA,iBAAiB,CAACK,KAAK,GAAG,EAAE;EACzD;EAEAM,cAAc,CAACoP,MAAc;IAC3B,IAAI,CAACxP,eAAe,GAAGwP,MAAM;IAC7B,IAAI,CAACvP,uBAAuB,EAAE;EAChC;EAEAA,uBAAuB;IACrB,MAAMZ,OAAO,GAAG,IAAI,CAACiB,kBAAkB,EAAE;IACzC,IAAI,CAACJ,eAAe,GAAGb,OAAO,CAAC1H,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;EAC5C;EAEA8X,2BAA2B;IACzB;IACA,MAAMC,sBAAsB,GAAG,IAAI,CAACH,kBAAkB,CAACxlB,IAAI,CACxD4lB,cAAc,IAAKA,cAAc,CAACC,QAAQ,IAAI,IAAI,CAAChU,QAAQ,CAAC7Z,EAAE,CAChE;IAED;IACA,IAAI,CAAC2tB,sBAAsB,EAAE;MAC3B,OAAO,EAAE;;IAGX;IACA;IACA;IACA;IACA;IAEA;IACA,MAAMG,mBAAmB,GAAG,IAAI,CAACxQ,OAAO,CAACvS,MAAM,CAAE0T,MAAM,IACrDkP,sBAAsB,CAACI,qBAAqB,CAACltB,QAAQ,CAAC4d,MAAM,CAAC6E,YAAY,CAAC,CAC3E;IAED,OAAOwK,mBAAmB;EAC5B;EAGAvP,kBAAkB;IAChB,MAAMC,gBAAgB,GAAG,IAAI,CAAClB,OAAO,CAACvS,MAAM,CAAE0T,MAAM,IAAKA,MAAM,CAACC,OAAO,IAAI,IAAI,CAACT,eAAe,IAAIQ,MAAM,CAACE,SAAS,IAAI,IAAI,CAACjB,iBAAiB,CAAC,IAAI,EAAE;IAEpJ;IACAc,gBAAgB,CAACnK,IAAI,CAAC,CAACtH,CAAC,EAAEuH,CAAC,KAAI;MAC7B,MAAMsK,QAAQ,GAAG,IAAIzd,IAAI,CAAC4L,CAAC,CAAC2G,OAAO,CAAC,CAACrQ,OAAO,EAAE;MAC9C,MAAMwb,QAAQ,GAAG,IAAI1d,IAAI,CAACmT,CAAC,CAACZ,OAAO,CAAC,CAACrQ,OAAO,EAAE;MAE9C;MACA,OAAOub,QAAQ,GAAGC,QAAQ;IAC5B,CAAC,CAAC;IAEF,OAAOL,gBAAgB;EAEzB;EAEA6O,sBAAsB,CAACW,SAAiB;IACtC,IAAI,CAAC/nB,WAAW,CAAConB,sBAAsB,CAACW,SAAS,CAAC,CAAC3tB,SAAS,CACzDC,QAAa,IAAI;MAChB,IAAI,CAAC2tB,cAAc,GAAG3tB,QAAQ,CAACkM,MAAM;MACrC;MACA,IAAI,IAAI,CAACyhB,cAAc,EAAE;QACvB;QACA,IAAI,CAAC5vB,MAAM,CAACY,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC;;IAIjD,CAAC,EACAuB,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,sCAAsC,EAAEA,KAAK,CAAC;IAC9D,CAAC,CACF;EACH;EAEA8K,MAAM;IACJ/K,KAAK,CAAC,8CAA8C,CAAC;IACrD;IACAmD,QAAQ,CAAC8V,MAAM,GAAG,wDAAwD;IAC1ElX,cAAc,CAACmX,UAAU,CAAC,OAAO,CAAC;IAClCtU,MAAM,CAAC2U,QAAQ,CAACC,MAAM,EAAE;EAC1B;EAEA;EACA5K,WAAW,CAACC,KAAa;IACvB,MAAMC,SAAS,GAAG3L,QAAQ,CAACC,cAAc,CAACyL,KAAK,CAAC;IAChD,IAAIC,SAAS,EAAE;MACb,MAAM6e,MAAM,GAAG7e,SAAS,CAAC8e,SAAS;MAClC,IAAIC,GAAG,GAAW,IAAI,CAAChC,aAAa,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC;MAEnD3rB,OAAO,CAAC0B,GAAG,CAACisB,GAAG,CAAC;MAChBjpB,MAAM,CAACkpB,QAAQ,CAAC;QACdD,GAAG,EAAEF,MAAM,GAAGE,GAAG;QACjB7e,QAAQ,EAAE,QAAQ,CAAC;OACpB,CAAC;;EAEN;;EAKAuP,SAAS,CAACC,WAAmB;IAC3B,IAAI,CAACC,aAAa,GAAGD,WAAW;IAChC,IAAI,CAACxZ,WAAW,CAAC0Z,cAAc,CAAC,IAAI,CAACD,aAAa,CAAC,CAAC,CAAC;IACrD,IAAI,CAACE,SAAS,GAAG,IAAI;EACvB;EACAC,UAAU;IACR,IAAI,CAACD,SAAS,GAAG,KAAK;IACtB,IAAI,CAACF,aAAa,GAAG,IAAI;IACzB,IAAI,CAACzZ,WAAW,CAAC6Z,UAAU,EAAE;EAE/B;EAEAC,cAAc,CAAC9a,KAAiB;IAC9B,MAAM+a,YAAY,GAAG,IAAI,CAACjH,UAAU,CAACS,aAAa,CAAC7M,aAAa,CAAC,kBAAkB,CAAC;IAEpF,IAAIqT,YAAY,IAAI,IAAI,EAAE;MAExB,IAAI,IAAI,CAACJ,SAAS,IAAI,IAAI,CAAC3Z,WAAW,CAACga,UAAU,IAAI,CAAC,EAAE;QACtD,MAAMC,cAAc,GAAGjb,KAAK,CAAC4H,MAAqB;QAElD,IAAIqT,cAAc,KAAKF,YAAY,IAAI,CAAEA,YAA4B,CAAClO,QAAQ,CAACoO,cAAc,CAAC,EAAE;UAC9F;UACA,IAAI,CAACL,UAAU,EAAE;;OAGpB,MAAM;QACL,IAAI,CAAC5Z,WAAW,CAACka,cAAc,EAAE;;;EAGvC;EAGAC,qBAAqB;IACnB;IACA,IAAI,CAAC4N,wBAAwB,EAAE;IAC/B;EACF;;EACA3N,eAAe;IACb,IAAI,CAACthB,MAAM,CAACY,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC;EAC9C;EAEA0e,gBAAgB,CAACC,QAAgB;IAC/B,MAAMC,WAAW,GAAG,IAAI1c,IAAI,CAACyc,QAAQ,CAAC;IACtC,OAAO,IAAI,CAAChY,QAAQ,CAACkY,SAAS,CAACD,WAAW,EAAE,kBAAkB,CAAC;EACjE;;SAnWWvlB,cAAc;;mBAAdA,MAAc;AAAA;;QAAdA,MAAc;EAAAwC;EAAAwzB;IAAA;;eAAdvtB,oBAAgB;MAAA;;;;;;;;MCvC7B7F,6DAAAA,WAAM;MAENA,yDAAAA,0FAAqE;MACrEA,yDAAAA,oDAoIM;MAENA,2DAAAA,EAAO;;;MAvImBA,wDAAAA,GAAe;MAAfA,yDAAAA,uBAAe;MACnCA,wDAAAA,GAAgB;MAAhBA,yDAAAA,wBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACIhB,MAAOtC,eAAe;EAC1B0B,YAAoB+D,MAAc;IAAd,WAAM,GAANA,MAAM;EAC1B;EACAiX,sBAAsB;IACpB,IAAI,CAACjX,MAAM,CAACY,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;EAC1C;;SALWrG,eAAe;;mBAAfA,MAAe;AAAA;;QAAfA,MAAe;EAAAkC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCR5BC,uDAAAA,oBAA+B;MAC/BA,4DAAAA,aAAuB;MAICA,uDAAAA,aAA0C;MAAAA,0DAAAA,EAAM;MAClEA,4DAAAA,aAAqD;MAAhDA,wDAAAA;QAAA,OAAS6F,4BAAwB;MAAA,EAAC;MAAe7F,uDAAAA,aAAwC;MAAAA,0DAAAA,EAAM;MAEtGA,4DAAAA,aAA0B;MACCA,oDAAAA,uBAAe;MAAAA,0DAAAA,EAAK;MAGjDA,4DAAAA,WAAK;MACHA,uDAAAA,cAAoE;MACtEA,0DAAAA,EAAM;MACNA,4DAAAA,cAAwB;MAEKA,oDAAAA,uBAAe;MAAAA,0DAAAA,EAAK;MAE/CA,4DAAAA,aAAsB;MAAAA,oDAAAA,kXAGC;MAAAA,0DAAAA,EAAI;MAC3BA,4DAAAA,eAAqC;MAChCA,wDAAAA;QAAA,OAAS6F,4BAAwB;MAAA,EAAC;MAAuB7F,oDAAAA,iCAAoB;MAAAA,0DAAAA,EAAI;MAEtFA,uDAAAA,UAAI;MACNA,0DAAAA,EAAM;MAGRA,uDAAAA,gBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7B0C;AAGJ;;;;;;;;;;ICuB3DA,4DAAAA,cAA0C;IAEdA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAc;IAAA,EAAC;IAC9CA,uDAAAA,cAA+C;IACjDA,0DAAAA,EAAM;IAERA,4DAAAA,cAAsB;IACOA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,wBAAgB;IAAA,EAAC;IACnDA,uDAAAA,cAAmD;IACrDA,0DAAAA,EAAM;IACNA,4DAAAA,cAAqD;IAAhDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,wBAAgB;IAAA,EAAC;IAC7BA,uDAAAA,cAAqD;IACvDA,0DAAAA,EAAM;IAERA,4DAAAA,cAAsB;IAElBA,uDAAAA,eAAuD;IACzDA,0DAAAA,EAAM;IACNA,4DAAAA,eAA0B;IACxBA,uDAAAA,eAAiD;IACnDA,0DAAAA,EAAM;IAERA,4DAAAA,eAAsB;IACMA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,gBAAQ;IAAA,EAAC;IAC1CA,uDAAAA,eAAuC;IACzCA,0DAAAA,EAAM;IACNA,4DAAAA,eAAqD;IAAhDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,wBAAgB;IAAA,EAAC;IAC7BA,uDAAAA,eAAkF;IACpFA,0DAAAA,EAAM;;;AD3CJ,MAAOkB,aAAa;EASxB9B,YACU+D,MAAc,EACdga,UAAsB,EACtBpS,WAAwB,EACxBvI,IAAgB,EAChBoI,YAA0B;IAJ1B,WAAM,GAANzH,MAAM;IACN,eAAU,GAAVga,UAAU;IACV,gBAAW,GAAXpS,WAAW;IACX,SAAI,GAAJvI,IAAI;IACJ,iBAAY,GAAZoI,YAAY;IAwGtB,gBAAW,GAAG,KAAK;IApGjB,IAAI,CAACwS,MAAM,GAAGzb,4EAAkB;EAClC;EAGAkC,QAAQ;IACN,IAAI,CAACwZ,wBAAwB,EAAE;EAEjC;EAEAA,wBAAwB;IACtB,MAAM9Q,MAAM,GAAG1E,QAAQ,CAACT,cAAc,CAACC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,CAACuD,YAAY,CAAC0S,sBAAsB,CAAC/Q,MAAM,CAAC,CAACpH,SAAS,CACvDC,QAAQ,IAAI;MAEX,MAAMmY,GAAG,GAAGV,MAAM,CAACW,MAAM,CAACpY,QAAQ,CAAC;MACnC,IAAImY,GAAG,CAAC5X,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC5B,IAAI,CAAC8X,aAAa,GAAC,IAAI;OACxB,MAAI;QACH,IAAI,CAACA,aAAa,GAAC,KAAK;;MAG1B;MACA,IAAIF,GAAG,CAAC5X,QAAQ,CAAC,eAAe,CAAC,EAAE;QACjC,IAAI,CAAC+X,YAAY,GAAC,IAAI;OACvB,MAAI;QACH,IAAI,CAACA,YAAY,GAAC,KAAK;;IAG3B,CAAC,EACApY,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACtB,CAAC,CACF;EAEH;EACA2O,WAAW,CAACC,KAAa;IACvB,MAAMyJ,aAAa,GAAG,IAAI,CAACR,UAAU,CAACS,aAAa,CAAC7M,aAAa,CAAC,GAAG,GAAGmD,KAAK,CAAC;IAC9E3O,OAAO,CAAC0B,GAAG,CAAC0W,aAAa,CAAC;IAC1B,IAAIA,aAAa,EAAE;MACjBA,aAAa,CAACvJ,cAAc,CAAC;QAAEC,QAAQ,EAAE;MAAQ,CAAE,CAAC;;EAExD;EAEAlK,eAAe;IACb,IAAI,CAAChH,MAAM,CAACY,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;EAClC;EAEA8Z,UAAU;IACR,IAAI,CAAC1a,MAAM,CAACY,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC;EACzC;EAEA+Z,WAAW;IACT,IAAI,CAAC3a,MAAM,CAACY,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC;EAC9C;EAEAga,aAAa;IACX,IAAI,CAAC5a,MAAM,CAACY,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC;EAC5C;EAEAia,cAAc;IACZ,IAAI,CAAC7a,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EACAka,YAAY;IACV,IAAI,CAAC9a,MAAM,CAACY,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;EAC3C;EAEAma,cAAc;IACZ,IAAI,CAAC/a,MAAM,CAACY,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC;EAC3C;EAEAoa,cAAc,CAACC,IAAY;IACzB,IAAI,CAACjb,MAAM,CAACY,QAAQ,CAAC,CAAC,cAAc,EAAEqa,IAAI,CAAC,CAAC;EAC9C;EAGAC,cAAc;IACZ,IAAI,CAAClb,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EACAqM,MAAM;IACJ,MAAMnL,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAC7C;IACAmB,QAAQ,CAAC8V,MAAM,GAAG,wDAAwD;IAC1ElX,cAAc,CAACmX,UAAU,CAAC,OAAO,CAAC;IAClC,IAAItZ,KAAK,EAAE;MACT,MAAMuZ,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAUxZ,KAAK,EAAE,CAAC;MACzE,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAC,GAAG,IAAI,CAACtB,MAAM,cAAc,EAAE,IAAI,EAAE;QAAEoB;MAAO,CAAE,CAAC,CAACrZ,SAAS,CACvE,MAAK;QAEH,IAAI,CAACwZ,QAAQ,GAAG,IAAI;QACpB1U,MAAM,CAAC2U,QAAQ,CAACC,MAAM,EAAE,CAAC,CAAC;QAE1B;MACF,CAAC,EACAvZ,KAAU,IAAI;QACbC,OAAO,CAACD,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;MAC/C,CAAC,CACF;;EAEL;EAIAwZ,aAAa;IACX,IAAI,CAACC,WAAW,GAAG,CAAC,IAAI,CAACA,WAAW;EACtC;EAEAC,YAAY;IACV,IAAI,CAACD,WAAW,GAAG,KAAK;EAC1B;;SA9HW7d,aAAa;;mBAAbA,MAAa;AAAA;;QAAbA,MAAa;EAAAtB;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCZ1BC,4DAAAA,aAA4B;MAIlBA,wDAAAA;QAAA,OAAS6F,iBAAa;MAAA,EAAC;MAA7B7F,0DAAAA,EAAkE;MAClEA,4DAAAA,WAAM;MAAAA,oDAAAA,YAAK;MAAAA,0DAAAA,EAAO;MAEpBA,4DAAAA,aAAwB;MACjBA,wDAAAA;QAAA,OAAS6F,mBAAe,OAAO,CAAC;MAAA,EAAC;MAAtC7F,0DAAAA,EAA2I;MAC3IA,4DAAAA,WAAM;MAAAA,oDAAAA,eAAQ;MAAAA,0DAAAA,EAAO;MAEvBA,4DAAAA,cAAuB;MACfA,wDAAAA;QAAA,OAAS6F,mBAAe;MAAA,EAAC;MAA/B7F,0DAAAA,EAAwE;MACxEA,4DAAAA,YAAM;MAAAA,oDAAAA,eAAO;MAAAA,0DAAAA,EAAO;MAGtBA,4DAAAA,cAA+B;MAExBA,wDAAAA;QAAA,OAAS6F,mBAAe,eAAe,CAAC;MAAA,EAAC;MAA9C7F,0DAAAA,EAA+I;MACjJA,4DAAAA,YAAM;MAAAA,oDAAAA,eAAO;MAAAA,0DAAAA,EAAO;MAEpBA,4DAAAA,cAAsD;MAA1BA,wDAAAA;QAAA,OAAS6F,mBAAe;MAAA,EAAC;MACnD7F,uDAAAA,cAAmD;MACnDA,4DAAAA,YAAM;MAAAA,oDAAAA,YAAI;MAAAA,0DAAAA,EAAO;MAIrBA,wDAAAA,oDA+BM;MA1DNA,0DAAAA,EAA4B;;;MAQeA,uDAAAA,GAAoF;MAApFA,wDAAAA,0FAAAA,2DAAAA,CAAoF;MAU5EA,uDAAAA,GAAgF;MAAhFA,wDAAAA,sFAAAA,2DAAAA,CAAgF;MAS5GA,uDAAAA,GAAiB;MAAjBA,wDAAAA,yBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxB4B,CAAC;;;;;;;;;ICejEA,4DAAAA,cAA+C;IAC7CA,uDAAAA,cAA0B;IAACA,oDAAAA,oBAC7B;IAAAA,0DAAAA,EAAM;;;;;;IAdVA,4DAAAA,aAA6C;IAGnCA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAK;IAEpCA,4DAAAA,aAAwB;IACtBA,uDAAAA,aAAqE;IACvEA,0DAAAA,EAAM;IACNA,4DAAAA,aAA0B;IACGA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAc;IAAA,EAAC;IAACA,oDAAAA,eAAQ;IAAAA,0DAAAA,EAAS;IACrEA,4DAAAA,kBAAsD;IAA1BA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,uBAAe;IAAA,EAAC;IAACA,oDAAAA,cAAM;IAAAA,0DAAAA,EAAS;IAEvEA,wDAAAA,mEAEM;IACRA,0DAAAA,EAAM;;;;IATGA,uDAAAA,GAAgB;IAAhBA,wDAAAA,yBAAAA,2DAAAA,CAAgB;IAMjBA,uDAAAA,GAAe;IAAfA,wDAAAA,0BAAe;;;;;IAqBjBA,uDAAAA,gBAAyG;;;;IAAnCA,wDAAAA,2BAAuB;;;;;IAI3FA,4DAAAA,eAAsF;IAAAA,oDAAAA,8BACxE;IAAAA,0DAAAA,EAAO;;;;;;;;;;IAJvBA,4DAAAA,UAAwC;IACtCA,uDAAAA,gBACoF;IACpFA,wDAAAA,qFACqB;IACvBA,0DAAAA,EAAM;;;;;IAHFA,uDAAAA,GAA2C;IAA3CA,mEAAAA,2CAA2C;IADXA,wDAAAA,YAAAA,6DAAAA,gEAAyE;IAEpGA,uDAAAA,GAAgD;IAAhDA,wDAAAA,+DAAgD;;;;;IAN3DA,4DAAAA,UAAoC;IACRA,oDAAAA,GAAmB;IAAAA,0DAAAA,EAAQ;IACrDA,wDAAAA,iFAAyG;IACzGA,wDAAAA,6EAKM;IACRA,0DAAAA,EAAM;;;;IARsBA,uDAAAA,GAAmB;IAAnBA,+DAAAA,kBAAmB;IACrCA,uDAAAA,GAAiC;IAAjCA,wDAAAA,wCAAiC;IACnCA,uDAAAA,GAAgC;IAAhCA,wDAAAA,uCAAgC;;;;;IAWtCA,uDAAAA,gBAAyG;;;;IAAnCA,wDAAAA,2BAAuB;;;;;IAG3FA,4DAAAA,eAAoF;IAAAA,oDAAAA,8BAAkB;IAAAA,0DAAAA,EAAO;;;;;IAF/GA,4DAAAA,UAAwC;IACtCA,uDAAAA,gBAA0F;IAC1FA,wDAAAA,qFAA6G;IAC/GA,0DAAAA,EAAM;;;;;IAF8BA,uDAAAA,GAAyC;IAAzCA,mEAAAA,yCAAyC;IACpEA,uDAAAA,GAA8C;IAA9CA,wDAAAA,6DAA8C;;;;;IALzDA,4DAAAA,UAAkC;IACNA,oDAAAA,GAAmB;IAAAA,0DAAAA,EAAQ;IACrDA,wDAAAA,iFAAyG;IACzGA,wDAAAA,6EAGM;IAERA,0DAAAA,EAAM;;;;IAPsBA,uDAAAA,GAAmB;IAAnBA,+DAAAA,kBAAmB;IACrCA,uDAAAA,GAAiC;IAAjCA,wDAAAA,wCAAiC;IACnCA,uDAAAA,GAAgC;IAAhCA,wDAAAA,uCAAgC;;;;;IAUtCA,uDAAAA,gBAAyG;;;;IAAnCA,wDAAAA,2BAAuB;;;;;IAM3FA,4DAAAA,eAA8F;IAAAA,oDAAAA,8BAChF;IAAAA,0DAAAA,EAAO;;;;;;IANvBA,4DAAAA,UAAwC;IACVA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,wCAA6B;IAAA,EAAC;IAACA,uDAAAA,YAC9D;IAAAA,oDAAAA,4BAAW;IAAAA,0DAAAA,EAAM;IACvBA,4DAAAA,cAAwB;IAAAA,oDAAAA,GAAiB;IAAAA,0DAAAA,EAAM;IAC/CA,uDAAAA,gBAAsG;IACtGA,wDAAAA,qFACqB;IACvBA,0DAAAA,EAAM;;;;;IAJoBA,uDAAAA,GAAiB;IAAjBA,+DAAAA,qBAAiB;IACPA,uDAAAA,GAAmD;IAAnDA,mEAAAA,mDAAmD;IAC9EA,uDAAAA,GAAwD;IAAxDA,wDAAAA,uEAAwD;;;;;IARnEA,4DAAAA,cAAuE;IAC9BA,oDAAAA,GAAmB;IAAAA,0DAAAA,EAAQ;IAClEA,wDAAAA,iFAAyG;IACzGA,wDAAAA,6EAOM;IACRA,0DAAAA,EAAM;;;;IAVmCA,uDAAAA,GAAmB;IAAnBA,+DAAAA,kBAAmB;IAClDA,uDAAAA,GAAiC;IAAjCA,wDAAAA,wCAAiC;IACnCA,uDAAAA,GAAgC;IAAhCA,wDAAAA,uCAAgC;;;;;IAatCA,uDAAAA,gBAAyG;;;;IAAnCA,wDAAAA,2BAAuB;;;;;IAGzFA,4DAAAA,iBAA+F;IAAAA,oDAAAA,GAC/F;IAAAA,0DAAAA,EAAS;;;;IADDA,wDAAAA,oBAAe;IAAwEA,uDAAAA,GAC/F;IAD+FA,gEAAAA,oBAC/F;;;;;IAEFA,4DAAAA,eAAqF;IAAAA,oDAAAA,8BAAkB;IAAAA,0DAAAA,EAAO;;;;;;IALhHA,4DAAAA,UAAwC;IACwCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA,EAA8B;IAC1GA,wDAAAA,yFACS;IACXA,0DAAAA,EAAS;IACTA,wDAAAA,qFAA8G;IAChHA,0DAAAA,EAAM;;;;;IAL+BA,uDAAAA,GAA0C;IAA1CA,mEAAAA,0CAA0C;IAACA,wDAAAA,qCAA8B;IAChEA,uDAAAA,GAAgB;IAAhBA,wDAAAA,2BAAgB;IAGrDA,uDAAAA,GAA+C;IAA/CA,wDAAAA,8DAA+C;;;;;IAR1DA,4DAAAA,UAAmC;IACPA,oDAAAA,GAAmB;IAAAA,0DAAAA,EAAQ;IACrDA,wDAAAA,iFAAyG;IACzGA,wDAAAA,6EAMM;IACRA,0DAAAA,EAAM;;;;IATsBA,uDAAAA,GAAmB;IAAnBA,+DAAAA,kBAAmB;IACrCA,uDAAAA,GAAiC;IAAjCA,wDAAAA,wCAAiC;IACnCA,uDAAAA,GAAgC;IAAhCA,wDAAAA,uCAAgC;;;;;IAYtCA,uDAAAA,gBAAyG;;;;IAAnCA,wDAAAA,2BAAuB;;;;;IAE3FA,4DAAAA,cAA2D;IAEvDA,uDAAAA,gBAAqF;IAAAA,oDAAAA,GACvF;IAAAA,0DAAAA,EAAQ;;;;;IADCA,uDAAAA,GAAgD;IAAhDA,mEAAAA,gDAAgD;IAAcA,wDAAAA,oBAAe;IAACA,uDAAAA,GACvF;IADuFA,gEAAAA,oBACvF;;;;;IAEFA,4DAAAA,eAA2F;IAAAA,oDAAAA,8BAC7E;IAAAA,0DAAAA,EAAO;;;;;IAPvBA,4DAAAA,UAAwC;IACtCA,wDAAAA,mFAIM;IACNA,wDAAAA,qFACqB;IACvBA,0DAAAA,EAAM;;;;;IAPuCA,uDAAAA,GAAc;IAAdA,wDAAAA,2BAAc;IAKlDA,uDAAAA,GAAqD;IAArDA,wDAAAA,oEAAqD;;;;;IAThEA,4DAAAA,cAAoE;IAC1CA,oDAAAA,GAAmB;IAAAA,0DAAAA,EAAQ;IACnDA,wDAAAA,iFAAyG;IACzGA,wDAAAA,6EAQM;IACRA,0DAAAA,EAAM;;;;IAXoBA,uDAAAA,GAAmB;IAAnBA,+DAAAA,kBAAmB;IACnCA,uDAAAA,GAAiC;IAAjCA,wDAAAA,wCAAiC;IACnCA,uDAAAA,GAAgC;IAAhCA,wDAAAA,uCAAgC;;;;;IActCA,uDAAAA,gBAAyG;;;;IAAnCA,wDAAAA,2BAAuB;;;;;;IAE3FA,4DAAAA,cAA2D;IAEvDA,wDAAAA;MAAA;MAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,uEAAuD;IAAA,EAAC;IADpEA,0DAAAA,EACqE;IACrEA,oDAAAA,GACF;IAAAA,0DAAAA,EAAM;;;;;IAHuBA,uDAAAA,GAA6C;IAA7CA,mEAAAA,6CAA6C;IAAiBA,wDAAAA,oBAAe;IAExGA,uDAAAA,GACF;IADEA,gEAAAA,qBACF;;;;;IACAA,4DAAAA,eAAwF;IAAAA,oDAAAA,8BAC1E;IAAAA,0DAAAA,EAAO;;;;;IAPvBA,4DAAAA,UAAwC;IACtCA,wDAAAA,mFAIM;IACNA,wDAAAA,qFACqB;IACvBA,0DAAAA,EAAM;;;;;IAPuCA,uDAAAA,GAAc;IAAdA,wDAAAA,2BAAc;IAKlDA,uDAAAA,GAAkD;IAAlDA,wDAAAA,iEAAkD;;;;;IAT7DA,4DAAAA,cAAiE;IACrCA,oDAAAA,GAAmB;IAAAA,0DAAAA,EAAQ;IACrDA,wDAAAA,iFAAyG;IACzGA,wDAAAA,6EAQM;IACRA,0DAAAA,EAAM;;;;IAXsBA,uDAAAA,GAAmB;IAAnBA,+DAAAA,kBAAmB;IACrCA,uDAAAA,GAAiC;IAAjCA,wDAAAA,wCAAiC;IACnCA,uDAAAA,GAAgC;IAAhCA,wDAAAA,uCAAgC;;;;;IAetCA,4DAAAA,UAAwC;IACtCA,uDAAAA,cAAwD;IAC1DA,0DAAAA,EAAM;;;;IADCA,uDAAAA,GAAsB;IAAtBA,wDAAAA,0BAAAA,2DAAAA,CAAsB;;;;;IAG7BA,4DAAAA,gBAAiG;IAAAA,uDAAAA,YAC5D;IAAAA,oDAAAA,sBAC/B;IAAAA,0DAAAA,EAAQ;;;;IAF4BA,mEAAAA,+BAA2B;;;;;;IAKrEA,4DAAAA,cAAwD;IACtDA,uDAAAA,cAA6D;IAC7DA,4DAAAA,YAA2E;IAAxEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,gCAAqB;IAAA,EAAC;IAAyCA,0DAAAA,EAAI;;;;;IAD1EA,uDAAAA,GAA2B;IAA3BA,wDAAAA,wCAAAA,2DAAAA,CAA2B;;;;;IAGlCA,4DAAAA,eAAsF;IAAAA,oDAAAA,8BAAkB;IAAAA,0DAAAA,EAAO;;;;;;IAhBjHA,4DAAAA,cAA+D;IACLA,oDAAAA,GAAmB;IAAAA,0DAAAA,EAAQ;IAEnFA,wDAAAA,6EAEM;IAENA,wDAAAA,iFAEc;IACdA,4DAAAA,oBACoE;IAAlEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,2CAA+B;IAAA,EAAC;IAD5CA,0DAAAA,EACoE;IACpEA,wDAAAA,6EAGM;IACNA,wDAAAA,+EAA+G;IAEjHA,0DAAAA,EAAM;;;;;IAjBoDA,uDAAAA,GAAmB;IAAnBA,+DAAAA,kBAAmB;IAErEA,uDAAAA,GAAgC;IAAhCA,wDAAAA,wCAAgC;IAI9BA,uDAAAA,GAAgC;IAAhCA,wDAAAA,uCAAgC;IAGjCA,uDAAAA,GAA0B;IAA1BA,mEAAAA,8BAA0B;IAAYA,mEAAAA,2CAA2C;IAElFA,uDAAAA,GAAyB;IAAzBA,wDAAAA,wCAAyB;IAIxBA,uDAAAA,GAAgD;IAAhDA,wDAAAA,+DAAgD;;;;;IAjG3DA,4DAAAA,UAAgC;IAC9BA,wDAAAA,uEASM;IAGNA,wDAAAA,uEAQM;IAGNA,wDAAAA,uEAWM;IAGNA,wDAAAA,uEAUM;IAGNA,wDAAAA,uEAYM;IAGNA,wDAAAA,uEAYM;IAGNA,wDAAAA,uEAkBM;IAERA,0DAAAA,EAAM;;;;IApGEA,uDAAAA,GAA4B;IAA5BA,wDAAAA,mCAA4B;IAY5BA,uDAAAA,GAA0B;IAA1BA,wDAAAA,iCAA0B;IAWCA,uDAAAA,GAAoC;IAApCA,wDAAAA,2CAAoC;IAc/DA,uDAAAA,GAA2B;IAA3BA,wDAAAA,kCAA2B;IAaAA,uDAAAA,GAAiC;IAAjCA,wDAAAA,wCAAiC;IAejCA,uDAAAA,GAA8B;IAA9BA,wDAAAA,qCAA8B;IAe9BA,uDAAAA,GAA4B;IAA5BA,wDAAAA,mCAA4B;;;;;IAsB/DA,4DAAAA,UAAqC;IACHA,oDAAAA,2CAAoC;IAAAA,0DAAAA,EAAI;;;;;IAStEA,uDAAAA,cAAsD;;;;;;IA5H9DA,4DAAAA,cAAqC;IAGfA,oDAAAA,eAAQ;IAAAA,0DAAAA,EAAK;IAC/BA,4DAAAA,cAAuE;IAAlEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yBAAgB;IAAA,EAAC;IAA/BA,0DAAAA,EAAuE;IAGzEA,uDAAAA,SAAM;IAENA,4DAAAA,eAA6E;IAA/BA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAYA,yDAAAA,0BAAiB;IAAA,EAAC;IAE1EA,wDAAAA,iEAqGM;IAENA,wDAAAA,iEAMM;IACNA,4DAAAA,iBAA6C;IAErBA,oDAAAA,eAAO;IAAAA,0DAAAA,EAAI;IAC/BA,wDAAAA,mEAAsD;IAExDA,0DAAAA,EAAM;IAGRA,4DAAAA,eAAoD;IAA/CA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yBAAgB;IAAA,EAAC;IAC7BA,4DAAAA,cAAwB;IACtBA,oDAAAA,kBAAS;IAAAA,0DAAAA,EAAK;;;;IA1HGA,uDAAAA,GAAsB;IAAtBA,wDAAAA,8BAAsB;IAErBA,uDAAAA,GAAQ;IAARA,wDAAAA,yBAAQ;IAuGxBA,uDAAAA,GAA6B;IAA7BA,wDAAAA,wCAA6B;IAUJA,uDAAAA,GAAmB;IAAnBA,wDAAAA,8BAAmB;;;AD1IhD,MAAOzB,sBAAsB;EAiBjCa,YAAoB+D,MAAc,EACxBG,KAAqB,EACrB+vB,eAAgC,EAChCjwB,WAAwB,EACxBkwB,KAAmB;IAJT,WAAM,GAANnwB,MAAM;IAChB,UAAK,GAALG,KAAK;IACL,oBAAe,GAAf+vB,eAAe;IACf,gBAAW,GAAXjwB,WAAW;IACX,UAAK,GAALkwB,KAAK;IAnBf,kBAAa,GAAY,KAAK;IAG9B,iBAAY,GAAa,EAAE;IAC3B,uBAAkB,GAA+B,EAAE;IAKnD,eAAU,GAA8B,EAAE;IA2T1C,cAAS,GAAY,KAAK;IAG1B,cAAS,GAAY,KAAK;EAlT1B;EAEAzvB,QAAQ;IACN0B,OAAO,CAAC0B,GAAG,CAAC,+BAA+B,CAAC;IAC5C,IAAI,CAACsF,MAAM,GAAG1E,QAAQ,CAACT,cAAc,CAACC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;IAC5D,IAAI,CAAC/D,KAAK,CAAC8H,MAAM,CAACjG,SAAS,CAAEiG,MAAM,IAAI;MACrC,MAAMmoB,QAAQ,GAAGnoB,MAAM,CAAC,IAAI,CAAC;MAC7B,IAAI,CAACooB,MAAM,GAAGD,QAAQ;MACtB,IAAI,CAACE,0BAA0B,CAACF,QAAQ,CAAC;IAC3C,CAAC,CAAC;IAMF,IAAI,CAACzlB,QAAQ,GAAGiH,SAAS,CAAC2e,MAAM;IAChCzpB,MAAM,CAACod,gBAAgB,CAAC,QAAQ,EAAE,MAAK;MACrC,IAAI,CAACvZ,QAAQ,GAAG,IAAI;IACtB,CAAC,CAAC;IAEF7D,MAAM,CAACod,gBAAgB,CAAC,SAAS,EAAE,MAAK;MACtC,IAAI,CAACvZ,QAAQ,GAAG,KAAK;IACvB,CAAC,CAAC;EAEJ;EAEA6lB,eAAe;IACb,IAAI,CAACL,KAAK,CAACM,MAAM,EAAE,CAACxO,IAAI,CAAE9N,MAAW,IAAI;MACvC,IAAIA,MAAM,IAAIuc,KAAK,CAACC,OAAO,CAACxc,MAAM,CAACyc,IAAI,CAAC,EAAE;QAExCzc,MAAM,CAACyc,IAAI,CAAC9lB,OAAO,CAAE+lB,GAAQ,IAAI;UAC/B,IAAIA,GAAG,IAAIA,GAAG,CAACC,GAAG,EAAE;YAClB,MAAMA,GAAG,GAAGD,GAAG,CAACC,GAAG;YACnB1uB,OAAO,CAAC0B,GAAG,CAACgtB,GAAG,CAACC,SAAS,CAAC;YAC1BD,GAAG,CAACC,SAAS,CAACjmB,OAAO,CAACkmB,QAAQ,IAAG;cAG/B,MAAMC,QAAQ,GAAG,IAAI,CAACC,KAAK,CAACvnB,IAAI,CAAC0F,IAAI,IAAIA,IAAI,CAAC1N,EAAE,KAAKqvB,QAAQ,CAACG,WAAW,CAAC;cAE1E,IAAIF,QAAQ,EAAE;gBACZ;gBACAA,QAAQ,CAACD,QAAQ,GAAGA,QAAQ,CAACA,QAAQ;gBACrCC,QAAQ,CAACG,WAAW,GAAGJ,QAAQ,CAACI,WAAW;;YAI/C,CAAC,CAAC;;QAGN,CAAC,CAAC;;IAEN,CAAC,CAAC;EACJ;EAEAd,0BAA0B,CAACF,QAAQ;IACjC,IAAI,CAACF,eAAe,CAACI,0BAA0B,CAACF,QAAQ,CAAC,CAACpuB,SAAS,CAChEgM,IAAI,IAAI;MACP,IAAI,CAACkjB,KAAK,GAAGljB,IAAI;MACjB,IAAI,CAACqjB,mBAAmB,CAACrjB,IAAI,CAAC;MAE9B,IAAI,IAAI,CAACrD,QAAQ,EAAE;QACjB,IAAI,CAAC2mB,0BAA0B,CAAClB,QAAQ,CAAC;QACzChuB,OAAO,CAAC0B,GAAG,CAAC,0BAA0B,CAAC;OAExC,MAAM;QACL,IAAI,CAAC0sB,eAAe,EAAE;QACtB,IAAI,CAACc,0BAA0B,CAAClB,QAAQ,CAAC;;IAI7C,CAAC,EACAjuB,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;IAElD,CAAC,CACF;EACH;EAGAmvB,0BAA0B,CAAClB,QAAQ;IACjC,IAAI,CAACF,eAAe,CAACqB,uBAAuB,CAAC,IAAI,CAACnoB,MAAM,EAAEgnB,QAAQ,CAAC,CAACpuB,SAAS,CAC1E+uB,SAAgB,IAAI;MACnBA,SAAS,CAACjmB,OAAO,CAACkmB,QAAQ,IAAG;QAC3B,MAAMC,QAAQ,GAAG,IAAI,CAACC,KAAK,CAACvnB,IAAI,CAAC0F,IAAI,IAAIA,IAAI,CAAC1N,EAAE,KAAKqvB,QAAQ,CAACG,WAAW,CAAC;QAC1E,IAAIF,QAAQ,EAAE;UACZA,QAAQ,CAACD,QAAQ,GAAGA,QAAQ,CAACA,QAAQ;UACrCC,QAAQ,CAACG,WAAW,GAAGJ,QAAQ,CAACI,WAAW;;MAE/C,CAAC,CAAC;IACJ,CAAC,EACAjvB,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;MAChDC,OAAO,CAAC0B,GAAG,CAAC3B,KAAK,CAACgM,MAAM,CAAC;MACzB,IAAIhM,KAAK,CAACgM,MAAM,IAAI,GAAG,EAAE;IAG3B,CAAC,CACF;EACH;EAEAkjB,mBAAmB,CAACG,aAAkB,EAAEC,cAAmB,IAAI;IAC7D,MAAMC,YAAY,GAAG,EAAE;IAEvBF,aAAa,CAAC1mB,OAAO,CAACuE,IAAI,IAAG;MAC3BqiB,YAAY,CAACriB,IAAI,CAAC4L,IAAI,GAAG,GAAG,GAAG5L,IAAI,CAAC1N,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE5B,+DAAmB,CAAC;IACrE,CAAC,CAAC;IAEF,IAAI,CAAC0I,QAAQ,GAAG,IAAI,CAACxI,WAAW,CAACK,KAAK,CAACoxB,YAAY,CAAC;IAEpD,IAAID,WAAW,EAAE;MACf/X,MAAM,CAACC,IAAI,CAAC8X,WAAW,CAAC,CAAC3mB,OAAO,CAAC8O,GAAG,IAAG;QACrC,MAAM+I,OAAO,GAAG,IAAI,CAACla,QAAQ,CAACvH,GAAG,CAAC0Y,GAAG,CAAC;QACtC,IAAI+I,OAAO,EAAE;UACXA,OAAO,CAACvc,QAAQ,CAACqrB,WAAW,CAAC7X,GAAG,CAAC,CAAC;;MAEtC,CAAC,CAAC;;EAEN;EACA+X,gBAAgB,CAACC,SAAkB,EAAEC,KAAa,EAAEC,UAAkB;IACpE,IAAIF,SAAS,EAAE;MACb,IAAI,CAAC,IAAI,CAACG,kBAAkB,CAACD,UAAU,CAAC,EAAE;QACxC,IAAI,CAACC,kBAAkB,CAACD,UAAU,CAAC,GAAG,EAAE;;MAE1C,IAAI,CAACC,kBAAkB,CAACD,UAAU,CAAC,CAACroB,IAAI,CAACooB,KAAK,CAAC;KAChD,MAAM;MACL,IAAI,IAAI,CAACE,kBAAkB,CAACD,UAAU,CAAC,EAAE;QACvC,MAAM7e,KAAK,GAAG,IAAI,CAAC8e,kBAAkB,CAACD,UAAU,CAAC,CAAC7iB,OAAO,CAAC4iB,KAAK,CAAC;QAChE,IAAI5e,KAAK,KAAK,CAAC,CAAC,EAAE;UAChB,IAAI,CAAC8e,kBAAkB,CAACD,UAAU,CAAC,CAACE,MAAM,CAAC/e,KAAK,EAAE,CAAC,CAAC;;;;EAI5D;EAGAgf,eAAe;IACb,IAAI,CAACC,aAAa,GAAG,IAAI;IACzB,MAAMzpB,QAAQ,GAAG,IAAI8L,QAAQ,EAAE;IAE/B,IAAI,CAAC4d,YAAY,GAAG,EAAE;IACtB,MAAMC,OAAO,GAAG;MACdC,UAAU,EAAE,IAAI,CAACjpB,MAAM;MACvB2nB,SAAS,EAAE;KACZ;IAEDrX,MAAM,CAACC,IAAI,CAAC,IAAI,CAAClR,QAAQ,CAAC6G,QAAQ,CAAC,CAACxE,OAAO,CAAC8O,GAAG,IAAG;MAEhD,IAAIA,GAAG,CAACpX,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3B,OAAO,CAAC;;;MAGV,MAAM2uB,WAAW,GAAGzsB,QAAQ,CAACkV,GAAG,CAACpV,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MAC/C,MAAMme,OAAO,GAAG,IAAI,CAACla,QAAQ,CAACvH,GAAG,CAAC0Y,GAAG,CAAC;MAEtCxX,OAAO,CAAC0B,GAAG,CAAC8V,GAAG,CAAC;MAEhB,IAAIA,GAAG,CAACpX,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC5B,MAAMuvB,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACZ,WAAW,CAAC;QAC/D,IAAIY,kBAAkB,KAAKphB,SAAS,EAAE;UAEpClI,QAAQ,CAAC+L,MAAM,CAAC,aAAa4d,OAAO,CAACrB,SAAS,CAACvvB,MAAM,gBAAgB,EAAE2vB,WAAW,CAACvmB,QAAQ,EAAE,CAAC;UAC9FnC,QAAQ,CAAC+L,MAAM,CAAC,aAAa4d,OAAO,CAACrB,SAAS,CAACvvB,MAAM,kBAAkB,EAAE,IAAI,CAAC6uB,MAAM,CAACzlB,QAAQ,EAAE,CAAC;UAChGnC,QAAQ,CAAC+L,MAAM,CAAC,aAAa4d,OAAO,CAACrB,SAAS,CAACvvB,MAAM,aAAa,EAAEuwB,kBAAkB,EAAEva,IAAI,CAAC,IAAI,CAAC,CAAC;UAEnG4a,OAAO,CAACrB,SAAS,CAACtnB,IAAI,CAAC;YACrB0nB,WAAW,EAAEA,WAAW;YACxBmB,aAAa,EAAE,IAAI,CAACjC,MAAM;YAC1BW,QAAQ,EAAEe,kBAAkB,EAAEva,IAAI,CAAC,IAAI;WACxC,CAAC;;OAEL,MAEI,IAAImL,OAAO,CAACthB,KAAK,EAAE;QAEtBoH,QAAQ,CAAC+L,MAAM,CAAC,aAAa4d,OAAO,CAACrB,SAAS,CAACvvB,MAAM,gBAAgB,EAAE2vB,WAAW,CAACvmB,QAAQ,EAAE,CAAC;QAC9FnC,QAAQ,CAAC+L,MAAM,CAAC,aAAa4d,OAAO,CAACrB,SAAS,CAACvvB,MAAM,kBAAkB,EAAE,IAAI,CAAC6uB,MAAM,CAACzlB,QAAQ,EAAE,CAAC;QAChGnC,QAAQ,CAAC+L,MAAM,CAAC,aAAa4d,OAAO,CAACrB,SAAS,CAACvvB,MAAM,aAAa,EAAEmhB,OAAO,CAACthB,KAAK,CAAC;QAElF+wB,OAAO,CAACrB,SAAS,CAACtnB,IAAI,CAAC;UACrB0nB,WAAW,EAAEA,WAAW;UACxBmB,aAAa,EAAE,IAAI,CAACjC,MAAM;UAC1BW,QAAQ,EAAErO,OAAO,CAACthB;SACnB,CAAC;;IAEN,CAAC,CAAC;IAEFoH,QAAQ,CAAC+L,MAAM,CAAC,YAAY,EAAE4d,OAAO,CAACC,UAAU,CAACznB,QAAQ,EAAE,CAAC;IAE5DxI,OAAO,CAAC0B,GAAG,CAAC,sBAAsB,CAAC;IACnC1B,OAAO,CAAC0B,GAAG,CAAC,uBAAuB,CAAC;IACpC2E,QAAQ,CAACqC,OAAO,CAAC,CAACzJ,KAAK,EAAEuY,GAAG,KAAI;MAC9BxX,OAAO,CAAC0B,GAAG,CAAC8V,GAAG,EAAE,GAAG,EAAEvY,KAAK,CAAC;IAC9B,CAAC,CAAC;IACFe,OAAO,CAAC0B,GAAG,CAAC,uBAAuB,CAAC;IAGpC,IAAIyuB,YAAY,GAAG,KAAK;IAExB7Y,MAAM,CAACC,IAAI,CAAC,IAAI,CAAClR,QAAQ,CAAC6G,QAAQ,CAAC,CAACxE,OAAO,CAAC8O,GAAG,IAAG;MAChD,MAAM+I,OAAO,GAAG,IAAI,CAACla,QAAQ,CAACvH,GAAG,CAAC0Y,GAAG,CAAC;MACtC,IAAI+I,OAAO,IAAIA,OAAO,CAACthB,KAAK,EAAE;QAC5BkxB,YAAY,GAAG,IAAI;;IAEvB,CAAC,CAAC;IAEF,IAAI,CAACA,YAAY,EAAE;MACjBrwB,KAAK,CAAC,2CAA2C,CAAC;MAClD,IAAI,CAACgwB,aAAa,GAAG,KAAK;MAC1B;;IAIF,IAAI,CAAChC,eAAe,CAAC+B,eAAe,CAACxpB,QAAQ,CAAC,CAACzG,SAAS,CACrDC,QAAQ,IAAI;MACXC,KAAK,CAACD,QAAQ,CAACI,OAAO,CAAC;MACvB,IAAI,CAACwY,cAAc,EAAE;IACvB,CAAC,EACA1Y,KAAU,IAAI;MACb,IAAI,CAAC+vB,aAAa,GAAG,KAAK;MAE1B;MACA,IAAI/vB,KAAK,CAACgM,MAAM,IAAI,CAAC,EAAE;QACrB,IAAI,CAACgiB,KAAK,CAACqC,OAAO,CAACJ,OAAO,CAAC;QAC3BlwB,KAAK,CAAC,8BAA8B,CAAC;QACrC,IAAI,CAAC2Y,cAAc,EAAE;;MAGvBzY,OAAO,CAACD,KAAK,CAAC,qCAAqC,EAAEA,KAAK,CAAC;MAC3D,IAAIA,KAAK,CAACgM,MAAM,IAAI,GAAG,EAAE;QACvBjM,KAAK,CAACC,KAAK,CAACA,KAAK,CAACE,OAAO,CAAC;;IAG9B,CAAC,CACF;EACH;EAGAwY,cAAc;IACZ,IAAI,CAAC7a,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EAEA6xB,mBAAmB,CAACX,UAAe;IACjC,IAAIlgB,SAAS,CAAC8gB,WAAW,EAAE;MACzB9gB,SAAS,CAAC8gB,WAAW,CAACC,kBAAkB,CACrCvjB,QAAQ,IAAI;QACX,MAAMwjB,QAAQ,GAAGxjB,QAAQ,CAACyjB,MAAM,CAACD,QAAQ;QACzC,MAAME,SAAS,GAAG1jB,QAAQ,CAACyjB,MAAM,CAACC,SAAS;QAE3C,IAAI,CAACrqB,QAAQ,CAACvH,GAAG,CAAC,iBAAiB,GAAG4wB,UAAU,CAAC,CAAC1rB,QAAQ,CAAC,aAAawsB,QAAQ,gBAAgBE,SAAS,EAAE,CAAC;QAC5G,IAAI,CAACC,WAAW,GAAG,aAAaH,QAAQ,gBAAgBE,SAAS,EAAE;MAErE,CAAC,EACA3wB,KAAK,IAAI;QACR,IAAI,CAACsG,QAAQ,CAACvH,GAAG,CAAC,iBAAiB,GAAG4wB,UAAU,CAAC,CAAC1rB,QAAQ,CAAC,2BAA2B,CAAC;QACvF,IAAI,CAAC2sB,WAAW,GAAG,2BAA2B;QAC9C3wB,OAAO,CAACD,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAACE,OAAO,CAAC;MAC/D,CAAC,CACF;KACF,MAAM;MACLD,OAAO,CAACD,KAAK,CAAC,8CAA8C,CAAC;;EAEjE;EAIA6wB,WAAW,CAAClB,UAAkB;IAC5B,OAAO,IAAI,CAACmB,UAAU,CAACnB,UAAU,CAAC;IAClC,MAAMvjB,KAAK,GAA4BlJ,QAAQ,CAACC,cAAc,CAAC,cAAc,GAAGwsB,UAAU,CAAqB;IAC/G,IAAIvjB,KAAK,EAAE;MACTA,KAAK,CAAClN,KAAK,GAAG,EAAE;;EAEpB;EAEA6xB,cAAc,CAAChtB,KAAU,EAAEirB,WAAgB;IAEzC,IAAG,CAAC,IAAI,CAACxmB,QAAQ,EAAC;MAChBzI,KAAK,CAAC,2DAA2D,CAAC;MAClE;;IAEF,MAAMga,IAAI,GAAShW,KAAK,CAAC4H,MAAM,CAACyF,KAAK,CAAC,CAAC,CAAC;IACxC,MAAM4f,OAAO,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAE;IAGnC,IAAIjX,IAAI,CAACtI,IAAI,GAAGuf,OAAO,EAAE;MACvBjxB,KAAK,CAAC,6DAA6D,CAAC;MACpE;;IAEF,IAAIga,IAAI,EAAE;MAER,MAAMzI,MAAM,GAAG,IAAIC,UAAU,EAAE;MAE/BD,MAAM,CAACQ,MAAM,GAAImf,CAAM,IAAI;QACzB,IAAI,CAACC,QAAQ,GAAGD,CAAC,CAACtlB,MAAM,CAACqG,MAAM;QAC/B,IAAI,CAACmf,UAAU,GAAGptB,KAAK,CAAC4H,MAAM;QAC9B,IAAI,CAAC+S,SAAS,GAAG,IAAI;QACrB,IAAI,CAACiR,UAAU,GAAGX,WAAW;MAC/B,CAAC;MACD1d,MAAM,CAACW,aAAa,CAAC8H,IAAI,CAAC;;EAI9B;EAQAqX,YAAY;IACV,IAAI,CAAC1S,SAAS,GAAG,KAAK;IACtB,IAAI,CAACiR,UAAU,GAAG,EAAE;IACpB,IAAI,CAACuB,QAAQ,GAAG,EAAE;EACpB;EAEAG,aAAa;IACXpxB,OAAO,CAAC0B,GAAG,CAAC,WAAW,CAAC;IACxB1B,OAAO,CAAC0B,GAAG,CAAC,IAAI,CAACwvB,UAAU,CAAC;IAC5B,IAAI,CAAC5xB,SAAS,GAAG,IAAI;IACrB,IAAI,CAAC+xB,eAAe,CAAC,IAAI,CAACH,UAAU,EAAE,IAAI,CAACxB,UAAU,CAAC;EACxD;EAEA4B,UAAU;IACR,IAAI,CAACL,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACC,UAAU,GAAG,IAAI;IACtB,IAAI,CAACzS,SAAS,GAAG,KAAK;IACtB,IAAI,CAACiR,UAAU,GAAG,IAAI;IAEtB;IACA,MAAM6B,SAAS,GAAqBtuB,QAAQ,CAACuI,aAAa,CAAC,oBAAoB,CAAC;IAChF,IAAI+lB,SAAS,EAAE;MACbA,SAAS,CAACtyB,KAAK,GAAG,EAAE,CAAC,CAAE;;EAE3B;;EAEAoyB,eAAe,CAACG,SAAS,EAAEzC,WAAW;IAEpC,MAAM1oB,QAAQ,GAAG,IAAI8L,QAAQ,EAAE;IAC/B,MAAM6d,OAAO,GAAG;MACdC,UAAU,EAAE,IAAI,CAACjpB,MAAM;MACvB2nB,SAAS,EAAE;KACZ;IAED,MAAM7U,IAAI,GAAG0X,SAAS,CAACrgB,KAAK,CAAC,CAAC,CAAC;IAE/B9K,QAAQ,CAAC+L,MAAM,CAAC,aAAa4d,OAAO,CAACrB,SAAS,CAACvvB,MAAM,gBAAgB,EAAE2vB,WAAW,CAACvmB,QAAQ,EAAE,CAAC;IAC9FnC,QAAQ,CAAC+L,MAAM,CAAC,aAAa4d,OAAO,CAACrB,SAAS,CAACvvB,MAAM,kBAAkB,EAAE,IAAI,CAAC6uB,MAAM,CAACzlB,QAAQ,EAAE,CAAC;IAChGnC,QAAQ,CAAC+L,MAAM,CAAC,aAAa4d,OAAO,CAACrB,SAAS,CAACvvB,MAAM,aAAa,EAAE0a,IAAI,CAAC;IACzEzT,QAAQ,CAAC+L,MAAM,CAAC,SAAS,GAAG2c,WAAW,EAAEjV,IAAI,CAAC;IAC9CkW,OAAO,CAAC,SAAS,GAAGjB,WAAW,CAAC,GAAGjV,IAAI;IAEvCkW,OAAO,CAACrB,SAAS,CAACtnB,IAAI,CAAC;MACrB0nB,WAAW,EAAEA,WAAW;MACxBmB,aAAa,EAAE,IAAI,CAACjC,MAAM;MAC1BW,QAAQ,EAAE9U;KACX,CAAC;IAEFzT,QAAQ,CAAC+L,MAAM,CAAC,YAAY,EAAE4d,OAAO,CAACC,UAAU,CAACznB,QAAQ,EAAE,CAAC;IAG5D,IAAI,CAACslB,eAAe,CAAC+B,eAAe,CAACxpB,QAAQ,CAAC,CAACzG,SAAS,CACrDC,QAAQ,IAAI;MACX,MAAM0S,QAAQ,GAAG1S,QAAQ,CAAC+L,IAAI,CAAC,CAAC,CAAC,CAACgjB,QAAQ;MAE1C,IAAI,CAACtvB,SAAS,GAAG,KAAK;MACtB,IAAI,CAACmf,SAAS,GAAG,KAAK;MACtB,IAAI,CAACqR,aAAa,GAAG,KAAK;MAC1B;MACA,IAAI,CAACwB,UAAU,EAAE;MACjB,MAAMrkB,IAAI,GAAG,IAAI,CAAC6hB,KAAK,CAACvnB,IAAI,CAACkqB,CAAC,IAAIA,CAAC,CAAClyB,EAAE,KAAKwvB,WAAW,CAAC;MACvD,IAAI9hB,IAAI,EAAE;QACRA,IAAI,CAAC2hB,QAAQ,GAAGrc,QAAQ;;IAE5B,CAAC,EACAxS,KAAU,IAAI;MACb,IAAI,CAACT,SAAS,GAAG,KAAK;MAEtB,IAAI,CAACwwB,aAAa,GAAG,KAAK;MAC1B,IAAI,CAACrR,SAAS,GAAG,KAAK;MACtBze,OAAO,CAACD,KAAK,CAAC,qCAAqC,EAAEA,KAAK,CAAC;MAC3DD,KAAK,CAACC,KAAK,CAACA,KAAK,CAACE,OAAO,CAAC;IAG5B,CAAC,CACF;EACH;;SAxZWjH,sBAAsB;;mBAAtBA,MAAsB;AAAA;;QAAtBA,MAAsB;EAAAqB;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCXnCC,uDAAAA,cAC8G;MAK9GA,wDAAAA,2DAgBM;MAGNA,wDAAAA,2DAsIM;;;MAzJAA,uDAAAA,GAAe;MAAfA,wDAAAA,uBAAe;MAmBfA,uDAAAA,GAAW;MAAXA,wDAAAA,mBAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICzBjBA,uDAAAA,8BAAsE;;;;;IAItEA,4DAAAA,aAA2C;IAChBA,oDAAAA,eAAQ;IAAAA,0DAAAA,EAAM;;;;;IAe/BA,4DAAAA,cAA0D;IAEtDA,uDAAAA,YAAiC;IACnCA,0DAAAA,EAAM;;;;;IAGRA,4DAAAA,cAAuD;IAEnDA,uDAAAA,YAAuC;IACzCA,0DAAAA,EAAM;;;;;IAERA,4DAAAA,QAAwC;IAAAA,oDAAAA,0DAA8C;IAAAA,0DAAAA,EAAI;;;;;IAE1FA,4DAAAA,cAAsE;IAElEA,uDAAAA,YAAuC;IACzCA,0DAAAA,EAAM;;;;;IAEVA,4DAAAA,QAAsD;IAAEA,oDAAAA,oDAAuC;IAAAA,0DAAAA,EAAI;;;;;;;;;;;IA5BzGA,4DAAAA,aAAsD;IAC/CA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,sCAA2B;IAAA,EAAC;IAExCA,4DAAAA,aAA2B;IACzBA,uDAAAA,cAAoE;IACtEA,0DAAAA,EAAM;IACNA,4DAAAA,cAAgC;IACJA,oDAAAA,GAAa;IAAAA,0DAAAA,EAAM;IAC7CA,4DAAAA,cAA0B;IAExBA,wDAAAA,4DAIM;IAENA,wDAAAA,4DAIM;IACNA,wDAAAA,yDAA0F;IAE1FA,wDAAAA,8DAIM;IACRA,wDAAAA,yDAAmG;IACnGA,0DAAAA,EAAM;;;;IA3BRA,uDAAAA,GAA4C;IAA5CA,wDAAAA,YAAAA,6DAAAA,sBAA4C;IAEjBA,uDAAAA,GAA2B;IAA3BA,wDAAAA,gCAAAA,2DAAAA,CAA2B;IAG1BA,uDAAAA,GAAa;IAAbA,+DAAAA,cAAa;IAG/BA,uDAAAA,GAAoC;IAApCA,wDAAAA,4CAAoC;IAMpCA,uDAAAA,GAAiC;IAAjCA,wDAAAA,yCAAiC;IAKnCA,uDAAAA,GAAkC;IAAlCA,wDAAAA,yCAAkC;IAEhCA,uDAAAA,GAAgD;IAAhDA,wDAAAA,0DAAgD;IAKpDA,uDAAAA,GAAgD;IAAhDA,wDAAAA,0DAAgD;;;ACxBtD,MAAOvC,iBAAiB;EAO5B2B,YAAoB+D,MAAc,EAAUkwB,eAAgC,EAAUC,KAAmB;IAArF,WAAM,GAANnwB,MAAM;IAAkB,oBAAe,GAAfkwB,eAAe;IAA2B,UAAK,GAALC,KAAK;IAJ3F,cAAS,GAAY,KAAK;EAK1B;EAGAzvB,QAAQ;IACN,IAAI,CAAC0I,MAAM,GAAG1E,QAAQ,CAACT,cAAc,CAACC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;IAE5D,IAAI,CAACyG,QAAQ,GAAGiH,SAAS,CAAC2e,MAAM;IAChCzpB,MAAM,CAACod,gBAAgB,CAAC,QAAQ,EAAE,MAAK;MACrC,IAAI,CAACvZ,QAAQ,GAAG,IAAI;IACtB,CAAC,CAAC;IAEF7D,MAAM,CAACod,gBAAgB,CAAC,SAAS,EAAE,MAAK;MACtC,IAAI,CAACvZ,QAAQ,GAAG,KAAK;IACvB,CAAC,CAAC;IAEF,MAAMA,QAAQ,GAAG7D,MAAM,CAAC8K,SAAS,CAAC2e,MAAM;IAGxC,IAAI5lB,QAAQ,EAAE;MACZvI,OAAO,CAAC0B,GAAG,CAAC,QAAQ,CAAC;KACtB,MAAM;MACL1B,OAAO,CAAC0B,GAAG,CAAC,SAAS,CAAC;;IAGxB,IAAI,CAACosB,eAAe,CAAC4D,gBAAgB,CAAC,IAAI,CAAC1qB,MAAM,CAAC,CAACpH,SAAS,CACzDgM,IAAI,IAAI;MACP,IAAI,CAAC+lB,aAAa,GAAG/lB,IAAI;MACzB5L,OAAO,CAAC0B,GAAG,CAAC,IAAI,CAACiwB,aAAa,CAAC;MAC/B,IAAI,CAACryB,SAAS,GAAG,IAAI;MACrB,IAAI,CAACsyB,6BAA6B,EAAE;IAEtC,CAAC,EACA7xB,KAAK,IAAI;MACR,IAAI,CAACT,SAAS,GAAG,IAAI;MAErBU,OAAO,CAACD,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;IAClD,CAAC,CACF;IAED,IAAIwI,QAAQ,EAAE;MAEZ,IAAI,CAACwlB,KAAK,CAACM,MAAM,EAAE,CAACxO,IAAI,CAAE9N,MAAW,IAAI;QAEvC,IAAIA,MAAM,IAAIuc,KAAK,CAACC,OAAO,CAACxc,MAAM,CAACyc,IAAI,CAAC,EAAE;UACxCzc,MAAM,CAACyc,IAAI,CAAC9lB,OAAO,CAAE+lB,GAAQ,IAAI;YAC/B,IAAIA,GAAG,IAAIA,GAAG,CAACC,GAAG,EAAE;cAClB,MAAMA,GAAG,GAAGD,GAAG,CAACC,GAAG;cACnB,IAAI,CAACmD,sBAAsB,CAACnD,GAAG,CAAC;aACjC,MAAM;cACL1uB,OAAO,CAACD,KAAK,CAAC,wDAAwD,CAAC;;UAE3E,CAAC,CAAC;SACH,MAAM;UACLC,OAAO,CAACD,KAAK,CAAC,2DAA2D,CAAC;;MAE9E,CAAC,CAAC,CAAC+f,KAAK,CAAC/f,KAAK,IAAG;QACf;QACAC,OAAO,CAACD,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;MACpD,CAAC,CAAC;;EAIN;EAEA0Y,cAAc;IACZ,IAAI,CAAC7a,MAAM,CAACY,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC7C;EAEA;EACAqzB,sBAAsB,CAAC5kB,IAAI;IAEzB,MAAM5G,QAAQ,GAAG,IAAI8L,QAAQ,EAAE;IAE/BmF,MAAM,CAACC,IAAI,CAACtK,IAAI,CAAC,CAACvE,OAAO,CAAC8O,GAAG,IAAG;MAC9B,IAAIA,GAAG,KAAK,WAAW,EAAE;QACvB;QACAvK,IAAI,CAAC0hB,SAAS,CAACjmB,OAAO,CAAC,CAACkmB,QAAa,EAAE/d,KAAa,KAAI;UACtDyG,MAAM,CAACC,IAAI,CAACqX,QAAQ,CAAC,CAAClmB,OAAO,CAACopB,WAAW,IAAG;YAC1C;YACA,IAAIlD,QAAQ,CAACkD,WAAW,CAAC,YAAYC,IAAI,EAAE;cACzC1rB,QAAQ,CAAC+L,MAAM,CAAC,aAAavB,KAAK,KAAKihB,WAAW,GAAG,EAAElD,QAAQ,CAACkD,WAAW,CAAC,CAAC;aAC9E,MAAM;cACLzrB,QAAQ,CAAC+L,MAAM,CAAC,aAAavB,KAAK,KAAKihB,WAAW,GAAG,EAAElD,QAAQ,CAACkD,WAAW,CAAC,CAAC;;UAEjF,CAAC,CAAC;QACJ,CAAC,CAAC;OACH,MAAM;QACLzrB,QAAQ,CAAC+L,MAAM,CAACoF,GAAG,EAAEvK,IAAI,CAACuK,GAAG,CAAC,CAAC;;IAEnC,CAAC,CAAC;IAEF;IACA;IACA;IACA;IACA;IACA;IAEA,IAAI,CAACsW,eAAe,CAAC+B,eAAe,CAACxpB,QAAQ,CAAC,CAACzG,SAAS,CACrDC,QAAQ,IAAI;MACXC,KAAK,CAACD,QAAQ,CAACI,OAAO,CAAC;MACvB,IAAI,CAAC8tB,KAAK,CAACiE,SAAS,CAAC/kB,IAAI,CAACglB,GAAG,CAAC;MAC9B,IAAI,CAACxZ,cAAc,EAAE;IACvB,CAAC,EACA1Y,KAAU,IAAI;MACb;MACA,IAAIA,KAAK,CAACgM,MAAM,IAAI,GAAG,EAAE;QACvB/L,OAAO,CAAC0B,GAAG,CAAC3B,KAAK,CAACA,KAAK,CAACE,OAAO,CAAC;OACjC,MAAM;IAET,CAAC,CACF;EACH;EAEA2xB,6BAA6B;IAC3B,IAAI,IAAI,CAACD,aAAa,IAAI,CAAC,IAAI,CAACppB,QAAQ,EAAE;MACxCvI,OAAO,CAAC0B,GAAG,CAAC,oBAAoB,CAAC;MACjC,IAAI,CAACqsB,KAAK,CAACM,MAAM,EAAE,CAACxO,IAAI,CAAE9N,MAAW,IAAI;QACvC,IAAIA,MAAM,IAAIuc,KAAK,CAACC,OAAO,CAACxc,MAAM,CAACyc,IAAI,CAAC,EAAE;UACxCzc,MAAM,CAACyc,IAAI,CAAC9lB,OAAO,CAAE+lB,GAAQ,IAAI;YAC/B,IAAIA,GAAG,CAACC,GAAG,CAACC,SAAS,IAAIF,GAAG,CAACC,GAAG,CAACC,SAAS,CAACvvB,MAAM,GAAG,CAAC,EAAE;cACrDY,OAAO,CAAC0B,GAAG,CAAC,iBAAiB,CAAC;cAC9B,MAAMwwB,iBAAiB,GAAG,IAAI,CAACP,aAAa,CAACrnB,MAAM,CAAE6nB,GAAQ,IAAKA,GAAG,CAAC5yB,EAAE,IAAIkvB,GAAG,CAACC,GAAG,CAACC,SAAS,CAAC,CAAC,CAAC,CAACuB,aAAa,CAAC;cAC/GgC,iBAAiB,CAACxpB,OAAO,CAAEypB,GAAQ,IAAKA,GAAG,CAACC,iBAAiB,GAAG,IAAI,CAAC;aACtE,MAAM;cACLpyB,OAAO,CAAC0B,GAAG,CAAC,4DAA4D,CAAC;;UAE7E,CAAC,CAAC;SACH,MAAM;UACL1B,OAAO,CAACD,KAAK,CAAC,2DAA2D,CAAC;;MAE9E,CAAC,CAAC,CAAC+f,KAAK,CAAC/f,KAAK,IAAG;QACf;QACAC,OAAO,CAACD,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;MACpD,CAAC,CAAC;;EAEN;EACA8U,sBAAsB;IACpB,IAAI,CAACjX,MAAM,CAACY,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;EAC1C;EAGA6zB,kBAAkB,CAAC9yB,EAAU;IAE3B,IAAI,CAAC+yB,uBAAuB,CAAC/yB,EAAE,CAAC;EAElC;EAEA+yB,uBAAuB,CAAC/yB,EAAU;IAChC,IAAI,CAAC3B,MAAM,CAACY,QAAQ,CAAC,CAAC,kCAAkC,EAAEe,EAAE,CAAC,CAAC;EAChE;;SA9JWrH,iBAAiB;;mBAAjBA,MAAiB;AAAA;;QAAjBA,MAAiB;EAAAmC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MDd9BC,wDAAAA,6FAAsE;MACtEA,uDAAAA,oBAA+B;MAG/BA,wDAAAA,qDAEM;MAENA,4DAAAA,aAA0B;MAExBA,wDAAAA,uDAgCM;MAINA,4DAAAA,UAAK;MACSA,oDAAAA,aAAM;MAAAA,0DAAAA,EAAI;MACtBA,4DAAAA,WAAY;MAAAA,oDAAAA,aAAM;MAAAA,0DAAAA,EAAI;MAExBA,uDAAAA,gBAAqB;MAEvBA,0DAAAA,EAAM;;;MApDoBA,wDAAAA,wBAAgB;MAIpCA,uDAAAA,GAAe;MAAfA,wDAAAA,uBAAe;MAMGA,uDAAAA,GAAgB;MAAhBA,wDAAAA,8BAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IEPtCA,uDAAAA,8BAAqE;;;;;;IAOrEA,4DAAAA,aAA0C;IAGtCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAcA,yDAAAA,qBAAa;IAAA,EAAC;IAACA,0DAAAA,EAAkB;;;;IADhCA,uDAAAA,GAA+B;IAA/BA,wDAAAA,uCAA+B;;;;;;IAoB1CA,qEAAAA,GAAwD;IACtDA,4DAAAA,cAAwF;IAArDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oDAAmC;IAAA,EAAC;IAAhFA,0DAAAA,EAAwF;IAC1FA,mEAAAA,EAAe;;;;;IAEbA,uDAAAA,cAA6C;;;;;;IA8BjDA,4DAAAA,cACwB;IADnBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,iCAAoB;IAAA,EAAC;IAEjCA,4DAAAA,cAAuB;IACEA,oDAAAA,GAAqB;IAAAA,0DAAAA,EAAK;IACjDA,4DAAAA,YAA0B;IAAAA,oDAAAA,GAAwB;IAAAA,0DAAAA,EAAI;;;;;IAJAA,wDAAAA,mDAAsC;IAGrEA,uDAAAA,GAAqB;IAArBA,+DAAAA,qBAAqB;IAClBA,uDAAAA,GAAwB;IAAxBA,+DAAAA,wBAAwB;;;;;;IAGtDA,4DAAAA,cAAoD;IACvBA,oDAAAA,WAAI;IAAAA,0DAAAA,EAAI;IACnCA,4DAAAA,cAAgC;IACuBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,uCAA0B;IAAA,EAAC;IAAzFA,0DAAAA,EAA0F;IAC1FA,uDAAAA,gBAA8C;IAChDA,0DAAAA,EAAM;;;;IAFmBA,uDAAAA,GAA6B;IAA7BA,wDAAAA,kCAA6B;IAC7CA,uDAAAA,GAA8B;IAA9BA,wDAAAA,mCAA8B;;;;;IAZ3CA,4DAAAA,cAA8E;IAC5EA,wDAAAA,qEAMM;IACNA,wDAAAA,qEAMM;IACRA,0DAAAA,EAAM;;;;IAbDA,uDAAAA,GAAmB;IAAnBA,wDAAAA,2BAAmB;IAMSA,uDAAAA,GAAmB;IAAnBA,wDAAAA,2BAAmB;;;;;;IAa1BA,4DAAAA,cACY;IAAhCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,4BAAmB;IAAA,EAAC;IADTA,0DAAAA,EACY;;;;;;IAC4BA,4DAAAA,cACoB;IAAhCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,4BAAmB;IAAA,EAAC;IADjBA,0DAAAA,EACoB;;;;;;IAIpFA,4DAAAA,cACyB;IADpBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,iCAAoB;IAAA,EAAC;IAEjCA,4DAAAA,cAAuB;IACEA,oDAAAA,GAAqB;IAAAA,0DAAAA,EAAK;IACjDA,4DAAAA,YAA0B;IAAAA,oDAAAA,GAAwB;IAAAA,0DAAAA,EAAI;;;;;IAJAA,wDAAAA,mDAAsC;IAGrEA,uDAAAA,GAAqB;IAArBA,+DAAAA,qBAAqB;IAClBA,uDAAAA,GAAwB;IAAxBA,+DAAAA,wBAAwB;;;;;;IAGtDA,4DAAAA,cAAqD;IACxBA,oDAAAA,WAAI;IAAAA,0DAAAA,EAAI;IACnCA,4DAAAA,cAAgC;IACuBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,6CAAgC;IAAA,EAAC;IAA/FA,0DAAAA,EAAgG;IAChGA,uDAAAA,gBAA8C;IAChDA,0DAAAA,EAAM;;;;IAFmBA,uDAAAA,GAA6B;IAA7BA,wDAAAA,kCAA6B;IAC7CA,uDAAAA,GAA8B;IAA9BA,wDAAAA,mCAA8B;;;;;;;;;;IAb3CA,4DAAAA,cACoD;IAClDA,wDAAAA,qEAMM;IACNA,wDAAAA,qEAMM;IACRA,0DAAAA,EAAM;;;;;IAhB2BA,wDAAAA,YAAAA,6DAAAA,6CAAqD;IAGjFA,uDAAAA,GAAoB;IAApBA,wDAAAA,4BAAoB;IAMQA,uDAAAA,GAAoB;IAApBA,wDAAAA,4BAAoB;;;;;;IApFzDA,4DAAAA,WAAyB;IAIjBA,uDAAAA,aAE+B;IACjCA,0DAAAA,EAAM;IACNA,4DAAAA,cAA0B;IACMA,oDAAAA,GAAc;IAAAA,0DAAAA,EAAI;IAChDA,4DAAAA,cAAuB;IACrBA,uDAAAA,SAAM;IAERA,0DAAAA,EAAM;IAERA,4DAAAA,eAAoB;IAClBA,wDAAAA,kFAEe;IACfA,wDAAAA,uFAAAA,oEAAAA,CAEc;IAChBA,0DAAAA,EAAM;IAERA,4DAAAA,eAA8B;IAItBA,uDAAAA,eAAmD;IACrDA,0DAAAA,EAAM;IACNA,4DAAAA,eAAuB;IAClBA,oDAAAA,aAAK;IAAAA,0DAAAA,EAAI;IAIlBA,4DAAAA,eAAkD;IAA7CA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,2BAAkB;IAAA,EAAC;IAC/BA,4DAAAA,eAAmB;IAEfA,uDAAAA,eAAoD;IACtDA,0DAAAA,EAAM;IACNA,4DAAAA,eAAwB;IACnBA,oDAAAA,kBAAU;IAAAA,0DAAAA,EAAI;IAO3BA,4DAAAA,mBAA0B;IACxBA,wDAAAA,gEAeM;IACRA,0DAAAA,EAAU;IAEVA,4DAAAA,mBAA0B;IAEAA,oDAAAA,IAAgC;IAAAA,0DAAAA,EAAI;IAC1DA,4DAAAA,eAAwB;IAAAA,wDAAAA,gEACY;IAAAA,0DAAAA,EAAM;IAC1CA,4DAAAA,eAAgE;IAA3DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,qBAAY,iBAAiB,CAAC;IAAA,EAAC;IAAmBA,wDAAAA,gEACoB;IAAAA,0DAAAA,EAAM;IAE5FA,wDAAAA,gEAgBM;IACRA,0DAAAA,EAAU;IACVA,uDAAAA,UAAI;IAINA,0DAAAA,EAAO;;;;;IA5FGA,uDAAAA,GAAwH;IAAxHA,wDAAAA,oJAAAA,2DAAAA,CAAwH;IAI5FA,uDAAAA,GAAc;IAAdA,gEAAAA,gCAAc;IAO7BA,uDAAAA,GAAyB;IAAzBA,wDAAAA,kCAAyB;IAiCKA,uDAAAA,IAAc;IAAdA,wDAAAA,6BAAc;IAoBvCA,uDAAAA,GAAgC;IAAhCA,gEAAAA,6CAAgC;IACxBA,uDAAAA,GAAkB;IAAlBA,wDAAAA,6BAAkB;IAEsBA,uDAAAA,GAAmB;IAAnBA,wDAAAA,8BAAmB;IAIpEA,uDAAAA,GAAc;IAAdA,wDAAAA,6BAAc;;;ACjFrC,MAAOrC,kBAAkB;EAe7ByB,YACU+D,MAAc,EACd20B,iBAAoC,EACpC3a,UAAsB,EACtBqM,YAAiC,EACjCnf,WAAwB;IAJxB,WAAM,GAANlH,MAAM;IACN,sBAAiB,GAAjB20B,iBAAiB;IACjB,eAAU,GAAV3a,UAAU;IACV,iBAAY,GAAZqM,YAAY;IACZ,gBAAW,GAAXnf,WAAW;IAlBrB,SAAI,GAAW,EAAE;IACjB,cAAS,GAAU,EAAE,CAAC,CAAC;IAIvB,cAAS,GAAY,IAAI,CAAC,CAAC;IAE3B,kBAAa,GAAG,uCAAuC;IAGvD,sBAAiB,GAAU,EAAE,CAAC,CAAC;IAW/B,iBAAY,GAAY,KAAK,CAAC,CAAC;IAqF/B,0BAAqB,GAAY,KAAK;IA+BtC,eAAU,GAAU,EAAE;IAGtB,iBAAY,GAAG,KAAK,CAAC,CAAC;EAxHlB;;EAGJxG,QAAQ;IACN,IAAI,CAAC0C,IAAI,GAAGa,cAAc,CAACC,OAAO,CAAC,MAAM,CAAC;IAC1C,IAAI,CAACkF,MAAM,GAAG1E,QAAQ,CAACT,cAAc,CAACC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;IAC5D,IAAI,CAAC0wB,iBAAiB,EAAE;IACxB,IAAI,CAAC9sB,WAAW,GAAG7D,cAAc,CAACC,OAAO,CAAC,aAAa,CAAC;IACxD,IAAI,CAACoqB,eAAe,EAAE;EACxB;EAEAsG,iBAAiB;IACf,IAAI,CAACD,iBAAiB,CAACE,iBAAiB,CAAC,IAAI,CAACzrB,MAAM,CAAC,CAACpH,SAAS,CAC5DgM,IAAS,IAAI;MACZ,IAAI,CAAC8mB,SAAS,GAAG9mB,IAAI;MACrB;MACA,IAAI,CAAC+mB,kBAAkB,GAAG,IAAI,CAACD,SAAS,CAACpoB,MAAM,CAACsoB,QAAQ,IAAIA,QAAQ,CAACzO,IAAI,KAAK,KAAK,CAAC,CAAC/kB,MAAM;MAC3F,IAAI,CAACE,SAAS,GAAG,KAAK;IACxB,CAAC,EACAS,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;MAClDD,KAAK,CAAC,MAAM,CAAC;IACf,CAAC,CACF;EAEH;EAEA+yB,aAAa,CAACC,UAAkB;IAC9B,IAAI,CAACC,IAAI,GAAG,IAAI;IAChB,IAAI,CAACR,iBAAiB,CAACS,kBAAkB,CAAC,IAAI,CAAChsB,MAAM,EAAE,IAAI,CAAC+rB,IAAI,EAAED,UAAU,CAAC,CAC1ElzB,SAAS,CACRC,QAAQ,IAAG;MACTC,KAAK,CAACD,QAAQ,CAACI,OAAO,CAAC;MACvB,IAAI,CAACuyB,iBAAiB,EAAE;IAC1B,CAAC,EACDzyB,KAAK,IAAG;MACNC,OAAO,CAACD,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;MAC3CD,KAAK,CAACC,KAAK,CAACA,KAAK,CAACE,OAAO,CAAC;IAC5B,CAAC,CACF;EACL;EAEAgzB,cAAc,CAACC,OAAe;IAE5B,IAAI,CAACX,iBAAiB,CAACY,oBAAoB,CAACD,OAAO,CAAC,CAACtzB,SAAS,CAC3DC,QAAQ,IAAI;MACXC,KAAK,CAACD,QAAQ,CAACI,OAAO,CAAC;MACvB,IAAI,CAACuyB,iBAAiB,EAAE;MACxB;IACF,CAAC,EACAzyB,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;IACnD,CAAC,CACF;EACH;EAEA2O,WAAW,CAACC,KAAa;IACvB,MAAMyJ,aAAa,GAAG,IAAI,CAACR,UAAU,CAACS,aAAa,CAAC7M,aAAa,CAAC,GAAG,GAAGmD,KAAK,CAAC;IAE9E,IAAIyJ,aAAa,EAAE;MACjBA,aAAa,CAACvJ,cAAc,CAAC;QAAEC,QAAQ,EAAE;MAAQ,CAAE,CAAC;;EAExD;EACA0U,QAAQ,CAACC,gBAAwB;IAC/B,QAAQA,gBAAgB;MACtB,KAAK,kBAAkB;QACrB,OAAO;UAAEC,UAAU,EAAE;QAAS,CAAE;MAClC,KAAK,QAAQ;QACX,OAAO;UAAEA,UAAU,EAAE;QAAS,CAAE;MAClC,KAAK,eAAe;QAClB,OAAO;UAAEA,UAAU,EAAE;QAAS,CAAE;MAClC,KAAK,SAAS;QACZ,OAAO;UAAEA,UAAU,EAAE;QAAS,CAAE;MAClC;QACE,OAAO,EAAE;MAAE;IAAA;EAEjB;;EAEA0P,iBAAiB;IACf,IAAI,CAACC,YAAY,GAAG,CAAC,IAAI,CAACA,YAAY;EACxC;EAEAC,gBAAgB;IACd,IAAI,CAAC11B,MAAM,CAACY,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;EAC1C;EAGA2tB,qBAAqB,CAACvgB,IAAS;IAC7B,IAAI,CAACwgB,qBAAqB,GAAG,IAAI;IACjC,IAAI,CAACmH,iBAAiB,GAAG3nB,IAAI;EAG/B;EAEAygB,sBAAsB;IACpB,IAAI,CAACD,qBAAqB,GAAG,KAAK;EAEpC;EACAF,eAAe;IAEb,IAAI,CAACjI,YAAY,CAACqI,mBAAmB,EAAE,CAAC1sB,SAAS,CAC9CgM,IAAS,IAAI;MACZ,IAAI,CAACqY,YAAY,GAAGrY,IAAI;MAExB,IAAIA,IAAI,CAACxM,MAAM,GAAG,CAAC,EAAE;QACnB,IAAI,CAACmtB,iBAAiB,GAAG,IAAI;OAC9B,MAAM;QACL,IAAI,CAACA,iBAAiB,GAAG,KAAK;;IAGlC,CAAC,EACAxsB,KAAU,IAAI;MACbC,OAAO,CAACD,KAAK,CAAC,OAAO,EAAEA,KAAK,CAAC;IAC/B,CAAC,CACF;EACH;EAQAyzB,UAAU,CAAC5nB,IAAU;IACnB,IAAI,CAAC6nB,YAAY,GAAG,IAAI;IACxB,IAAI,CAAC7P,UAAU,GAAGhY,IAAI;IACtB;EACF;;EAEA8nB,WAAW;IACT,IAAI,CAACD,YAAY,GAAG,KAAK;IACzB,IAAI,CAAC3uB,WAAW,CAAC6Z,UAAU,EAAE;EAC/B;EAEAC,cAAc,CAAC9a,KAAiB;IAC9B,MAAM+a,YAAY,GAAG,IAAI,CAACjH,UAAU,CAACS,aAAa,CAAC7M,aAAa,CAAC,kBAAkB,CAAC;IAEpF,IAAIqT,YAAY,IAAI,IAAI,EAAE;MAExB,IAAI,IAAI,CAAC4U,YAAY,IAAI,IAAI,CAAC3uB,WAAW,CAACga,UAAU,IAAI,CAAC,EAAE;QACzD,MAAMC,cAAc,GAAGjb,KAAK,CAAC4H,MAAqB;QAClD1L,OAAO,CAAC0B,GAAG,CAAC,oCAAoC,CAAC;QAEjD,IAAIqd,cAAc,KAAKF,YAAY,IAAI,CAAEA,YAA4B,CAAClO,QAAQ,CAACoO,cAAc,CAAC,EAAE;UAC9F,IAAI,CAAC2U,WAAW,EAAE;UAClB1zB,OAAO,CAAC0B,GAAG,CAAC,oCAAoC,CAAC;;OAGpD,MAAM;QACL,IAAI,CAACoD,WAAW,CAACka,cAAc,EAAE;;;EAGvC;;SA9KW5mB,kBAAkB;;mBAAlBA,MAAkB;AAAA;;QAAlBA,MAAkB;EAAAiC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MDX/BC,4DAAAA,aAAwD;MAAnDA,wDAAAA;QAAA,OAAS6F,0BAAsB;MAAA,EAAC;MACnC7F,uDAAAA,oBAA+B;MAE/BA,wDAAAA,8FAAqE;MAGrEA,4DAAAA,+BAC0C;MAAxCA,wDAAAA;QAAA,OAAc6F,4BAAwB;MAAA,EAAC;MAAC7F,0DAAAA,EAAwB;MAGlEA,wDAAAA,sDAIM;MAENA,wDAAAA,yDAiGO;MACTA,0DAAAA,EAAM;;;MA/GsBA,uDAAAA,GAAe;MAAfA,wDAAAA,uBAAe;MAGlBA,uDAAAA,GAAmC;MAAnCA,wDAAAA,wCAAmC;MAIpCA,uDAAAA,GAAkB;MAAlBA,wDAAAA,0BAAkB;MAMjCA,uDAAAA,GAAgB;MAAhBA,wDAAAA,wBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AERnB,MAAO5B,iBAAiB;EAG5BgB,YAAoB+D,MAAa;IAAb,WAAM,GAANA,MAAM;EAE1B;EAEAqiB,YAAY;IACV,IAAI,CAACriB,MAAM,CAACY,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;EACnC;EAEA0hB,YAAY;IACV,IAAI,CAACtiB,MAAM,CAACY,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;EACnC;;SAbW3F,iBAAiB;;mBAAjBA,MAAiB;AAAA;;QAAjBA,MAAiB;EAAAwB;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCR9BC,4DAAAA,aAAuB;MAGGA,uDAAAA,aAA+E;MAAAA,0DAAAA,EAAM;MAEvGA,4DAAAA,aAAuB;MAAAA,oDAAAA,gBAAS;MAAAA,0DAAAA,EAAM;MACtCA,4DAAAA,aAA6C;MAAxCA,wDAAAA;QAAA,OAAS6F,kBAAc;MAAA,EAAC;MAAiB7F,4DAAAA,EACR;MADQA,4DAAAA,aACR;MAC9BA,uDAAAA,gBAA2C;MAC/CA,0DAAAA,EAAM;MACNA,6DAAAA,EAAuB;MAAvBA,4DAAAA,aAAuB;MAAAA,oDAAAA,sBAAS;MAAAA,0DAAAA,EAAM;MACtCA,4DAAAA,EACgB;MADhBA,4DAAAA,cACgB;MACZA,uDAAAA,iBAA2C;MAC/CA,0DAAAA,EAAM;MAEVA,6DAAAA,EAA6C;MAA7CA,4DAAAA,cAA6C;MAAxCA,wDAAAA;QAAA,OAAS6F,kBAAc;MAAA,EAAC;MAAiB7F,4DAAAA,EACZ;MADYA,4DAAAA,cACZ;MAC9BA,uDAAAA,iBAA2C;MAC/CA,0DAAAA,EAAM;MACNA,6DAAAA,EAAuB;MAAvBA,4DAAAA,cAAuB;MAAAA,oDAAAA,kBAAK;MAAAA,0DAAAA,EAAM;MAClCA,4DAAAA,EACgB;MADhBA,4DAAAA,cACgB;MACZA,uDAAAA,iBAA2C;MAC/CA,0DAAAA,EAAM;MAEdA,6DAAAA,EAAI;MAAJA,uDAAAA,UAAI;MAGAA,0DAAAA,EAAM;MAEVA,uDAAAA,qBAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BO;AAEkB;;;;;;;;;;;;;;ICNxDA,uDAAAA,8BAAqE;;;;;IAczDA,uDAAAA,cAAyE;;;;IAApEA,wDAAAA,wEAAAA,2DAAAA,CAA6B;;;;;;;;;;;IAHxCA,qEAAAA,GAAuD;IACrDA,4DAAAA,cAA0E;IAEtEA,wDAAAA,oEAAyE;IAE3EA,0DAAAA,EAAQ;IAEZA,mEAAAA,EAAe;;;;IANRA,uDAAAA,GAAoE;IAApEA,wDAAAA,YAAAA,6DAAAA,kDAAoE;IAEZA,uDAAAA,GAAc;IAAdA,wDAAAA,yBAAc;;;;;IAQvEA,uDAAAA,cAAyE;;;;IAApEA,wDAAAA,wEAAAA,2DAAAA,CAA6B;;;;;;IAFtCA,4DAAAA,cAAoC;IAEhCA,wDAAAA,mEAAyE;IACzEA,4DAAAA,cAAkE;IAC7DA,oDAAAA,wBAAiB;IAAAA,0DAAAA,EAAI;IAE1BA,4DAAAA,gBAA2H;IAA3DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAUA,yDAAAA,uCAA8B;IAAA,EAAC;IAAzGA,0DAAAA,EAA2H;;;;IAJlEA,uDAAAA,GAAc;IAAdA,wDAAAA,yBAAc;IAClDA,uDAAAA,GAA4C;IAA5CA,yDAAAA,8CAA4C;;;;;;IAgCnEA,qEAAAA,GAAgC;IAC9BA,4DAAAA,YAAsF;IAAzCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAa,gBAAgB,CAAC;IAAA,EAAC;IAACA,0DAAAA,EAAI;IAC5FA,mEAAAA,EAAe;;;;;IAJjBA,qEAAAA,GAAgG;IAC9FA,oDAAAA,GACA;IAAAA,wDAAAA,sFAEe;IACjBA,mEAAAA,EAAe;;;;IAJbA,uDAAAA,GACA;IADAA,gEAAAA,2EACA;IAAeA,uDAAAA,GAAe;IAAfA,wDAAAA,0BAAe;;;;;;IAK9BA,4DAAAA,gBAAiG;IAAzDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAaA,yDAAAA,0CAA+B;IAAA,EAAP;IAA7EA,0DAAAA,EAAiG;IACjGA,4DAAAA,YAAoF;IAArCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,kBAAS,gBAAgB,CAAC;IAAA,EAAC;IAACA,0DAAAA,EAAI;;;;IADhDA,wDAAAA,2CAAqC;;;;;;IAW7EA,qEAAAA,GAAgC;IAC9BA,4DAAAA,YAA6E;IAAhCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAa,OAAO,CAAC;IAAA,EAAC;IAACA,0DAAAA,EAAI;IACnFA,mEAAAA,EAAe;;;;;IAJjBA,qEAAAA,GAA+E;IAC7EA,oDAAAA,GACA;IAAAA,wDAAAA,sFAEe;IACjBA,mEAAAA,EAAe;;;;IAJbA,uDAAAA,GACA;IADAA,gEAAAA,kEACA;IAAeA,uDAAAA,GAAe;IAAfA,wDAAAA,0BAAe;;;;;;IAK9BA,4DAAAA,oBACgF;IADzEA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,cAAU;IAAA,EAAC;MAAAA,2DAAAA;MAAA;MAAA;IAAA;IAA3BA,0DAAAA,EACgF;IAChFA,4DAAAA,YAAiG;IAA9FA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,cAAU;IAAA,EAAC;IAA0EA,0DAAAA,EAAI;IACrGA,4DAAAA,YAA2E;IAA5BA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,kBAAS,OAAO,CAAC;IAAA,EAAC;IAACA,0DAAAA,EAAI;;;;IAHzBA,wDAAAA,6BAAuB;;;;;;IAc7EA,qEAAAA,GAAgC;IAC9BA,4DAAAA,YAA8E;IAAjCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAa,QAAQ,CAAC;IAAA,EAAC;IAACA,0DAAAA,EAAI;IACpFA,mEAAAA,EAAe;;;;;IAJjBA,qEAAAA,GAAiF;IAC/EA,oDAAAA,GACA;IAAAA,wDAAAA,sFAEe;IACjBA,mEAAAA,EAAe;;;;IAJbA,uDAAAA,GACA;IADAA,gEAAAA,qEACA;IAAeA,uDAAAA,GAAe;IAAfA,wDAAAA,2BAAe;;;;;IAM5BA,4DAAAA,iBAAiE;IAAAA,oDAAAA,GAAiB;IAAAA,0DAAAA,EAAS;;;;IAAhDA,wDAAAA,0BAAqB;IAACA,uDAAAA,GAAiB;IAAjBA,+DAAAA,iBAAiB;;;;;;IADpFA,4DAAAA,iBAA6E;IAA1CA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAaA,yDAAAA,kCAAuB;IAAA,EAAP;IAC9DA,wDAAAA,0EAA2F;IAC7FA,0DAAAA,EAAS;IACTA,4DAAAA,YAA4E;IAA7BA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,kBAAS,QAAQ,CAAC;IAAA,EAAC;IAACA,0DAAAA,EAAI;;;;IAH7CA,wDAAAA,oCAA6B;IACpCA,uDAAAA,GAAe;IAAfA,wDAAAA,iCAAe;;;ADnF/C,MAAOzC,gBAAgB;EAgB3B6B,YACU2L,WAAwB,EACxB5H,MAAc,EACdgE,gBAAiC,EACjC+xB,sBAA8C;IAH9C,gBAAW,GAAXnuB,WAAW;IACX,WAAM,GAAN5H,MAAM;IACN,qBAAgB,GAAhBgE,gBAAgB;IAChB,2BAAsB,GAAtB+xB,sBAAsB;IAnBhC,iBAAY,GAAGnzB,0DAAY;IAG3B,cAAS,GAAY,KAAK,CAAC,CAAC;IAC5B,gBAAW,GAAG,KAAK;IAKnB,cAAS,GAAG,KAAK;IACjB,cAAS,GAAkB,IAAI;IAC/B,iBAAY,GAAqC,EAAE;IACnD,qBAAgB,GAAgB,IAAI;IAShC,MAAMC,WAAW,GAAG,IAAIC,IAAI,EAAE;IAChC;IACA,IAAI,CAACC,OAAO,GAAG;MAAEC,IAAI,EAAEH,WAAW,CAACI,WAAW,EAAE,GAAG,GAAG;MAAEC,KAAK,EAAE,CAAC;MAAEC,GAAG,EAAE;IAAC,CAAE;EAE5E;EAEAzC,QAAQ;IACN,MAAMoB,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAC7C,IAAI,CAACiqB,WAAW,CAACrsB,KAAK,CAAC;EACzB;EAEAqsB,WAAW,CAACrsB,KAAa;IACvB,IAAI,CAACJ,SAAS,GAAG,IAAI;IAErB,IAAI,CAACkG,WAAW,CAACinB,WAAW,CAAC/sB,KAAK,CAAC,CAACE,SAAS,CAC1CgM,IAAI,IAAI;MACP;MACA,IAAI,CAAC8gB,QAAQ,GAAG9gB,IAAI;MACpB,IAAI,CAACgoB,WAAW,GAAG,IAAI;MACvB;MACA,IAAI,CAACt0B,SAAS,GAAG,KAAK;MAEtB,IAAI,CAAC,IAAI,CAACotB,QAAQ,CAAChnB,WAAW,IAAI,IAAI,CAACgnB,QAAQ,CAAChnB,WAAW,CAACxG,IAAI,EAAE,KAAK,EAAE,EAAE;QACzE,IAAI,CAACwtB,QAAQ,CAAChnB,WAAW,GAAG,gCAAgC;QAC5D,IAAI,CAACkuB,WAAW,GAAG,KAAK;OACzB,MAAM;QACL;QACA;QACA,IAAI,CAAClH,QAAQ,CAAChnB,WAAW,GAAG,uCAAuC,GAAG,IAAI,CAACgnB,QAAQ,CAAChnB,WAAW;;IAInG,CAAC,EACA3F,KAAK,IAAI;MACR,IAAI,CAACT,SAAS,GAAG,KAAK;MACtBU,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IACzD,CAAC,CACF;EACH;EAEA8zB,qBAAqB;IACnB,IAAI,CAACj2B,MAAM,CAACY,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;EAClC;EAGAs1B,YAAY,CAACC,SAAiB;IAC5B,IAAI,CAAC7jB,SAAS,GAAG,IAAI;IACrB,IAAI,CAAC8jB,SAAS,GAAGD,SAAS;EAC5B;EAEAE,QAAQ,CAACF,SAAiB;IACxB,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB,IAAI,CAACE,YAAY,CAACH,SAAS,CAAC,GAAG,IAAI;IAEnC,IAAGA,SAAS,KAAI,OAAO,EAAC;MACtB/zB,OAAO,CAAC0B,GAAG,CAAC,kBAAkB,CAAC;MAC/B,IAAI,CAACgrB,QAAQ,CAACvrB,KAAK,GAAG,IAAI,CAACE,qBAAqB,CAAC,IAAI,CAAC8yB,SAAS,CAAC;;EAEpE;EAGAC,UAAU;IACR,IAAI,CAAClkB,SAAS,GAAG,CAAC,IAAI,CAACA,SAAS;IAChC,IAAI,CAAC8jB,SAAS,GAAG,IAAI;EACvB;EAEAK,YAAY;IACV,MAAMC,UAAU,GAAG,IAAIniB,QAAQ,EAAE;IAEjC,MAAMoiB,aAAa,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC;IACnFA,aAAa,CAAC7rB,OAAO,CAACqrB,SAAS,IAAG;MAChC,IAAI,IAAI,CAACG,YAAY,CAACH,SAAS,CAAC,EAAE;QAChC,IAAIA,SAAS,KAAK,aAAa,EAAE;UAC/BO,UAAU,CAACliB,MAAM,CAAC2hB,SAAS,EAAE,IAAI,CAACS,gBAAgB,CAAC;SACpD,MAAM;UACLF,UAAU,CAACliB,MAAM,CAAC2hB,SAAS,EAAE,IAAI,CAACrH,QAAQ,CAACqH,SAAS,CAAC,CAAC;;;IAG5D,CAAC,CAAC;IAEF/zB,OAAO,CAAC0B,GAAG,CAAC4yB,UAAU,CAAC;IACvB,IAAI,CAAC1yB,gBAAgB,CAAC6yB,wBAAwB,CAAC5yB,cAAc,CAACC,OAAO,CAAC,QAAQ,CAAC,EAAEwyB,UAAU,CAAC,CAACvyB,IAAI,CAC/FxB,oDAAI,CAAC,CAAC,CAAC,CACR,CAACX,SAAS,CACRC,QAAa,IAAI;MAChBG,OAAO,CAAC0B,GAAG,CAAC,iCAAiC,EAAE7B,QAAQ,CAAC;MACxD,IAAI,CAACP,SAAS,GAAG,KAAK;MACtB,IAAI,CAAC1B,MAAM,CAACY,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC,EACAuB,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;MACpD,IAAI,CAACT,SAAS,GAAG,KAAK;IACxB,CAAC,CACF;EACH;EAGAo1B,sBAAsB,CAAC5wB,KAAU;IAC/B,MAAMgW,IAAI,GAAGhW,KAAK,CAAC4H,MAAM,CAACyF,KAAK,CAAC,CAAC,CAAC;IAClC,MAAME,MAAM,GAAG,IAAIC,UAAU,EAAE;IAC/B,IAAI,CAACsiB,WAAW,GAAG,IAAI;IAEvBviB,MAAM,CAACQ,MAAM,GAAG,MAAK;MACnB;MACA,IAAI,CAAC6a,QAAQ,CAAChnB,WAAW,GAAG2L,MAAM,CAACU,MAAgB;IACrD,CAAC;IAED/R,OAAO,CAAC0B,GAAG,CAAC,MAAM,CAAC;IAEnB,IAAIoY,IAAI,EAAE;MACRzI,MAAM,CAACW,aAAa,CAAC8H,IAAI,CAAC;MAC1B,IAAI,CAAC0a,gBAAgB,GAAG1a,IAAI;MAC5B,IAAI,CAACma,QAAQ,CAAC,aAAa,CAAC;;EAEhC;EAIA5yB,qBAAqB,CAACW,QAAa;IACjC,MAAMjB,GAAG,GAAGiB,QAAQ,CAACjB,GAAG,GAAG,EAAE,GAAG,IAAIiB,QAAQ,CAACjB,GAAG,EAAE,GAAGiB,QAAQ,CAACjB,GAAG;IACjE,MAAMD,KAAK,GAAGkB,QAAQ,CAAClB,KAAK,GAAG,EAAE,GAAG,IAAIkB,QAAQ,CAAClB,KAAK,EAAE,GAAGkB,QAAQ,CAAClB,KAAK;IAEzE,OAAO,GAAGC,GAAG,IAAID,KAAK,IAAIkB,QAAQ,CAACpB,IAAI,EAAE;EAC3C;;SAjJW5I,gBAAgB;;mBAAhBA,MAAgB;AAAA;;QAAhBA,MAAgB;EAAAqC;EAAAC;EAAAC;EAAA8F;EAAA7F;IAAA;MCb7BC,wDAAAA,4FAAqE;MAGrEA,4DAAAA,aAAwB;MAQlBA,wDAAAA,sEAOe;MACfA,wDAAAA,2EAAAA,oEAAAA,CAUc;MACdA,4DAAAA,aAA0B;MACCA,oDAAAA,IAAoB;MAAAA,0DAAAA,EAAK;MAGpDA,4DAAAA,WAAK;MACEA,wDAAAA;QAAA,OAAS6F,2BAAuB;MAAA,EAAC;MAAtC7F,0DAAAA,EAAyF;MAM/FA,4DAAAA,eAAwB;MAGKA,oDAAAA,eAAO;MAAAA,0DAAAA,EAAO;MACvCA,4DAAAA,eAAyB;MACvBA,oDAAAA,IACF;MAAAA,0DAAAA,EAAM;MAGRA,4DAAAA,eAAwB;MACGA,oDAAAA,gBAAQ;MAAAA,0DAAAA,EAAO;MACxCA,4DAAAA,eAAyB;MACvBA,wDAAAA,wEAKe;MACfA,wDAAAA,8EAAAA,oEAAAA,CAGc;MAChBA,0DAAAA,EAAM;MAGRA,4DAAAA,eAAwB;MACGA,oDAAAA,uBAAe;MAAAA,0DAAAA,EAAO;MAC/CA,4DAAAA,eAAyB;MACvBA,wDAAAA,wEAKe;MACfA,wDAAAA,8EAAAA,oEAAAA,CAMc;MAChBA,0DAAAA,EAAM;MAGRA,4DAAAA,eAAwB;MACGA,oDAAAA,oBAAO;MAAAA,0DAAAA,EAAO;MACvCA,4DAAAA,eAAyB;MACvBA,wDAAAA,wEAKe;MACfA,wDAAAA,8EAAAA,oEAAAA,CAKc;MAChBA,0DAAAA,EAAM;MAGRA,4DAAAA,eAAwB;MACUA,wDAAAA;QAAA,uBAAqB6F,kBAAc,GAAGA,gBAAY;MAAA,EAAC;MACjF7F,4DAAAA,aAAoB;MAACA,oDAAAA,IAAqC;MAAAA,0DAAAA,EAAI;MAGhEA,uDAAAA,eAA+B;MAC/BA,4DAAAA,gBAAyB;MAAAA,oDAAAA,cAAM;MAAAA,0DAAAA,EAAO;MACtCA,4DAAAA,gBAAyB;MAAAA,oDAAAA,cAAM;MAAAA,0DAAAA,EAAO;MACtCA,uDAAAA,eAA+B;MACjCA,0DAAAA,EAAM;MAOVA,uDAAAA,qBAA+B;;;;;;;MAvHLA,wDAAAA,uBAAe;MAWpBA,uDAAAA,GAAmB;MAAnBA,wDAAAA,wBAAmB;MAoBPA,uDAAAA,GAAoB;MAApBA,+DAAAA,iDAAoB;MAe7CA,uDAAAA,GACF;MADEA,gEAAAA,4DACF;MAMiBA,uDAAAA,GAAoD;MAApDA,wDAAAA,8DAAoD;MAgBpDA,uDAAAA,GAA2C;MAA3CA,wDAAAA,qDAA2C;MAmB3CA,uDAAAA,GAA4C;MAA5CA,wDAAAA,sDAA4C;MAiBtCA,uDAAAA,GAAqC;MAArCA,gEAAAA,8CAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;ACvGhD;;;;;;;;ICSdA,4DAAAA,cAA8I;IAA5GA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,yBAAiB,GAAG,EAAC,kBAAkB,EAAC,EAAE,CAAC;IAAA,EAAC;IAAvFA,0DAAAA,EAA8I;;;ADD5I,MAAOoB,cAAc;EAQzBhC,YACU0sB,QAAmB,EAAUC,EAAc,EAAUC,SAAuB;IAA5E,aAAQ,GAARF,QAAQ;IAAqB,OAAE,GAAFC,EAAE;IAAsB,cAAS,GAATC,SAAS;IAPxE,UAAK,GAAQ,EAAE;IA6Jf,eAAU,GAAU,EAAE;IAEtB,iBAAY,GAAG,KAAK,CAAC,CAAC;EAxJoE;;EAE1F9c,eAAe;IACb;IAEA,IAAI,CAACgd,mBAAmB,EAAE;IAC1B,IAAI,CAACC,oBAAoB,EAAE;EAE7B;EAMAxB,YAAY,CAACthB,KAAiB;IAC5B;IACA,MAAMuhB,WAAW,GAAGvhB,KAAK,CAACwhB,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO;IAC5C,IAAI,CAACiB,EAAE,CAACnO,aAAa,CAACjS,YAAY,CAAC,mBAAmB,EAAEif,WAAW,CAAC7c,QAAQ,EAAE,CAAC;EACjF;EAGAgd,UAAU,CAAC1hB,KAAiB;IAC1B;IACA,MAAM2hB,SAAS,GAAG3hB,KAAK,CAAC4hB,cAAc,CAAC,CAAC,CAAC,CAACH,OAAO;IACjD,MAAMF,WAAW,GAAGM,UAAU,CAAC,IAAI,CAACa,EAAE,CAACnO,aAAa,CAACuN,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAEvF,IAAIP,WAAW,GAAGI,SAAS,EAAE;MAC3B,IAAI,CAACI,WAAW,CAAC,OAAO,CAAC;KAC1B,MAAM,IAAIR,WAAW,GAAGI,SAAS,EAAE;MAClC,IAAI,CAACI,WAAW,CAAC,MAAM,CAAC;;EAE5B;EAGAC,WAAW,CAAChiB,KAAiB;IAC3B;IACA,IAAI,CAAC0iB,EAAE,CAACnO,aAAa,CAACjS,YAAY,CAAC,mBAAmB,EAAEtC,KAAK,CAACyhB,OAAO,CAAC/c,QAAQ,EAAE,CAAC;EACnF;EAGAud,SAAS,CAACjiB,KAAiB;IACzB;IACA,MAAMkiB,SAAS,GAAGliB,KAAK,CAACyhB,OAAO;IAC/B,MAAMU,WAAW,GAAGN,UAAU,CAAC,IAAI,CAACa,EAAE,CAACnO,aAAa,CAACuN,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAEvF,IAAIK,WAAW,GAAGD,SAAS,EAAE;MAC3B,IAAI,CAACH,WAAW,CAAC,OAAO,CAAC;KAC1B,MAAM,IAAII,WAAW,GAAGD,SAAS,EAAE;MAClC,IAAI,CAACH,WAAW,CAAC,MAAM,CAAC;;EAE5B;EAEAA,WAAW,CAACK,SAAiB;IAC3B;IAEA,IAAIA,SAAS,KAAK,MAAM,EAAE;MACxB,IAAI,CAACC,QAAQ,CAACC,IAAI,EAAE,CAAC,CAAC;KACvB,MAAM,IAAIF,SAAS,KAAK,OAAO,EAAE;MAChC,IAAI,CAACC,QAAQ,CAACE,IAAI,EAAE,CAAC,CAAC;;EAE1B;;EAEAM,mBAAmB;IACjB,MAAM6B,QAAQ,GAAGvlB,QAAQ,CAACqI,gBAAgB,CAAC,UAAU,CAAC;IACtDkd,QAAQ,CAAC9f,OAAO,CAAE6C,OAAO,IAAI;MAC3BA,OAAO,CAACZ,SAAS,CAACc,GAAG,CAAC,SAAS,CAAC;IAClC,CAAC,CAAC;EACJ;EAEAmb,oBAAoB;IAClB,MAAM6B,WAAW,GAAG,IAAI,CAACjC,EAAE,CAACnO,aAAa,CAAC/M,gBAAgB,CAAC,KAAK,CAAC;IACjEmd,WAAW,CAAC/f,OAAO,CAAEggB,UAAU,IAAI;MACjC,MAAMC,GAAG,GAAGD,UAAU,CAAC9C,YAAY,CAAC,KAAK,CAAC;MAC1C,IAAI+C,GAAG,EAAE;QACP,IAAIA,GAAG,CAACvoB,QAAQ,CAAC,SAAS,CAAC,EAAE;UAC3B,IAAI,CAACmmB,QAAQ,CAACqC,QAAQ,CAACF,UAAU,EAAE,aAAa,CAAC;SAClD,MAAM,IAAIC,GAAG,CAACvoB,QAAQ,CAAC,OAAO,CAAC,EAAE;UAChC,IAAI,CAACmmB,QAAQ,CAACqC,QAAQ,CAACF,UAAU,EAAE,WAAW,CAAC;SAChD,MAAM,IAAIC,GAAG,CAACvoB,QAAQ,CAAC,QAAQ,CAAC,EAAE;UACjC,IAAI,CAACmmB,QAAQ,CAACqC,QAAQ,CAACF,UAAU,EAAE,YAAY,CAAC;;;IAGtD,CAAC,CAAC;EACJ;EAECrB,oBAAoB,CAACwB,SAAS;IAC7B,MAAML,QAAQ,GAAGvlB,QAAQ,CAACqI,gBAAgB,CAAC,GAAG,GAAGud,SAAS,CAAC;IAE3DL,QAAQ,CAAC9f,OAAO,CAAE6C,OAAO,IAAI;MAC3B,IAAIA,OAAO,YAAYud,WAAW,EAAE;QAClC9oB,OAAO,CAAC0B,GAAG,CAAC,YAAY,CAAC;QACzB6J,OAAO,CAACtB,KAAK,CAAC+C,QAAQ,GAAG,OAAO;;IAEpC,CAAC,CAAC;EACJ;EAEA;EAGA;EAGAoa,qBAAqB,CAACpc,OAAe;IACnC;IACA,MAAM+d,UAAU,GAAG/d,OAAO,CAAC5I,KAAK,CAAC,sBAAsB,CAAC;IAExD,KAAK,IAAImK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwc,UAAU,CAAC3pB,MAAM,EAAEmN,CAAC,EAAE,EAAE;MAC1C,IAAIyc,WAAW,GAAGD,UAAU,CAACxc,CAAC,CAAC,CAACrN,IAAI,EAAE;MAEtC;MACA,MAAM+pB,WAAW,GAAG,oDAAoD;MAExE,MAAMC,eAAe,GAAG,IAAI,CAACC,kBAAkB,CAACH,WAAW,CAAC;MAC5D,MAAMI,YAAY,GAAGF,eAAe,KAAK,cAAc,GAAG,UAAUA,eAAe,EAAE,GAAG,EAAE;MAE1F,IAAIF,WAAW,EAAE;QAAE;QACjB,IAAI,CAACK,KAAK,CAAChiB,IAAI,CAAC;UACd2D,OAAO,EAAE,IAAI,CAACyb,SAAS,CAAC6C,uBAAuB,CAACN,WAAW,CAAC;UAC5DO,MAAM,EAAE,UAAU,IAAI,CAACF,KAAK,CAACjqB,MAAM,GAAG,CAAC,EAAE;UACzCgqB,YAAY,EAAEA;SACf,CAAC;;;IAGNppB,OAAO,CAAC0B,GAAG,CAAC,IAAI,CAAC2nB,KAAK,CAAC;EACzB;EAGAF,kBAAkB,CAACK,IAAY;IAC7B,IAAIA,IAAI,CAACppB,QAAQ,CAAC,iBAAiB,CAAC,EAAE;MACpC,OAAO,QAAQ;KAChB,MAAM,IAAIopB,IAAI,CAACppB,QAAQ,CAAC,gBAAgB,CAAC,EAAE;MAC1C,OAAO,OAAO;KACf,MAAM,IAAIopB,IAAI,CAACppB,QAAQ,CAAC,kBAAkB,CAAC,EAAE;MAC5C,OAAO,SAAS;KACjB,MAAM;MACL,OAAO,cAAc,CAAC,CAAC;;EAE3B;;EAEAqpB,oBAAoB,CAACD,IAAY;IAC/B;IACA,MAAMP,WAAW,GAAG,oDAAoD;IACxE,MAAM7uB,KAAK,GAAG6uB,WAAW,CAACS,IAAI,CAACF,IAAI,CAAC;IAEpC,IAAIpvB,KAAK,EAAE;MACT,MAAMuvB,SAAS,GAAGvvB,KAAK,CAAC,CAAC,CAAC;MAC1B,IAAI,CAACivB,KAAK,CAAC,CAAC,CAAC,CAACO,QAAQ,GAAGD,SAAS,CAAC,CAAC;;EAExC;;EAOA6J,UAAU;IACR,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB;EACF;;EAEAC,WAAW;IACT,IAAI,CAACD,YAAY,GAAG,KAAK;EAC3B;EAEAn1B,QAAQ;IACN;IACA,IAAIkR,SAAS,CAACgQ,KAAK,EAAE;MACnB,IAAI,CAACC,mBAAmB,GAAG,IAAI;KAChC,MAAM;EAET;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEAC,gBAAgB,CAACrL,GAAG,EAACsL,MAAM,EAACzQ,IAAI;IAC9B,IAAIM,SAAS,CAACgQ,KAAK,EAAE;MACnBhQ,SAAS,CAACgQ,KAAK,CAAC;QACdI,KAAK,EAAED,MAAM;QACbzQ,IAAI,EAAEA,IAAI;QACVmF,GAAG,EAAG,+CAA+C,GAACA;OACvD,CAAC,CACCwL,IAAI,CAAC,MAAM7f,OAAO,CAAC0B,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAC9Doe,KAAK,CAAE/f,KAAK,IAAKC,OAAO,CAACD,KAAK,CAAC,gCAAgC,EAAEA,KAAK,CAAC,CAAC;;EAE/E;;SA3MWlE,cAAc;;mBAAdA,MAAc;AAAA;;QAAdA,MAAc;EAAAxB;EAAAob;IAAA;;;;;;;;;;;eAAdnV,wBAAoB;MAAA;QAAA,OAApBA,sBAAkB;MAAA;QAAA,OAAlBA,uBAAmB;MAAA;QAAA,OAAnBA,qBAAiB;MAAA;;;;;;;;MCX9B7F,4DAAAA,aAA8C;MACzBA,oDAAAA,uBAAgB;MAAAA,0DAAAA,EAAK;MAI1CA,4DAAAA,iBAA0B;MAIKA,oDAAAA,4DAAgD;MAAAA,0DAAAA,EAAK;MAGhFA,wDAAAA,kDAA8I;MAChJA,0DAAAA,EAAM;MACNA,4DAAAA,cAA4B;MAGCA,oDAAAA,6DAAgD;MAAAA,0DAAAA,EAAK;MAGhFA,uDAAAA,cAA2D;MAC7DA,0DAAAA,EAAM;MACNA,4DAAAA,cAA4B;MAGCA,oDAAAA,6DAAgD;MAAAA,0DAAAA,EAAK;MAGhFA,uDAAAA,cAA2D;MAC7DA,0DAAAA,EAAM;MACNA,4DAAAA,cAA4B;MAGCA,oDAAAA,6DAAgD;MAAAA,0DAAAA,EAAK;MAGhFA,uDAAAA,cAA2D;MAC7DA,0DAAAA,EAAM;MACNA,4DAAAA,cAA4B;MAGCA,oDAAAA,6DAAgD;MAAAA,0DAAAA,EAAK;MAGhFA,uDAAAA,cAA2D;MAC7DA,0DAAAA,EAAM;MACNA,4DAAAA,cAA4B;MAGCA,oDAAAA,6DAAgD;MAAAA,0DAAAA,EAAK;MAGhFA,uDAAAA,cAA2D;MAC7DA,0DAAAA,EAAM;MACNA,4DAAAA,cAA4B;MAGCA,oDAAAA,6DAAgD;MAAAA,0DAAAA,EAAK;MAGhFA,uDAAAA,cAA2D;MAC7DA,0DAAAA,EAAM;MAGRA,4DAAAA,cAAkC;MACXA,oDAAAA,gEAAmD;MAAAA,0DAAAA,EAAI;;;MArDpEA,uDAAAA,GAAyB;MAAzBA,wDAAAA,iCAAyB;;;;;;;;;;;;;;;;;;;;;;;ACP7B,MAAO0B,wBAAwB;EACnCtC,YAAoB2sB,EAAc;IAAd,OAAE,GAAFA,EAAE;EAAe;EAErC;;;;;;;EAQA5nB,OAAO,CAACkF,KAAU;IAChB;IACA,IAAI6wB,QAAQ,GAAG7wB,KAAK,CAAC4H,MAAM,CAACzM,KAAK,CAACuW,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAEpD;IACA,IAAImf,QAAQ,CAACv1B,MAAM,IAAI,EAAE,EAAE;MACzBu1B,QAAQ,GAAGA,QAAQ,CAACnf,OAAO,CAAC,8BAA8B,EAAE,YAAY,CAAC;KAC1E,MAAM;MACLmf,QAAQ,GAAGA,QAAQ,CAACnf,OAAO,CAAC,8BAA8B,EAAE,YAAY,CAAC;;IAG3E;IACA1R,KAAK,CAAC4H,MAAM,CAACzM,KAAK,GAAG01B,QAAQ;EAC/B;EAEA;;;;;EAMAC,SAAS,CAAC9wB,KAAoB;IAC5B,MAAM4H,MAAM,GAAG5H,KAAK,CAAC4H,MAA0B,CAAC,CAAC;IAEjD;IACA,IAAI5H,KAAK,CAAC0T,GAAG,KAAK,WAAW,IAAI9L,MAAM,CAACmpB,cAAc,KAAKnpB,MAAM,CAACopB,YAAY,EAAE;MAC9E,IAAIH,QAAQ,GAAGjpB,MAAM,CAACzM,KAAK,CAACuW,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;MAE9C;MACA,IAAImf,QAAQ,CAACv1B,MAAM,IAAI,CAAC,EAAE;QACxBu1B,QAAQ,GAAGA,QAAQ,CAACpgB,SAAS,CAAC,CAAC,EAAEogB,QAAQ,CAACv1B,MAAM,GAAG,CAAC,CAAC;;MAGvD;MACA,IAAIu1B,QAAQ,CAACv1B,MAAM,IAAI,EAAE,EAAE;QACzBu1B,QAAQ,GAAGA,QAAQ,CAACnf,OAAO,CAAC,8BAA8B,EAAE,YAAY,CAAC;OAC1E,MAAM;QACLmf,QAAQ,GAAGA,QAAQ,CAACnf,OAAO,CAAC,8BAA8B,EAAE,YAAY,CAAC;;MAG3E;MACA9J,MAAM,CAACzM,KAAK,GAAG01B,QAAQ;;EAE3B;;SAtDWx4B,wBAAwB;;mBAAxBA,MAAwB;AAAA;;QAAxBA,MAAwB;EAAA9B;EAAAwzB;IAAA;;eAAxBvtB,mBAAe;MAAA;QAAA,OAAfA,qBAAiB;MAAA;;;;;;;;;;;;;;;;;;ACLvB,MAAMlE,WAAW,GAAG;EACzB24B,UAAU,EAAE,IAAI;EAGhBld,MAAM,EAAE,EAAE;EACV3a,cAAc,EAAE;IACd83B,MAAM,EAAE,yCAAyC;IACjDC,UAAU,EAAE,gCAAgC;IAC5CC,SAAS,EAAE,gBAAgB;IAC3BC,aAAa,EAAE,4BAA4B;IAC3CC,iBAAiB,EAAE,cAAc;IACjCC,KAAK,EAAE,2CAA2C;IAClDC,aAAa,EAAE,cAAc;IAC7BC,QAAQ,EAAC;;CAEZ;AAGD,IAAIn5B,WAAW,CAAC24B,UAAU,EAAE;EAC1B34B,WAAW,CAACyb,MAAM,GAAG,kCAAkC,CAAC,CAAC;CAC1D,MAAM;EACLzb,WAAW,CAACyb,MAAM,GAAG,2BAA2B,CAAC,CAAC;;;;;;;;;;;;;;;;;;ACrBL;AAGF;AACY;AAEzD,IAAIzb,6EAAsB,EAAE;EAC1Bo5B,6DAAc,EAAE;;AAGlB,IAAI,eAAe,IAAIhmB,SAAS,IAAIpT,6EAAsB,EAAE;EAC1DsI,MAAM,CAACod,gBAAgB,CAAC,MAAM,EAAE,MAAK;IACnCtS,SAAS,CAACimB,aAAa,CAACC,QAAQ,CAAC,2BAA2B,CAAC,CAC1D7V,IAAI,CAAC8V,YAAY,IAAG;MACnB;IAAA,CACD,CAAC,CACD7V,KAAK,CAAC/f,KAAK,IAAG;MACbC,OAAO,CAACD,KAAK,CAAC,mCAAmC,EAAEA,KAAK,CAAC;IAC3D,CAAC,CAAC;EACN,CAAC,CAAC;;AAGJ61B,sEAAAA,EAAwB,CAACC,eAAe,CAAC14B,sDAAS,CAAC,CAChD2iB,KAAK,CAACgW,GAAG,IAAI91B,OAAO,CAACD,KAAK,CAAC+1B,GAAG,CAAC,CAAC;;;;;;;;;;;;;;;;;;;ACtB4B;AACJ;;;AAQrD,MAAOC,cAAc;EAIvBl8B,YAAoBoD,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IAFhB,UAAK,GAAG4E,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAG7C,IAAI,CAAC+V,MAAM,GAAGzb,4EAAkB;EACpC;EAGA2tB,kBAAkB;IACd,MAAM1V,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,oBAAoB;IAC9C,MAAMoB,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAC1C;EAEA2R,sBAAsB,CAACrrB,EAAS;IAC5B,MAAM8U,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,sBAAsBtY,EAAE,EAAE;IACpD,MAAM0Z,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAC1C;EAEAyR,qBAAqB,CAACnrB,EAAS;IAC3B,MAAM8U,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,yBAAyBtY,EAAE,EAAE;IACvD,MAAM0Z,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAC1C;EAEA8N,yBAAyB,CAACxnB,EAAS;IAC/B,MAAM8U,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,4BAA4BtY,EAAE,EAAE;IAC1D,MAAM0Z,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAC1C;;SA/BS8c,cAAc;;mBAAdA,MAAc;AAAA;;SAAdA,MAAc;EAAArgB,SAAdqgB,MAAc;EAAApgB,YAFX;AAAM;;;;;;;;;;;;;;;;;;;ACPyC;AAEJ;;;AAOrD,MAAOqgB,kBAAkB;EAG3Bn8B,YAAoBoD,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IAFhB,WAAM,GAAGb,4EAAkB;IAG3B,UAAK,GAAGyF,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;EADT;;EAIxCib,aAAa;IACX,MAAM1I,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,gBAAgB;IAC1C,MAAMoB,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAExC;EAEA2D,aAAa;IACT,MAAMvI,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,aAAa;IACvC,MAAMoB,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAExC;EACA6T,iBAAiB,CAACmJ,OAAe;IAC/B,MAAM5hB,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,wBAAwBoe,OAAO,EAAE;IAC3D,MAAMhd,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EACxC;EAIAid,iBAAiB,CAACC,YAAoB;IACpC,MAAM9hB,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,kBAAkBse,YAAY,EAAE;IAC1D,MAAMld,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAExC;EAEAnG,2BAA2B,CAACsjB,YAAoB;IAC9C,MAAM/hB,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,4BAA4Bue,YAAY,EAAE;IACpE,MAAMnd,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAExC;EAEAgK,kBAAkB,CAACoT,MAAc,EAAEF,YAAoB;IACrD,MAAMnG,OAAO,GAAG;MACd5C,QAAQ,EAAEiJ,MAAM;MAChBF,YAAY,EAAEA;KACf;IAED,MAAM9hB,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,sBAAsB,CAAC,CAAC;IAClD,MAAMoB,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAM9E,GAAG,EAAE2b,OAAO,EAAE;MAAE/W;IAAO,CAAE,CAAC;EACvD;;SAnDO+c,kBAAkB;;mBAAlBA,MAAkB;AAAA;;SAAlBA,MAAkB;EAAAtgB,SAAlBsgB,MAAkB;EAAArgB,YAJjB;AAAM;;;;;;;;;;;;;;;;;;;ACL2C;AACJ;;;AAQrD,MAAO2gB,cAAc;EAIvBz8B,YAAoBoD,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IAFhB,UAAK,GAAG4E,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAG7C,IAAI,CAAC+V,MAAM,GAAGzb,4EAAkB;EACpC;EAEA2I,2BAA2B,CAAC5E,KAAa;IACrC,MAAM6vB,OAAO,GAAG;MACZ7vB,KAAK,EAAEA;KACV;IAED,MAAMkU,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,iCAAiC;IAC3D,OAAO,IAAI,CAAC5a,IAAI,CAACkc,IAAI,CAAM9E,GAAG,EAAE2b,OAAO,CAAC;EAC5C;EAEArwB,YAAY,CAACJ,EAAU,EAAEpB,QAAgB,EAAEuB,KAAa;IACpD,MAAMswB,OAAO,GAAG;MACdzwB,EAAE,EAAEA,EAAE;MACNpB,QAAQ,EAAEA,QAAQ;MAClBuB,KAAK,EAAEA;KACR;IAED,MAAM2U,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,gBAAgB;IAC1C,MAAMoB,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC;IAE9E,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAM9E,GAAG,EAAE2b,OAAO,EAAE;MAAE/W;IAAO,CAAE,CAAC;EACvD;;SA5BOqd,cAAc;;mBAAdA,MAAc;AAAA;;SAAdA,MAAc;EAAA5gB,SAAd4gB,MAAc;EAAA3gB,YAFX;AAAM;;;;;;;;;;;;;;;;;;;ACNoC;;;AAMpD,MAAO4gB,WAAW;EAGpB18B,YAAoBoD,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IACpB,IAAI,CAAC4a,MAAM,GAAGzb,yEAAkB;EACpC;EAEAklB,eAAe;IACX,MAAMjN,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,cAAc;IACxC,MAAM2e,MAAM,GAAG9xB,MAAM,CAACC,IAAI,CAAC0P,GAAG,EAAE,QAAQ,CAAC;IACzC;IACA,IAAImiB,MAAM,EAAE;MACV;MACA9xB,MAAM,CAACod,gBAAgB,CAAC,SAAS,EAAGhe,KAAK,IAAI;QAE3C,IAAIA,KAAK,CAAC2yB,MAAM,KAAKD,MAAM,EAAE;UAC3B,MAAM32B,QAAQ,GAAGiE,KAAK,CAAC8H,IAAI;UAC3B5L,OAAO,CAAC0B,GAAG,CAAC,8BAA8B,EAAE7B,QAAQ,CAAC;UACrD;;MAEJ,CAAC,CAAC;;EAEN;;EAEAshB,KAAK,CAAChhB,KAAa,EAAEhC,QAAgB;IACnC,MAAMgI,IAAI,GAAG;MACXhG,KAAK,EAAEA,KAAK;MACZhC,QAAQ,EAAEA;KACX;IAED,MAAMkW,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,aAAa;IAEvC,OAAO,IAAI,CAAC5a,IAAI,CAACkc,IAAI,CAAC9E,GAAG,EAAElO,IAAI,CAAC;EAClC;;SAjCOowB,WAAW;;mBAAXA,MAAW;AAAA;;SAAXA,MAAW;EAAA7gB,SAAX6gB,MAAW;EAAA5gB,YAFR;AAAM;;;;;;;;;;;;;;;;;;;ACLyC;AACJ;;;AAQrD,MAAO+gB,eAAe;EAI1B78B,YAAoBoD,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IAFhB,UAAK,GAAG4E,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAG/C,IAAI,CAAC+V,MAAM,GAAGzb,4EAAkB;EAClC;EAEAuH,gBAAgB,CAAC3C,IAAY,EAAEb,KAAa,EAAEhC,QAAgB,EAAE+C,OAAe,EAAEC,KAAa,EAAEF,MAAc;IAC5G,MAAM+uB,OAAO,GAAG;MACd7mB,IAAI,EAAEnI,IAAI;MACVb,KAAK,EAAEA,KAAK;MACZhC,QAAQ,EAAEA,QAAQ;MAClBw4B,cAAc,EAAEz1B,OAAO;MACvBC,KAAK,EAAEA,KAAK;MACZF,MAAM,EAAEA;KACT;IAED,OAAO,IAAI,CAAChE,IAAI,CAACkc,IAAI,CAAC,GAAG,IAAI,CAACtB,MAAM,WAAW,EAAEmY,OAAO,CAAC;EAC3D;EAGAyE,wBAAwB,CAACl1B,EAAU,EAAEqM,IAAc;IACjD,MAAMyI,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,oBAAoBtY,EAAE,EAAE;IAClD,MAAM0Z,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC;IAC9E,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAM9E,GAAG,EAAEzI,IAAI,EAAE;MAAEqN;IAAO,CAAE,CAAC;EACpD;EAEArX,gBAAgB,CAACrC,EAAU,EAAE4B,KAAa,EAAED,OAAe,EAAED,MAAc;IACzE,MAAM+uB,OAAO,GAAG;MACd7uB,KAAK,EAAEA,KAAK;MACZw1B,cAAc,EAAEz1B,OAAO;MACvBD,MAAM,EAAEA;KACT;IAED,MAAMoT,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,oBAAoBtY,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM0Z,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAM9E,GAAG,EAAE2b,OAAO,EAAE;MAAE/W;IAAO,CAAE,CAAC;EAEvD;;SAvCWyd,eAAe;;mBAAfA,MAAe;AAAA;;SAAfA,MAAe;EAAAhhB,SAAfghB,MAAe;EAAA/gB,YAFd;AAAM;;;;;;;;;;;;;;;;;;ACP0D;;AAE9E,MAAMihB,WAAW,GAAG;EAClB,OAAO,EAAE;IACPC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IAC3DC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;;CAE9F;AAGK,MAAO76B,2BAA4B,SAAQd,yEAAiB;EAChE47B,eAAe,CAACC,OAAe;IAC7B,OAAOJ,WAAW,CAAC,OAAO,CAAC,CAACC,QAAQ,CAACG,OAAO,GAAG,CAAC,CAAC;EACnD;EAEAC,iBAAiB,CAACn2B,KAAa;IAC7B,OAAO81B,WAAW,CAAC,OAAO,CAAC,CAACE,MAAM,CAACh2B,KAAK,GAAG,CAAC,CAAC;EAC/C;EAEAo2B,gBAAgB,CAACp2B,KAAa;IAC5B,OAAO81B,WAAW,CAAC,OAAO,CAAC,CAACE,MAAM,CAACh2B,KAAK,GAAG,CAAC,CAAC;EAC/C;EAEAq2B,eAAe,CAACC,IAAmB;IACjC,OAAO,GAAGA,IAAI,CAACr2B,GAAG,IAAIq2B,IAAI,CAACt2B,KAAK,IAAIs2B,IAAI,CAACx2B,IAAI,EAAE;EACjD;;SAfW3E,2BAA4B;;;;wKAA5BA,MAA2B,SAA3BA,MAA2B;EAAA;AAAA;;SAA3BA,MAA2B;EAAAyZ,SAA3BzZ,MAA2B;AAAA;;;;;;;;;;;;;;;;;;;ACVuB;AAEJ;;;AAQrD,MAAOo7B,YAAY;EAGvBx9B,YAAoBoD,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IAFhB,WAAM,GAAGb,4EAAkB;IAG3B,UAAK,GAAGyF,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;EADT;;EAIxC2G,uBAAuB,CAACsF,OAAe;IACrC,MAAMsG,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,yBAAyB9J,OAAO,EAAE;IAC5D,MAAMrO,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAMmX,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAUxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3E,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAAWuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAClD;EAEAjQ,gCAAgC,CAAC+E,OAAe;IAC9C,MAAMsG,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,iCAAiC9J,OAAO,EAAE;IACpE,MAAMrO,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAMmX,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAUxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3E,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAAWuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAClD;EAEApG,eAAe,CAAC9E,OAAe;IAC7B,MAAMsG,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,gBAAgB9J,OAAO,EAAE;IACnD,MAAMrO,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,MAAMmX,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAUxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAE3E,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAAWuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAElD;EAEAhL,uBAAuB,CAACJ,OAAe,EAAEC,gBAAqB;IAC5D,MAAMuG,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,WAAWhK,OAAO,gBAAgB;IAC5D,MAAMnO,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAC7C,MAAMmX,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAUxZ,KAAK,EAAE,CAAC;IAEzE,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAC9E,GAAG,EAAEvG,gBAAgB,EAAE;MAAEmL;IAAO,CAAE,CAAC;EAC3D;EAEA5G,iCAAiC,CAACxE,OAAe,EAAEC,gBAAqB;IACtE,MAAMuG,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,WAAWhK,OAAO,oBAAoB;IAChE,MAAMnO,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAC7C,MAAMmX,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAUxZ,KAAK,EAAE,CAAC;IAEzE,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAC9E,GAAG,EAAEvG,gBAAgB,EAAE;MAAEmL;IAAO,CAAE,CAAC;EAC3D;EAEA8J,cAAc,CAACuU,SAAiB,EAAEvpB,OAAe;IAC/C,MAAMsG,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,SAAS9J,OAAO,cAAcupB,SAAS,EAAE;IACnE,MAAMre,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAW9E,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EACnD;EAEAvO,kBAAkB,CAACqJ,UAAoB;IACrC,MAAMM,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,OAAO;IACjC,MAAMoB,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAC9E,GAAG,EAAE;MAAEkjB,WAAW,EAAExjB;IAAU,CAAE,EAAE;MAAEkF;IAAO,CAAE,CAAC;EACtE;EAEAlB,sBAAsB,CAAEhK,OAAe;IACrC,MAAMsG,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,WAAW9J,OAAO,EAAE;IAC9C,MAAMkL,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAC9E,GAAG,EAAE;MAAEtG,OAAO,EAAEA;IAAO,CAAE,EAAE;MAAEkL;IAAO,CAAE,CAAC;EAC/D;EAGA1I,gBAAgB,CAACinB,SAAiB,EAAExsB,OAAe;IACjD,MAAMglB,OAAO,GAAG;MACdhlB,OAAO,EAAEA;KACV;IACD,MAAMqJ,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,iBAAiB2f,SAAS,EAAE;IACtD,MAAMve,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAC9E,GAAG,EAAC2b,OAAO,EAAC;MAAE/W;IAAO,CAAE,CAAC;EAChD;EAEArJ,kBAAkB,CAAC4nB,SAAiB;IAClC,MAAMxH,OAAO,GAAG,EACf;IACD,MAAM3b,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,wBAAwB2f,SAAS,EAAE;IAC7D,MAAMve,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAC9E,GAAG,EAAC2b,OAAO,EAAE;MAAE/W;IAAO,CAAE,CAAC;EACjD;;SAhFWoe,YAAY;;mBAAZA,MAAY;AAAA;;SAAZA,MAAY;EAAA3hB,SAAZ2hB,MAAY;EAAA1hB,YAJX;AAAM;;;;;;;;;;;;;;;;;;;;ACNsC;AACa;AACT;;;AAKxD,MAAOgiB,QAAQ;EAOnB99B,YAAoBoD,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IANxB,UAAK,GAAW,EAAE;IAClB,YAAO,GAAQ,IAAI;IAEX,sBAAiB,GAAG,eAAe,CAAC,CAAC;IAI3C,IAAI,CAAC4a,MAAM,GAAGzb,yEAAkB;EAClC;EACA6vB,iBAAiB;IACf,MAAM2L,SAAS,GAAGH,gEAAY,EAAE;IAEhC,MAAMI,WAAW,GAAGh2B,cAAc,CAACC,OAAO,CAAC,IAAI,CAACg2B,iBAAiB,CAAC;IAGlE,OAAOJ,4DAAQ,CAACE,SAAS,EAAE;MAAErC,QAAQ,EAAEn5B,0FAAmCm5B;IAAA,CAAE,CAAC,CAC1E1V,IAAI,CAAEkY,YAAY,IAAI;MACrB,IAAIA,YAAY,EAAE;QAChB,IAAI,CAACr4B,KAAK,GAAGq4B,YAAY;QAEzB,IAAI,CAACF,WAAW,IAAIE,YAAY,KAAKF,WAAW,EAAE;UAChD,IAAI,CAACG,kBAAkB,CAACD,YAAY,CAAC;;OAGxC,MAAM;QACL/3B,OAAO,CAAC0B,GAAG,CAAC,wEAAwE,CAAC;;IAEzF,CAAC,CAAC,CACDoe,KAAK,CAAEgW,GAAG,IAAI;MACb91B,OAAO,CAACD,KAAK,CAAC,uCAAuC,EAAE+1B,GAAG,CAAC;IAC7D,CAAC,CAAC;EAEN;EAGQkC,kBAAkB,CAACt4B,KAAa;IAEtC,MAAMu4B,MAAM,GAAGp2B,cAAc,CAACC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjD,MAAM8J,IAAI,GAAG;MAAElM,KAAK;MAAEw4B,UAAU,EAAED;IAAM,CAAE;IAC1C,MAAME,QAAQ,GAAGt2B,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAChD,MAAMmX,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAUif,QAAQ,EAAE,CAAC;IAE5E,IAAI,CAACl7B,IAAI,CAACkc,IAAI,CAAC,IAAI,CAACtB,MAAM,GAAG,eAAe,EAAEjM,IAAI,EAAC;MAACqN;IAAO,CAAC,CAAC,CAACrZ,SAAS,CACpEC,QAAQ,IAAI;MACXG,OAAO,CAAC0B,GAAG,CAAE7B,QAAQ,CAAC;MACtBgC,cAAc,CAACwd,OAAO,CAAC,IAAI,CAACyY,iBAAiB,EAAEp4B,KAAK,CAAC;IACvD,CAAC,EACAK,KAAK,IAAI;MACRC,OAAO,CAACD,KAAK,CAAC,yCAAyC,EAAEA,KAAK,CAACA,KAAK,CAACE,OAAO,CAAC;IAC/E,CAAC,CACF;EACH;;SArDW03B,QAAQ;;mBAARA,MAAQ;AAAA;;SAARA,MAAQ;EAAAjiB,SAARiiB,MAAQ;EAAAhiB,YAFP;AAAM;;;;;;;;;;;;;;;;;;;;ACAd,MAAOje,SAAS;EACpBmC,YAAoB+D,MAAc;IAAd,WAAM,GAANA,MAAM;EAAW;EAErCtE,WAAW;IACT,MAAMoG,KAAK,GAAGmC,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAE7C,IAAIpC,KAAK,EAAE;MACT;MACA,OAAO,IAAI;KACZ,MAAM;MACL;MACA,IAAI,CAAC9B,MAAM,CAACsnB,aAAa,CAAC,QAAQ,CAAC;MACnC,OAAO,KAAK;;EAEhB;;SAdWxtB,SAAS;;mBAATA,MAAS;AAAA;;SAATA,MAAS;EAAAge,SAAThe,MAAS;EAAAie,YAFR;AAAM;;;;;;;;;;;;;;;;;;ACDmB;;AAMjC,MAAO0iB,WAAW;EAHxBx+B;IAIU,UAAK,GAAW,EAAE;IAUlB,sBAAiB,GAAG,IAAIu+B,iDAAe,CAAgB,IAAI,CAAC;IACpE,iBAAY,GAAG,IAAI,CAACE,iBAAiB,CAACC,YAAY,EAAE;IAKpD,eAAU,GAAG,CAAC;;EAdd/0B,QAAQ,CAACrD,KAAa;IACpB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEAmE,QAAQ;IACN,OAAO,IAAI,CAACnE,KAAK;EACnB;EAIAqe,cAAc,CAACjf,EAAU;IACvB,IAAI,CAAC+4B,iBAAiB,CAAClS,IAAI,CAAC7mB,EAAE,CAAC;EACjC;EAMAof,UAAU;IACR,IAAI,CAACG,UAAU,GAAG,CAAC;IACnB;EACF;;EAEAE,cAAc;IACZ,IAAI,CAACF,UAAU,EAAE;IACjB;EACF;;SA7BWuZ,WAAW;;mBAAXA,MAAW;AAAA;;SAAXA,MAAW;EAAA3iB,SAAX2iB,MAAW;EAAA1iB,YAFV;AAAM;;;;;;;;;;;;;;;;;;ACLkB;;AAMhC,MAAO8iB,YAAY;EAMrB5+B;IAIO,YAAO,GAAI+R,IAAI,IAAI;MACtB;MACA,IAAI,CAACA,IAAI,CAACqmB,GAAG,EAAE;QACX;QACArmB,IAAI,CAACqmB,GAAG,GAAG,IAAIvxB,IAAI,EAAE,CAACg4B,WAAW,EAAE;;MAGvC,IAAI,CAACC,EAAE,CAAC75B,GAAG,CAAC8M,IAAI,CAACqmB,GAAG,CAAC,CAACpS,IAAI,CAAE6O,GAAQ,IAAI;QACpC,OAAO9iB,IAAI,CAACqmB,GAAG;QACfvD,GAAG,GAAGpX,MAAM,CAACshB,MAAM,CAAClK,GAAG,EAAE9iB,IAAI,CAAC;QAC9B,IAAI,CAAC+sB,EAAE,CAACE,GAAG,CAACnK,GAAG,CAAC;MACpB,CAAC,CAAC,CAAC5O,KAAK,CAAC,MAAK;QACV;QACA,IAAI,CAAC6Y,EAAE,CAACE,GAAG,CAACjtB,IAAI,CAAC;MACrB,CAAC,CAAC;IACN,CAAC;IAEM,WAAM,GAAG,MAAM,IAAIktB,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAI;MAClD,IAAI,CAACL,EAAE,CAACM,OAAO,CAAC;QACZC,YAAY,EAAE,IAAI;QAClBC,YAAY,EAAE;OACjB,CAAC,CAACtZ,IAAI,CAAE2O,IAAI,IAAI;QACbuK,OAAO,CAACvK,IAAI,CAAC;MACjB,CAAC,CAAC,CAAC1O,KAAK,CAAC,MAAK;QACVkZ,MAAM,CAAC,IAAI,CAAC;MAChB,CAAC,CAAC;IACN,CAAC,CAAC;IA7BE,IAAI,CAACL,EAAE,GAAG,IAAIH,uDAAO,CAAC,OAAO,CAAC;EAClC;EA8BOxG,SAAS,CAACzyB,EAAE;IACf,OAAO,IAAI,CAACo5B,EAAE,CAACM,OAAO,CAAC;MAAEC,YAAY,EAAE;IAAI,CAAE,CAAC,CAACrZ,IAAI,CAAE9N,MAAM,IAAI;MAC3D;MACA,MAAMqnB,WAAW,GAAGrnB,MAAM,CAACyc,IAAI,CAACjnB,IAAI,CAACknB,GAAG,IAAIA,GAAG,CAACC,GAAG,CAACuD,GAAG,KAAK1yB,EAAE,CAAC;MAC/D,IAAI65B,WAAW,EAAE;QACb;QACA,OAAO,IAAI,CAACT,EAAE,CAAC/tB,MAAM,CAACwuB,WAAW,CAAC1K,GAAG,CAAC;OACzC,MAAM;QACH,MAAM,IAAI2K,KAAK,CAAC,gDAAgD,CAAC;;IAEzE,CAAC,CAAC,CAACvZ,KAAK,CAAE/f,KAAK,IAAI;MACfC,OAAO,CAACD,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;MAC/C,MAAMA,KAAK;IACf,CAAC,CAAC;EACN;;SApDS04B,YAAY;;mBAAZA,MAAY;AAAA;;SAAZA,MAAY;EAAA/iB,SAAZ+iB,MAAY;EAAA9iB,YAHT;AAAM;;;;;;;;;;;;;;;ACLb,MAAMnV,YAAY,GAAG,CACxB;EAAEvB,KAAK,EAAE,EAAE;EAAEq6B,KAAK,EAAE;AAAoB,CAAE,EAC1C;EAAEr6B,KAAK,EAAE,WAAW;EAAEq6B,KAAK,EAAE;AAAW,CAAE,EAC1C;EAAEr6B,KAAK,EAAE,UAAU;EAAEq6B,KAAK,EAAE;AAAS,CAAE,EACvC;EAAEr6B,KAAK,EAAE,OAAO;EAAEq6B,KAAK,EAAE;AAAO,CAAE,EAClC;EAAEr6B,KAAK,EAAE,aAAa;EAAEq6B,KAAK,EAAE;AAAa,CAAE,EAC9C;EAAEr6B,KAAK,EAAE,wBAAwB;EAAEq6B,KAAK,EAAE;AAAwB,CAAE,EACpE;EAAEr6B,KAAK,EAAE,mBAAmB;EAAEq6B,KAAK,EAAE;AAAmB,CAAE,CAC3D;;;;;;;;;;;;;;;;;;;ACP0D;AAEJ;;;AAMrD,MAAOC,eAAe;EAI1B1/B,YAAoBoD,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IAFhB,UAAK,GAAG4E,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC;IAG7C,IAAI,CAAC+V,MAAM,GAAGzb,4EAAkB;EAClC;EAEAyzB,eAAe,CAACG,OAAY;IAC1B,MAAM/W,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC;IAE9E,MAAM2U,GAAG,GAAE,GAAG,IAAI,CAACwD,MAAM,qBAAqB;IAE9C7X,OAAO,CAAC0B,GAAG,CAACsuB,OAAO,CAAC;IACpB,OAAO,IAAI,CAAC/yB,IAAI,CAACkc,IAAI,CAAM9E,GAAG,EAAE2b,OAAO,EAAE;MAAE/W;IAAO,CAAE,CAAC;EACvD;EAEAugB,mBAAmB,CAACxJ,OAAY;IAC9B,MAAM/W,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC;IAE9E,MAAM2U,GAAG,GAAE,GAAG,IAAI,CAACwD,MAAM,2BAA2B;IAEpD7X,OAAO,CAAC0B,GAAG,CAACsuB,OAAO,CAAC;IACpB,OAAO,IAAI,CAAC/yB,IAAI,CAACkc,IAAI,CAAM9E,GAAG,EAAE2b,OAAO,EAAE;MAAE/W;IAAO,CAAE,CAAC;EACvD;EAGAkW,uBAAuB,CAACphB,OAAe,EAACmiB,aAAqB;IAC3D,MAAM7b,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,4BAA4B9J,OAAO,IAAImiB,aAAa,EAAE;IAChF,MAAMjX,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC;IAC9E,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EACxC;EAEAyY,gBAAgB,CAAC3jB,OAAe;IAC9B,MAAMsG,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,gBAAgB9J,OAAO,EAAE;IACnD,MAAMkL,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC;IAC9E,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EACxC;EAEAiV,0BAA0B,CAACgC,aAAqB;IAC9C,MAAM7b,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,yBAAyBqY,aAAa,EAAE;IAClE,MAAMjX,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC;IAC9E,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EACxC;;SA3CWsgB,eAAe;;mBAAfA,MAAe;AAAA;;SAAfA,MAAe;EAAA7jB,SAAf6jB,MAAe;EAAA5jB,YAHd;AAAM;;;;;;;;;;;;;;;;;;;ACJ2C;AACL;;;AAOpD,MAAO8jB,mBAAmB;EAE5B5/B,YAAoBoD,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IAGhB,UAAK,GAAG4E,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAF7C,IAAI,CAAC+V,MAAM,GAAGzb,yEAAkB;EACpC;EAGAkwB,mBAAmB;IACf,MAAMjY,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,sBAAsB;IAChD,MAAMoB,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAE1C;EAEAiL,kBAAkB,CAAC3kB,EAAU,EAAEqM,IAAS;IACpC,MAAMyI,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,wBAAwBtY,EAAE,EAAE;IACtD,MAAM0Z,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC;IAE9E,OAAO,IAAI,CAACzC,IAAI,CAAC47B,GAAG,CAACxkB,GAAG,EAAEzI,IAAI,EAAE;MAAEqN;IAAO,CAAE,CAAC;EAC9C;;SAnBOwgB,mBAAmB;;mBAAnBA,MAAmB;AAAA;;SAAnBA,MAAmB;EAAA/jB,SAAnB+jB,MAAmB;EAAA9jB,YAFhB;AAAM;;;;;;;;;;;;;;;;;;;ACPyC;AACJ;;;AAQrD,MAAO+jB,iBAAiB;EAI1B7/B,YAAoBoD,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IAFhB,UAAK,GAAG4E,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAG7C,IAAI,CAAC+V,MAAM,GAAGzb,4EAAkB;EACpC;EAGAq2B,iBAAiB,CAAC1kB,OAAe;IAC7B,MAAMsG,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,wBAAwB9J,OAAO,EAAE;IAC3D,MAAMkL,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAACuV,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAE1C;EAEA+Z,kBAAkB,CAACjlB,OAAe,EAAEglB,IAAa,EAAE4G,WAAmB;IAClE,MAAM3J,OAAO,GAAG;MACZjiB,OAAO,EAAEA,OAAO;MAChB4rB,WAAW,EAAEA,WAAW;MACxB5G,IAAI,EAAEA;KACT;IACD,MAAM1e,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,OAAO;IACjC,MAAMoB,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC;IAE9E,OAAO,IAAI,CAACzC,IAAI,CAACkc,IAAI,CAAM9E,GAAG,EAAE2b,OAAO,EAAE;MAAE/W;IAAO,CAAE,CAAC;EACzD;EAGAka,oBAAoB,CAACwG,WAAmB;IACpC,MAAMtlB,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,SAAS8hB,WAAW,EAAE;IAChD,MAAM1gB,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAACxZ,KAAK,EAAE,CAAC;IAC9E,OAAO,IAAI,CAACzC,IAAI,CAAC28B,MAAM,CAACvlB,GAAG,EAAE;MAAE4E;IAAO,CAAE,CAAC;EAC3C;;SAjCOygB,iBAAiB;;mBAAjBA,MAAiB;AAAA;;SAAjBA,MAAiB;EAAAhkB,SAAjBgkB,MAAiB;EAAA/jB,YAFd;AAAM;;;;;;;;;;;;;;;;;;ACHhB,MAAOkkB,iBAAiB;EAI5BhgC,eAAgB;EAEhBslB,kBAAkB;IAChBza,MAAM,CAACod,gBAAgB,CAAC,qBAAqB,EAAGhe,KAAK,IAAI;MACvDA,KAAK,CAACg2B,cAAc,EAAE;MACtB,IAAI,CAACC,cAAc,GAAGj2B,KAAK;IAC7B,CAAC,CAAC;EACJ;EAEAkY,UAAU;IACR,IAAI,IAAI,CAAC+d,cAAc,EAAE;MACvB,IAAI,CAACA,cAAc,CAACC,MAAM,EAAE;MAC5B,IAAI,CAACD,cAAc,CAACE,UAAU,CAACpa,IAAI,CAAEqa,YAAiB,IAAI;QACxD,IAAIA,YAAY,CAACC,OAAO,KAAK,UAAU,EAAE,EACxC,MAAM;QAEP,IAAI,CAACJ,cAAc,GAAG,IAAI;MAC5B,CAAC,CAAC;;EAEN;EAEA;EACA9d,cAAc;IACZ,MAAMme,YAAY,GAAQ11B,MAAM,CAAC8K,SAAS;IAC1C,MAAM6qB,kBAAkB,GAAG,MAAO,YAAY,IAAID,YAAY,IAAMA,YAAY,CAACE,UAAW;IAC5F,OAAQD,kBAAkB,EAAE,IAAK31B,MAAM,CAAC61B,UAAU,CAAC,4BAA4B,CAAC,CAACC,OAAQ;EAC3F;;SA9BWX,iBAAiB;;mBAAjBA,MAAiB;AAAA;;SAAjBA,MAAiB;EAAAnkB,SAAjBmkB,MAAiB;EAAAlkB,YAFhB;AAAM;;;;;;;;;;;;;;;;;;;;;;ACFyC;AACd;;AAKzC,MAAOglB,aAAa;EAOxB9gC;IALQ,sBAAiB,GAAiB,IAAI6gC,yCAAO,EAAO;IACpD,uBAAkB,GAAsB,IAAIA,yCAAO,EAAY;IAC/D,gBAAW,GAAY,KAAK;IAIlC,IAAI,CAACzC,MAAM,GAAG,CAAC;EACjB;EAEMlxB,gBAAgB,CAACkxB,MAAc;IAAA;IAAA;MACnC,MAAM2C,OAAO,GAAG,sCAAsC;MACtD,KAAI,CAACC,OAAO,GAAGJ,yDAAS,CAAC,2CAA2CG,OAAO,WAAW3C,MAAM,EAAE,CAAC;MAE/F,KAAI,CAAC4C,OAAO,CAACj7B,SAAS,CACpB,MAAK;QACH,KAAI,CAACk7B,WAAW,GAAG,IAAI;MACzB,CAAC,EACA/6B,KAAK,IAAI;QACR,KAAI,CAAC+6B,WAAW,GAAG,KAAK;QACxB96B,OAAO,CAACD,KAAK,CAAC,0CAA0C,EAAEA,KAAK,CAAC;MAClE,CAAC,CACF;MAED,KAAI,CAAC86B,OAAO,CAACj7B,SAAS,CACnBK,OAAY,IAAI;QACf,KAAI,CAAC86B,iBAAiB,CAAC3U,IAAI,CAACnmB,OAAO,CAAC;MACtC,CAAC,EACAF,KAAU,IAAI;QACb,KAAI,CAAC+6B,WAAW,GAAG,KAAK;QACxB96B,OAAO,CAACD,KAAK,CAAC,iDAAiD,EAAEA,KAAK,CAAC;MACzE,CAAC,EACD,MAAK;QACH,KAAI,CAAC+6B,WAAW,GAAG,KAAK;MAC1B,CAAC,CACF;IAAC;EACJ;EAEAE,SAAS;IACP,OAAO,IAAI,CAACH,OAAO;EACrB;EAEMjmB,WAAW,CAAC3U,OAAY;IAAA;IAAA;MAC5B,IAAI;QACF,MAAMkO,WAAW,GAAG1H,IAAI,CAAC2H,SAAS,CAACnO,OAAO,CAAC;QAC3C,MAAI,CAAC46B,OAAO,CAACzU,IAAI,CAACnmB,OAAO,CAAC;QAC1B,OAAO,IAAI;OACZ,CAAC,OAAOF,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,oDAAoD,EAAEA,KAAK,CAAC;QAC1E,OAAO,KAAK;;IACb;EACH;EAEAkH,uBAAuB;IACrB,OAAO,IAAI,CAAC8zB,iBAAiB,CAACxC,YAAY,EAAE;EAC9C;EAEA0C,mBAAmB;IACjB,OAAO,IAAI,CAACH,WAAW;EACzB;EAEA;EACAjzB,kBAAkB;IAChB,OAAO,IAAI,CAACgzB,OAAO,CAAC94B,IAAI,CACtB0I,yCAAG,CAAExK,OAAY,IAAI;MACnB,IAAIA,OAAO,CAACkH,IAAI,IAAI,gBAAgB,EAAE;QACpC,OAAOlH,OAAO,CAAC6H,KAAK;;MAEtB,OAAO,EAAE,CAAC,CAAC;IACb,CAAC,CAAC,CACH;EACH;;SAxEW6yB,aAAa;;mBAAbA,MAAa;AAAA;;SAAbA,MAAa;EAAAjlB,SAAbilB,MAAa;EAAAhlB,YAFZ;AAAM;;;;;;;;;;;;;;;;;;;;ACJ0C;AAEJ;AACnB;;;AAKjC,MAAOulB,WAAW;EAKtBrhC,YAAoBoD,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IAHd,YAAO,GAAG,IAAIya,6DAAW,CAAC;MAAE,cAAc,EAAE;IAAkB,CAAE,CAAC;IACjE,mBAAc,GAAG,IAAI0gB,iDAAe,CAAM,IAAI,CAAC;IACvD,cAAS,GAAG,IAAI,CAAC+C,cAAc,CAAC5C,YAAY,EAAE;IAE9C,IAAI,CAAC1gB,MAAM,GAAGzb,yEAAkB;EACpC;EACAuwB,WAAW,CAACvT,QAAa;IACvB,IAAI,CAAC+hB,cAAc,CAAC/U,IAAI,CAAChN,QAAQ,CAAC;EACpC;EACEwT,sBAAsB,CAACW,SAAiB;IACtC,MAAMlZ,GAAG,GAAG,GAAG,IAAI,CAACwD,MAAM,oBAAoB0V,SAAS,EAAE;IACzD,OAAO,IAAI,CAACtwB,IAAI,CAAC6B,GAAG,CAAMuV,GAAG,CAAC;EAChC;EAEAoY,WAAW,CAAC/sB,KAAa;IACvB,MAAMuZ,OAAO,GAAG,IAAIvB,6DAAW,EAAE,CAACwB,GAAG,CAAC,eAAe,EAAE,UAAUxZ,KAAK,EAAE,CAAC;IACzE,OAAO,IAAI,CAACzC,IAAI,CAAC6B,GAAG,CAAM,GAAG,IAAI,CAAC+Y,MAAM,UAAU,EAAE;MAAEoB;IAAO,CAAE,CAAC;EAClE;;SAnBWiiB,WAAW;;mBAAXA,MAAW;AAAA;;SAAXA,MAAW;EAAAxlB,SAAXwlB,MAAW;EAAAvlB,YAFV;AAAM;;;;;;;;;;ACPpB","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/cadastro-usuario/alterar-senha/alterar-senha.component.ts","./src/app/cadastro-usuario/alterar-senha/alterar-senha.component.html","./src/app/cadastro-usuario/atualizar-cadastro/atualizar-cadastro.component.ts","./src/app/cadastro-usuario/atualizar-cadastro/atualizar-cadastro.component.html","./src/app/cadastro-usuario/cadastrar-usuario/cadastrar-usuario.component.ts","./src/app/cadastro-usuario/cadastrar-usuario/cadastrar-usuario.component.html","./src/app/cadastro-usuario/email-check-esqueci-senha/email-check-esqueci-senha.component.ts","./src/app/cadastro-usuario/email-check-esqueci-senha/email-check-esqueci-senha.component.html","./src/app/cadastro-usuario/email-check/email-check.component.ts","./src/app/cadastro-usuario/email-check/email-check.component.html","./src/app/cadastro-usuario/email/email.component.ts","./src/app/cadastro-usuario/email/email.component.html","./src/app/carregamento-padrao/carregamento-padrao.component.ts","./src/app/carregamento-padrao/carregamento-padrao.component.html","./src/app/chat/chat-index/chat-index.component.ts","./src/app/chat/chat-index/chat-index.component.html","./src/app/chat/chat-index/data.ts","./src/app/chat/chat-routing.module.ts","./src/app/chat/chat.module.ts","./src/app/chat/tabs/contacts/contacts.component.ts","./src/app/chat/tabs/contacts/contacts.component.html","./src/app/chat/tabs/contacts/data.ts","./src/app/chat/tabs/menu-chat/menu-chat.component.ts","./src/app/chat/tabs/menu-chat/menu-chat.component.html","./src/app/chat/tabs/profile/profile.component.html","./src/app/chat/tabs/profile/profile.component.ts","./src/app/chat/tabs/settings/settings.component.html","./src/app/chat/tabs/settings/settings.component.ts","./src/app/chat/tabs/tabs.module.ts","./src/app/home-ce/home-ce.component.ts","./src/app/home-ce/home-ce.component.html","./src/app/home-ce/patrocinadores-ce/patrocinadores-ce.component.ts","./src/app/home-ce/patrocinadores-ce/patrocinadores-ce.component.html","./src/app/home-ce/sobre-recarrega-ce/sobre-recarrega-ce.component.ts","./src/app/home-ce/sobre-recarrega-ce/sobre-recarrega-ce.component.html","./src/app/home-ce/tecnologias-sociais-ce/tecnologias-sociais-ce.component.ts","./src/app/home-ce/tecnologias-sociais-ce/tecnologias-sociais-ce.component.html","./src/app/home-page/atividades/atividades.component.html","./src/app/home-page/atividades/atividades.component.ts","./src/app/home-page/home-page.component.ts","./src/app/home-page/home-page.component.html","./src/app/home-page/novidade/novidade.component.html","./src/app/home-page/novidade/novidade.component.ts","./src/app/home-page/patrocinadores/patrocinadores.component.ts","./src/app/home-page/patrocinadores/patrocinadores.component.html","./src/app/home-page/tecnologias-socias/tecnologias-socias.component.ts","./src/app/home-page/tecnologias-socias/tecnologias-socias.component.html","./src/app/home-sp/caire/caire.component.ts","./src/app/home-sp/caire/caire.component.html","./src/app/home-sp/home-sp.component.ts","./src/app/home-sp/home-sp.component.html","./src/app/home-sp/patrocinadores-sp/patrocinadores-sp.component.ts","./src/app/home-sp/patrocinadores-sp/patrocinadores-sp.component.html","./src/app/home-sp/sobre-recarrega-sp/sobre-recarrega-sp.component.ts","./src/app/home-sp/sobre-recarrega-sp/sobre-recarrega-sp.component.html","./src/app/home-sp/tecnologias-socias-sp/tecnologias-socias-sp.component.ts","./src/app/home-sp/tecnologias-socias-sp/tecnologias-socias-sp.component.html","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/mapa/mapa.component.ts","./src/app/mapa/mapa.component.html","./src/app/menu-desk/menu-desk.component.ts","./src/app/menu-desk/menu-desk.component.html","./src/app/modais/modal-atividades-usuarios/modal-atividades-usuarios.component.ts","./src/app/modais/modal-atividades-usuarios/modal-atividades-usuarios.component.html","./src/app/modais/modal-mural/modal-mural.component.ts","./src/app/modais/modal-mural/modal-mural.component.html","./src/app/modais/modal-notificaton/modal-notificaton.component.ts","./src/app/modais/modal-notificaton/modal-notificaton.component.html","./src/app/modais/modal-novidades/modal-novidades.component.ts","./src/app/modais/modal-novidades/modal-novidades.component.html","./src/app/modais/modal-recarregar-hidricas/modal-recarregar-hidricas.component.ts","./src/app/modais/modal-recarregar-hidricas/modal-recarregar-hidricas.component.html","./src/app/modulos/aprenda/aprenda-storys/aprenda-storys.component.ts","./src/app/modulos/aprenda/aprenda-storys/aprenda-storys.component.html","./src/app/modulos/aprenda/aprenda.component.html","./src/app/modulos/aprenda/aprenda.component.ts","./src/app/modulos/aprenda/modal/model.component.html","./src/app/modulos/aprenda/modal/model.component.ts","./src/app/modulos/hortas/hortas.component.html","./src/app/modulos/hortas/hortas.component.ts","./src/app/modulos/index/index.component.ts","./src/app/modulos/index/index.component.html","./src/app/modulos/mapeie/mapeie.component.ts","./src/app/modulos/mapeie/mapeie.component.html","./src/app/modulos/menu/menu.component.ts","./src/app/modulos/menu/menu.component.html","./src/app/modulos/monitore/monitore-forms/monitore-forms.component.ts","./src/app/modulos/monitore/monitore-forms/monitore-forms.component.html","./src/app/modulos/monitore/monitore.component.html","./src/app/modulos/monitore/monitore.component.ts","./src/app/modulos/novidades/novidades.component.html","./src/app/modulos/novidades/novidades.component.ts","./src/app/modulos/rota-home/rota-home.component.ts","./src/app/modulos/rota-home/rota-home.component.html","./src/app/modulos/usuario/usuario.component.ts","./src/app/modulos/usuario/usuario.component.html","./src/app/teste/teste.component.ts","./src/app/teste/teste.component.html","./src/diretivas/mask-phone-number.directive.ts","./src/environments/environment.ts","./src/main.ts","./src/services/Aprenda.service.ts","./src/services/Atividades.service.ts","./src/services/Atualizar-senha.service.ts","./src/services/Auth_service.ts","./src/services/Cadastrar-User.service..ts","./src/services/CustomDatepickerI18nService.ts","./src/services/Forum_Service.ts","./src/services/Tokenfcm.service.ts","./src/services/auth_guard.ts","./src/services/dataService.ts","./src/services/db-pwa.service.ts","./src/services/genero.ts","./src/services/monitore.service.ts","./src/services/notification.service.ts","./src/services/novidades_services.ts","./src/services/pwa-install.service.ts","./src/services/socket.service.ts","./src/services/user.service.ts","ignored|/codebuild/output/src898862739/src/recarregaFront/node_modules/immediate/lib|./nextTick"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { LoginComponent } from './login/login.component';\nimport { HomePageComponent } from './home-page/home-page.component';\nimport { AuthGuard } from 'src/services/auth_guard';\nimport { CadastrarUsuarioComponent } from './cadastro-usuario/cadastrar-usuario/cadastrar-usuario.component';\nimport { chatIndexComponent } from './chat/chat-index/chat-index.component';\nimport { IndexComponent } from './modulos/index/index.component';\nimport { EmailCheckComponent } from './cadastro-usuario/email-check/email-check.component';\nimport { AtualizarCadastroComponent } from './cadastro-usuario/atualizar-cadastro/atualizar-cadastro.component';\nimport { UsuarioComponent } from './modulos/usuario/usuario.component';\n\nimport { TesteComponent } from './teste/teste.component';\nimport { AprendaComponent } from './modulos/aprenda/aprenda.component';\nimport { MonitoreComponent } from './modulos/monitore/monitore.component';\nimport { MapeieComponent } from './modulos/mapeie/mapeie.component';\nimport { NovidadesComponent } from './modulos/novidades/novidades.component';\nimport { ModalNovidadesComponent } from './modais/modal-novidades/modal-novidades.component';\nimport { EmailComponent } from './cadastro-usuario/email/email.component';\nimport { AlterarSenhaComponent } from './cadastro-usuario/alterar-senha/alterar-senha.component';\nimport { EmailCheckEsqueciSenhaComponent } from './cadastro-usuario/email-check-esqueci-senha/email-check-esqueci-senha.component';\nimport { ModelComponent } from './modulos/aprenda/modal/model.component';\nimport { AprendaStorysComponent } from './modulos/aprenda/aprenda-storys/aprenda-storys.component';\nimport { HomeSpComponent } from './home-sp/home-sp.component';\nimport { HomeCeComponent } from './home-ce/home-ce.component';\nimport { RotaHomeComponent } from './modulos/rota-home/rota-home.component';\nimport { HortasComponent } from './modulos/hortas/hortas.component';\nimport { MapaComponent } from './mapa/mapa.component';\nimport { MonitoreFormsComponent } from './modulos/monitore/monitore-forms/monitore-forms.component';\n\n\nconst routes: Routes = [\n { path: '', redirectTo: '/home', pathMatch: 'full' },\n { path: 'home', component: HomePageComponent },\n { path: 'home_sp', component: HomeSpComponent },\n { path: 'home_ce', component: HomeCeComponent},\n { path: 'modulos/rota_home', component: RotaHomeComponent},\n\n { path: 'login', component: LoginComponent },\n { path: 'email', component: EmailComponent },\n { path: 'emailcheck', component: EmailCheckComponent},\n { path: 'atualizar_cadastro', component: AtualizarCadastroComponent},\n { path: 'model/novidades/:button', component: ModalNovidadesComponent},\n { path: 'alterar_senha/:id/:hash', component: AlterarSenhaComponent },\n { path: 'emailcheck_esqueciminhasenha', component: EmailCheckEsqueciSenhaComponent },\n { path: 'cadastro_usuario', component: CadastrarUsuarioComponent },\n { path: 'modulos/chat/:tipo', component: chatIndexComponent ,canActivate: [AuthGuard]},\n { path: 'modulos/index', component: IndexComponent ,canActivate: [AuthGuard]},\n { path: 'modulos/usuario', component: UsuarioComponent ,canActivate: [AuthGuard]},\n { path: 'modulos/aprenda', component: AprendaComponent,canActivate: [AuthGuard]},\n { path: 'modulos/aprenda/modal/:id', component: ModelComponent,canActivate: [AuthGuard]},\n { path: 'modulos/aprenda/storys/:id', component: AprendaStorysComponent,canActivate: [AuthGuard]},\n { path: 'modulos/monitore', component: MonitoreComponent,canActivate: [AuthGuard]},\n {path: 'modulos/monitore/monitore_forms/:id', component: MonitoreFormsComponent, canActivate: [AuthGuard]},\n\n { path: 'modulos/mapeie', component: MapeieComponent,canActivate: [AuthGuard]},\n { path: 'modulos/novidades', component: NovidadesComponent,canActivate: [AuthGuard]},\n {path: 'modulos/hortas', component: HortasComponent},\n\n { path: 'teste', component: MapaComponent},\n\n\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { scrollPositionRestoration: 'top' })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n constructor(public translate: TranslateService) {\n translate.addLangs(['en', 'es', 'it', 'ru', 'de']);\n translate.setDefaultLang('en');\n\n const browserLang = translate.getBrowserLang();\n translate.use(browserLang.match(/en|it|es|ru|de/) ? browserLang : 'en');\n }\n}\n","","import { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { NgModule, isDevMode } from '@angular/core';\nimport { HttpClientModule, HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { ChatModule } from './chat/chat.module';\n\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\n\nimport { NgbModule,NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\nimport { PatrocinadoresComponent } from './home-page/patrocinadores/patrocinadores.component';\nimport { NovidadeComponent } from './home-page/novidade/novidade.component';\nimport { LoginComponent } from './login/login.component';\nimport { HomePageComponent } from './home-page/home-page.component';\nimport { AtividadesComponent } from './home-page/atividades/atividades.component';\nimport { TecnologiasSociasComponent } from './home-page/tecnologias-socias/tecnologias-socias.component';\nimport { CarregamentoPadraoComponent } from './carregamento-padrao/carregamento-padrao.component';\nimport { CadastrarUsuarioComponent } from './cadastro-usuario/cadastrar-usuario/cadastrar-usuario.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MenuComponent } from './modulos/menu/menu.component';\nimport { IndexComponent } from './modulos/index/index.component';\nimport { EmailCheckComponent } from './cadastro-usuario/email-check/email-check.component';\nimport { AtualizarCadastroComponent } from './cadastro-usuario/atualizar-cadastro/atualizar-cadastro.component';\nimport { UsuarioComponent } from './modulos/usuario/usuario.component';\nimport { ModalRecarregarHidricasComponent } from './modais/modal-recarregar-hidricas/modal-recarregar-hidricas.component';\nimport { TesteComponent } from './teste/teste.component';\nimport { AprendaComponent } from './modulos/aprenda/aprenda.component';\nimport { MonitoreComponent } from './modulos/monitore/monitore.component';\nimport { MapeieComponent } from './modulos/mapeie/mapeie.component';\nimport { ModalAtividadesUsuariosComponent } from './modais/modal-atividades-usuarios/modal-atividades-usuarios.component';\nimport { NovidadesComponent } from './modulos/novidades/novidades.component';\nimport { ModalNovidadesComponent } from './modais/modal-novidades/modal-novidades.component';\n\nimport { registerLocaleData } from '@angular/common';\nimport ptBr from '@angular/common/locales/pt';\nimport { CustomDatepickerI18nService } from 'src/services/CustomDatepickerI18nService';\nimport { EmailComponent } from './cadastro-usuario/email/email.component';\nimport { AlterarSenhaComponent } from './cadastro-usuario/alterar-senha/alterar-senha.component';\nimport { EmailCheckEsqueciSenhaComponent } from './cadastro-usuario/email-check-esqueci-senha/email-check-esqueci-senha.component';\nimport { ServiceWorkerModule } from '@angular/service-worker';\nregisterLocaleData(ptBr);\nimport { TextMaskModule } from 'angular2-text-mask';\nimport { MaskPhoneNumberDirective } from '../diretivas/mask-phone-number.directive';\n\nexport function createTranslateLoader(http: HttpClient): any {\n return new TranslateHttpLoader(http);\n}\n\nimport { environment } from \"../environments/environment\";\nimport { initializeApp } from \"firebase/app\";\nimport { ModelComponent } from './modulos/aprenda/modal/model.component';\nimport { AprendaStorysComponent } from './modulos/aprenda/aprenda-storys/aprenda-storys.component';\nimport { ModalNotificationComponent } from './modais/modal-notificaton/modal-notificaton.component';\nimport { HomeSpComponent } from './home-sp/home-sp.component';\nimport { SobreRecarregaSpComponent } from './home-sp/sobre-recarrega-sp/sobre-recarrega-sp.component';\nimport { TecnologiasSociasSpComponent } from './home-sp/tecnologias-socias-sp/tecnologias-socias-sp.component';\nimport { PatrocinadoresSpComponent } from './home-sp/patrocinadores-sp/patrocinadores-sp.component';\nimport { HomeCeComponent } from './home-ce/home-ce.component';\nimport { PatrocinadoresCeComponent } from './home-ce/patrocinadores-ce/patrocinadores-ce.component';\nimport { SobreRecarregaCeComponent } from './home-ce/sobre-recarrega-ce/sobre-recarrega-ce.component';\nimport { TecnologiasSociaisCeComponent } from './home-ce/tecnologias-sociais-ce/tecnologias-sociais-ce.component';\nimport { RotaHomeComponent } from './modulos/rota-home/rota-home.component';\nimport { ModalMuralComponent } from './modais/modal-mural/modal-mural.component';\nimport { HortasComponent } from './modulos/hortas/hortas.component';\nimport { MapaComponent } from './mapa/mapa.component';\nimport { MonitoreFormsComponent } from './modulos/monitore/monitore-forms/monitore-forms.component';\nimport { MenuDeskComponent } from './menu-desk/menu-desk.component';\nimport { CaireComponent } from './home-sp/caire/caire.component';\ninitializeApp(environment.firebaseConfig);\n\n@NgModule({\n declarations: [\n MaskPhoneNumberDirective,\n AppComponent,\n PatrocinadoresComponent,\n NovidadeComponent,\n LoginComponent,\n HomePageComponent,\n AtividadesComponent,\n TecnologiasSociasComponent,\n CarregamentoPadraoComponent,\n CadastrarUsuarioComponent,\n MenuComponent,\n IndexComponent,\n EmailCheckComponent,\n AtualizarCadastroComponent,\n UsuarioComponent,\n ModalRecarregarHidricasComponent,\n TesteComponent,\n AprendaComponent,\n MonitoreComponent,\n MapeieComponent,\n ModalAtividadesUsuariosComponent,\n NovidadesComponent,\n ModalNovidadesComponent,\n EmailComponent,\n AlterarSenhaComponent,\n EmailCheckEsqueciSenhaComponent,\n ModelComponent,\n AprendaStorysComponent,\n ModalNotificationComponent,\n HomeSpComponent,\n SobreRecarregaSpComponent,\n TecnologiasSociasSpComponent,\n PatrocinadoresSpComponent,\n HomeCeComponent,\n PatrocinadoresCeComponent,\n SobreRecarregaCeComponent,\n TecnologiasSociaisCeComponent,\n RotaHomeComponent,\n ModalMuralComponent,\n HortasComponent,\n MapaComponent,\n MonitoreFormsComponent,\n MenuDeskComponent,\n CaireComponent,\n ],\n imports: [\n HttpClientModule,\n BrowserAnimationsModule,\n BrowserModule,\n AppRoutingModule,\n ChatModule,\n ReactiveFormsModule,\n FormsModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: createTranslateLoader,\n deps: [HttpClient]\n }\n }),\n NgbModule,\n // ServiceWorkerModule.register('ngsw-worker.js', {\n // enabled: true,\n // registrationStrategy: 'registerWhenStable:30000'\n // }), \n TextMaskModule,\n ],\n providers: [\n { provide: NgbDatepickerI18n, useClass: CustomDatepickerI18nService },\n\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component ,Output, EventEmitter } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FormGroup, Validators } from '@angular/forms';\nimport { CadastroService } from 'src/services/Cadastrar-User.service.';\nimport { DataService } from 'src/services/dataService';\nimport { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { AtualizarSenha } from 'src/services/Atualizar-senha.service';\n@Component({\n selector: 'app-alterar-senha',\n templateUrl: './alterar-senha.component.html',\n styleUrls: ['../cadastrar-usuario/cadastrar-usuario.component.css']\n})\nexport class AlterarSenhaComponent {\n\n\n\n isLoading: boolean = false; // variavel responsavel por mostrar carregamento enquanto faz alguma requisicao\n public loginForm: FormGroup;\n public submitted = false;\n\n showPasswordError: boolean = false;\n showConfirmPassword: boolean = false;\n\n passwordErrorMessage: string = '';\n confirmPasswordErrorMessage: string = '';\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private cadastroService: CadastroService,\n private route: ActivatedRoute,\n private atualizarSenha: AtualizarSenha\n ) {\n\n\n // Calcule a data mínima\n\n this.loginForm = this.formBuilder.group({\n\n password: ['', Validators.required],\n confirmPassword: ['', Validators.required],\n \n\n });\n }\n\n\n ngOnInit(): void {\n\n }\n\n irParaTelaHome() {\n this.router.navigate(['/login']);\n }\n\n\n resetErrors() {\n \n this.showPasswordError = false;\n this.showConfirmPassword = false;\n }\n \n onInput(field: string) {\n this.loginForm.get(field)?.setErrors(null);\n }\n \n onSubmit() {\n\n this.resetErrors();\n\n const password = this.loginForm.get('password')?.value;\n \n const confirmPassword = this.loginForm.get('confirmPassword')?.value;\n\n\n if (!password || password.trim() === '') {\n this.showPasswordError = true;\n this.passwordErrorMessage = 'Senha inválida ou em branco.';\n return;\n }\n\n if (password.length < 8) {\n this.showPasswordError = true;\n this.passwordErrorMessage = 'Obrigatório ter pelo menos 8 caracteres.';\n return;\n }\n\n if (password !== confirmPassword) {\n this.showConfirmPassword = true;\n this.confirmPasswordErrorMessage = 'Senhas diferentes.';\n return;\n }\n this.isLoading = true;\n\n const id = this.route.snapshot.paramMap.get('id'); \n const token = this.route.snapshot.paramMap.get('hash'); \n \n this.atualizarSenha.alterarSenha(id, password, token).subscribe(\n response => {\n // Faça algo com a resposta, se necessário\n alert('Senha alterada com sucesso!');\n this.isLoading = false; // Desligue o indicador de carregamento\n this.router.navigate(['/login']);\n\n },\n error => {\n console.error('Erro ao atualizar senha:', error);\n alert(error.error.message)\n this.isLoading = false; // Desligue o indicador de carregamento\n }\n );\n \n }\n\n validateEmail(email: string): boolean {\n // Implemente a lógica de validação do e-mail aqui\n // Pode usar expressões regulares ou outras técnicas de validação\n // Neste exemplo, verifica apenas se contém um '@' no e-mail\n return email.includes('@');\n }\n\n\n}\n","
\n
\n \n
\n

ALTERAR SENHA

\n \n
\n \n
\n \n {{\n passwordErrorMessage\n }}\n
\n \n
\n \n {{\n confirmPasswordErrorMessage }}\n
\n \n \n
\n \n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n < VOLTAR
\n
\n
\n
","import { Component } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { FormGroup, Validators } from '@angular/forms';\nimport { CadastroService } from 'src/services/Cadastrar-User.service.';\nimport { DataService } from 'src/services/dataService';\nimport { take } from 'rxjs/operators';\nimport { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { opcoesGenero } from '../../../services/genero';\n\n\n@Component({\n selector: 'app-atualizar-cadastro',\n templateUrl: './atualizar-cadastro.component.html',\n styleUrls: ['../cadastrar-usuario/cadastrar-usuario.component.css']\n})\nexport class AtualizarCadastroComponent {\n opcoesGenero = opcoesGenero;\n minDate: NgbDateStruct;\n\n idusuario: string;\n idade: string;\n celular: string;\n genero: string;\n\n showConfirmPassword: boolean = false;\n showIdadeError: boolean = false;\n\n IdadeErrorMessage : string = '';\n nomeErrorMessage: string = '';\n\n isLoading: boolean = false; // variavel responsavel por mostrar carregamento enquanto faz alguma requisicao\n public loginForm: FormGroup;\n public submitted = false;\n\n\n confirmPasswordErrorMessage: string = '';\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private cadastroService: CadastroService,\n ) {\n\n \n const currentDate = new Date();\n\n // Calcule a data mínima\n this.minDate = { year: currentDate.getFullYear() - 100, month: 1, day: 1 };\n\n this.loginForm = this.formBuilder.group({\n nome: ['', Validators.required],\n genero: ['', Validators.required],\n celular: ['', Validators.required],\n idade: ['', Validators.required],\n });\n }\n\n irParaTelaHome() {\n this.router.navigate(['/login']);\n }\n\n resetErrors() {\n this.showConfirmPassword = false;\n this.showIdadeError=false;\n\n }\n\n onInput(field: string) {\n this.loginForm.get(field)?.setErrors(null);\n }\n\n onSubmit() {\n this.resetErrors();\n\n const celular = this.loginForm.get('celular')?.value;\n const idade = this.transformDateToString(this.loginForm.get('idade')?.value);\n const genero = this.loginForm.get('genero')?.value;\n\n const liberarPoridade = this.verificarIdade(idade);\n const estaMarcada = this.verificarCheckbox();\n if (estaMarcada) {\n console.log('A caixa de seleção está marcada.');\n } else {\n alert('É obrigatório aceitar o termos de uso.')\n }\n if (!celular || celular.trim() === '' || !idade || idade.trim() === '' || !genero || genero.trim() === '') {\n this.showConfirmPassword = true; // Aparece lá em baixo\n this.confirmPasswordErrorMessage = 'Todos os campos são obrigatórios';\n return;\n }\n\n if (liberarPoridade) {\n this.showIdadeError = true;\n this.IdadeErrorMessage = 'Iadade menor que 16 anos';\n return;\n }\n\n this.isLoading = true;\n\n\n this.cadastroService.atualizarUsuario(sessionStorage.getItem('userID'), idade,celular, genero).pipe(\n take(1) // Garante que a requisição será realizada apenas uma vez\n ).subscribe(\n (response: any) => {\n this.isLoading = false; // Finaliza o carregamento após a conclusão da requisição\n this.router.navigate(['/modulos/index']);\n },\n (error) => {\n console.error('Erro ao atualizar o usuário:', error);\n this.isLoading = false; // Finaliza o carregamento após a conclusão da requisição\n }\n );\n }\n transformDateToString(dateInfo: any): string {\n const day = dateInfo.day < 10 ? `0${dateInfo.day}` : dateInfo.day;\n const month = dateInfo.month < 10 ? `0${dateInfo.month}` : dateInfo.month;\n \n return `${day}-${month}-${dateInfo.year}`;\n }\n\n formatDateControlValue(dateInfo: any): string {\n if (dateInfo) {\n const day = dateInfo.day < 10 ? `0${dateInfo.day}` : dateInfo.day;\n const month = dateInfo.month < 10 ? `0${dateInfo.month}` : dateInfo.month;\n return `${day}/${month}/${dateInfo.year}`;\n }\n return '';\n }\n\n verificarIdade(dataNascimento: string) :boolean {\n // Divide a data em dia, mês e ano\n const partes = dataNascimento.split('-');\n const dia = parseInt(partes[0], 10);\n const mes = parseInt(partes[1], 10);\n const ano = parseInt(partes[2], 10);\n\n // Cria um objeto de data com a data de nascimento\n const dataNasc = new Date(ano, mes - 1, dia);\n\n // Cria um objeto de data com a data atual\n const dataAtual = new Date();\n\n // Calcula a diferença em milissegundos\n const diferencaEmMilissegundos = dataAtual.getTime() - dataNasc.getTime();\n\n // Converte a diferença em anos\n const diferencaEmAnos = Math.floor(diferencaEmMilissegundos / (365.25 * 24 * 60 * 60 * 1000));\n\n // Verifica se a pessoa tem menos de 14 anos\n return diferencaEmAnos < 16;\n\n }\n\n verificarCheckbox(): boolean {\n const checkbox = document.getElementById('termos-checkbox') as HTMLInputElement;\n \n return checkbox.checked;\n }\n \n \n}\n\n\n\n\n","
\n
\n \n
\n

Cadastrar

\n \n
\n \n\n
\n \n
\n \n
\n
\n \n \n
\n {{ IdadeErrorMessage }}\n
\n \n \n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n \n Concordo com os Termos de Uso\n Políticas de Privacid \n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n < VOLTAR
\n
\n
\n
","import { Component ,Output, EventEmitter } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { FormGroup, Validators } from '@angular/forms';\nimport { CadastroService } from 'src/services/Cadastrar-User.service.';\nimport { DataService } from 'src/services/dataService';\nimport { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { opcoesGenero } from '../../../services/genero';\n\n// import { MatDatepickerModule } from '@angular/material/datepicker';\n// import { MatInputModule } from '@angular/material/input';\n// import { MatFormFieldModule } from '@angular/material/form-field';\n// import { MatNativeDateModule } from '@angular/material/core';\n\n\n@Component({\n selector: 'app-cadastrar-usuario',\n templateUrl: './cadastrar-usuario.component.html',\n styleUrls: ['./cadastrar-usuario.component.css']\n})\nexport class CadastrarUsuarioComponent {\n opcoesGenero = opcoesGenero;\n @Output() emailEnviado = new EventEmitter();\n // Defina a faixa de anos desejada para a seleção de anos\n yearRange = [-50, 50];\n\n // Defina a data mínima permitida (por exemplo, 100 anos atrás da data atual)\n minDate: NgbDateStruct;\n termosAceitos: boolean = false; // Inicialmente, a caixa de seleção não está marcada\n\n\n\n isLoading: boolean = false; // variavel responsavel por mostrar carregamento enquanto faz alguma requisicao\n public loginForm: FormGroup;\n public submitted = false;\n\n showNomeError: boolean = false;\n showEmailError: boolean = false;\n showPasswordError: boolean = false;\n showConfirmPassword: boolean = false;\n showIdadeError: boolean = false;\n\n IdadeErrorMessage : string = '';\n nomeErrorMessage: string = '';\n emailExistsErrorMessage: string = '';\n passwordErrorMessage: string = '';\n emailErrorMessage: string = '';\n confirmPasswordErrorMessage: string = '';\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private cadastroService: CadastroService,\n private dataService: DataService\n ) {\n\n const currentDate = new Date();\n\n // Calcule a data mínima\n this.minDate = { year: currentDate.getFullYear() - 100, month: 1, day: 1 };\n\n this.loginForm = this.formBuilder.group({\n nome: ['', Validators.required],\n email: ['', Validators.required],\n password: ['', Validators.required],\n confirmPassword: ['', Validators.required],\n genero: ['', Validators.required],\n celular: ['', Validators.required],\n idade: ['', Validators.required],\n\n });\n }\n\n\n irParaTelaHome() {\n this.router.navigate(['/login']);\n }\n\n\n resetErrors() {\n this.showNomeError = false;\n this.showEmailError = false;\n this.showPasswordError = false;\n this.showConfirmPassword = false;\n this.showIdadeError=false;\n }\n \n onInput(field: string) {\n this.loginForm.get(field)?.setErrors(null);\n }\n \n onSubmit() {\n\n this.resetErrors();\n\n const nome = this.loginForm.get('nome')?.value;\n const email = this.loginForm.get('email')?.value;\n this.dataService.setEmail(email);// enviar para o outro componente\n const password = this.loginForm.get('password')?.value;\n const celular = this.loginForm.get('celular')?.value;\n const idade = this.transformDateToString(this.loginForm.get('idade')?.value);\n const genero = this.loginForm.get('genero')?.value;\n const confirmPassword = this.loginForm.get('confirmPassword')?.value;\n\n const liberarPoridade = this.verificarIdade(idade);\n const estaMarcada = this.verificarCheckbox();\n if (estaMarcada) {\n console.log('A caixa de seleção está marcada.');\n } else {\n alert('É obrigatório aceitar o termos de uso.')\n }\n \n\n if (!nome || nome.trim() === '') {\n this.showNomeError = true;\n this.nomeErrorMessage = 'Nome inválido ou em branco';\n return;\n }\n\n if (!email || email.trim() === '' || !this.validateEmail(email)) {\n this.showEmailError = true;\n this.emailErrorMessage = 'E-mail inválido ou em branco';\n return;\n }\n\n if (!celular || celular.trim() === '' || !idade || idade.trim() === ''|| !genero || genero.trim() === '' ) {\n this.showConfirmPassword = true; // Aparece lá em baixo \n this.confirmPasswordErrorMessage = 'Todos os campos são obrigatórios';\n return;\n }\n\n if (liberarPoridade) {\n this.showIdadeError = true;\n this.IdadeErrorMessage = 'Idade menor que 16 anos';\n return;\n }\n\n if (!password || password.trim() === '') {\n this.showPasswordError = true;\n this.passwordErrorMessage = 'Senha inválida ou em branco.';\n return;\n }\n\n if (password.length < 8) {\n this.showPasswordError = true;\n this.passwordErrorMessage = 'Obrigatório ter pelo menos 8 caracteres.';\n return;\n }\n\n if (password !== confirmPassword) {\n this.showConfirmPassword = true;\n this.confirmPasswordErrorMessage = 'Senhas diferentes.';\n return;\n }\n this.isLoading = true;\n\n this.cadastroService.cadastrarUsuario(nome, email, password,celular,idade,genero)\n .subscribe(\n response => {\n this.isLoading = false;\n // Swal.fire({\n // title: 'Parabéns!',\n // text: 'Cadastro realizado com sucesso! Verifique seu email e confirme sua conta.',\n // icon: 'success'\n // });\n \n this.router.navigate(['/emailcheck']);\n\n },\n error => {\n this.isLoading = false;\n console.error('Erro ao cadastrar usuário:', error.error.errors.email[0]);\n if (error.error.errors.email[0] == 'The email has already been taken.') {\n this.showEmailError = true;\n this.emailErrorMessage = 'Já existe uma conta cadastrada nesse e-mail.';\n }\n else{\n this.showEmailError = true;\n this.emailErrorMessage = 'E-mail invalido.';\n } \n }\n );\n }\n\n validateEmail(email: string): boolean {\n // Implemente a lógica de validação do e-mail aqui\n // Pode usar expressões regulares ou outras técnicas de validação\n // Neste exemplo, verifica apenas se contém um '@' no e-mail\n return email.includes('@');\n }\n\n transformDateToString(dateInfo: any): string {\n const day = dateInfo.day < 10 ? `0${dateInfo.day}` : dateInfo.day;\n const month = dateInfo.month < 10 ? `0${dateInfo.month}` : dateInfo.month;\n \n return `${day}-${month}-${dateInfo.year}`;\n }\n\n formatDateControlValue(dateInfo: any): string {\n if (dateInfo) {\n const day = dateInfo.day < 10 ? `0${dateInfo.day}` : dateInfo.day;\n const month = dateInfo.month < 10 ? `0${dateInfo.month}` : dateInfo.month;\n return `${day}/${month}/${dateInfo.year}`;\n }\n return '';\n }\n\n onNavigate(event: { year: number; month: number }): void {\n const currentDate = this.loginForm.get('idade').value;\n const newDate = {\n year: event.year,\n month: event.month,\n day: currentDate ? currentDate.day : 1 // Use um valor padrão para o dia caso ainda não haja data selecionada\n };\n this.loginForm.get('idade').setValue(newDate);\n }\n \n transformStringToDate(dateString: string): NgbDateStruct {\n const parts = dateString.split('/');\n if (parts.length === 3) {\n return {\n year: +parts[2],\n month: +parts[1],\n day: +parts[0]\n };\n }\n return null;\n }\n verificarIdade(dataNascimento: string) :boolean {\n // Divide a data em dia, mês e ano\n const partes = dataNascimento.split('-');\n const dia = parseInt(partes[0], 10);\n const mes = parseInt(partes[1], 10);\n const ano = parseInt(partes[2], 10);\n\n // Cria um objeto de data com a data de nascimento\n const dataNasc = new Date(ano, mes - 1, dia);\n\n // Cria um objeto de data com a data atual\n const dataAtual = new Date();\n\n // Calcula a diferença em milissegundos\n const diferencaEmMilissegundos = dataAtual.getTime() - dataNasc.getTime();\n\n // Converte a diferença em anos\n const diferencaEmAnos = Math.floor(diferencaEmMilissegundos / (365.25 * 24 * 60 * 60 * 1000));\n\n // Verifica se a pessoa tem menos de 14 anos\n return diferencaEmAnos < 16;\n\n }\n\n \n verificarCheckbox(): boolean {\n const checkbox = document.getElementById('termos-checkbox') as HTMLInputElement;\n \n return checkbox.checked;\n }\n \n\n \n}\n","
\n
\n\n
\n

Cadastrar

\n \n
\n\n \n
\n
\n < VOLTAR
\n
\n
\n
\n \"\"\n
\n
\n

Cadastro

\n
\n \n {{ nomeErrorMessage }}\n
\n\n
\n \n {{ emailErrorMessage\n }}\n
\n
\n \n
\n\n
\n
\n \n \n
\n {{ IdadeErrorMessage }}\n
\n \n
\n \n
\n \n
\n \n {{\n passwordErrorMessage\n }}\n
\n\n
\n \n {{\n confirmPasswordErrorMessage }}\n
\n \n\n \n
\n
\n
\n \n \n
\n
\n \n Concordo com os Termos de Uso \n \n
\n
\n \n\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n \n
\n
\n < VOLTAR
\n
\n
\n
\n","import { Component, Input } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DataService } from 'src/services/dataService';\n\n@Component({\n selector: 'app-email-check-esqueci-senha',\n templateUrl: './email-check-esqueci-senha.component.html',\n styleUrls: ['../email-check/email-check.component.css']\n})\nexport class EmailCheckEsqueciSenhaComponent {\n\n email: string = '';\n\n constructor(private router: Router,private dataService: DataService) {\n this.email = this.dataService.getEmail();\n\n }\n\n redirectToEmailProvider(domain: string) {\n const emailProviderUrl = `https://${domain}`;\n window.open(emailProviderUrl, '_blank'); // Abre o provedor de e-mail em uma nova aba.\n\n }\n\n irParaTelaLogin() {\n this.router.navigate(['/login']);\n }\n}\n","\n\n
\n\n
\n \n
\n

Cheque
seu email

\n
\n
\n
\n

Enviamos um link de confirmação para o seu e-mai, para poder alterar sua senha

\n

{{email}}

\n

Se você não recebeu o e-mail,\n verifique sua caixa de spam

\n
\n

Checar e-mail

\n
\n
IR PARA LOGIN >
\n\n
\n
\n\n","import { Component, Input } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DataService } from 'src/services/dataService';\n\n\n@Component({\n selector: 'app-email-check',\n templateUrl: './email-check.component.html',\n styleUrls: ['./email-check.component.css']\n})\nexport class EmailCheckComponent {\n\n\n email: string = '';\n\n constructor(private router: Router,private dataService: DataService) {\n this.email = this.dataService.getEmail();\n }\n\n redirectToEmailProvider(domain: string) {\n const emailProviderUrl = `https://${domain}`;\n window.open(emailProviderUrl, '_blank'); // Abre o provedor de e-mail em uma nova aba.\n console.log()\n\n }\n\n irParaTelaLogin() {\n this.router.navigate(['/login']);\n }\n \n\n}","\n\n
\n\n
\n \n
\n

Cheque
seu email

\n
\n
\n
\n

Enviamos um link de confirmação para o seu e-mail

\n

{{email}}

\n

Se você não recebeu o e-mail,\n verifique sua caixa de spam

\n
\n

Checar e-mail

\n
\n
IR PARA LOGIN >
\n\n
\n
\n\n","import { Component, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { FormGroup, Validators } from '@angular/forms';\nimport { CadastroService } from 'src/services/Cadastrar-User.service.';\nimport { DataService } from 'src/services/dataService';\nimport { AtualizarSenha } from 'src/services/Atualizar-senha.service';\n\n\n@Component({\n selector: 'app-email',\n templateUrl: './email.component.html',\n styleUrls: ['../cadastrar-usuario/cadastrar-usuario.component.css']\n})\nexport class EmailComponent {\n\n // Defina a faixa de anos desejada para a seleção de anos\n\n // Defina a data mínima permitida (por exemplo, 100 anos atrás da data atual)\n\n\n isLoading: boolean = false; // variavel responsavel por mostrar carregamento enquanto faz alguma requisicao\n public loginForm: FormGroup;\n public submitted = false;\n showEmailError: boolean = false;\n emailExistsErrorMessage: string = '';\n emailErrorMessage: string = '';\n\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private emailService: AtualizarSenha,\n private dataservice: DataService\n ) {\n\n this.loginForm = this.formBuilder.group({\n email: ['', Validators.required],\n\n });\n }\n\n\n irParaTelaHome() {\n this.router.navigate(['/login']);\n }\n\n\n resetErrors() {\n this.showEmailError = false;\n }\n\n onInput(field: string) {\n this.loginForm.get(field)?.setErrors(null);\n }\n\n onSubmit() {\n\n this.resetErrors();\n\n const email = this.loginForm.get('email')?.value;\n this.dataservice.setEmail(email);// enviar para o outro componente\n\n\n if (!email || email.trim() === '' || !this.validateEmail(email)) {\n this.showEmailError = true;\n this.emailErrorMessage = 'E-mail inválido ou em branco';\n return;\n }\n\n\n this.isLoading = true;\n\n this.emailService.enviarEmailRedefinicaoSenha(email).subscribe(\n response => {\n console.log('E-mail enviado com sucesso:', response);\n this.isLoading = false;\n this.router.navigate(['/emailcheck_esqueciminhasenha']);\n // Faça algo com a resposta, se necessário\n },\n error => {\n console.error('Erro ao enviar e-mail:', error);\n alert(error.error.message)\n this.isLoading = false;\n\n // Trate o erro de acordo com sua lógica\n }\n );\n\n\n\n // Requisição aqui \n\n }\n\n validateEmail(email: string): boolean {\n // Implemente a lógica de validação do e-mail aqui\n // Pode usar expressões regulares ou outras técnicas de validação\n // Neste exemplo, verifica apenas se contém um '@' no e-mail\n return email.includes('@');\n }\n\n transformDateToString(dateInfo: any): string {\n const day = dateInfo.day < 10 ? `0${dateInfo.day}` : dateInfo.day;\n const month = dateInfo.month < 10 ? `0${dateInfo.month}` : dateInfo.month;\n\n return `${day}-${month}-${dateInfo.year}`;\n }\n\n}\n","
\n
\n \n
\n

ALTERAR SENHA

\n \n
\n \n \n
\n \n {{ emailErrorMessage\n }}\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n < VOLTAR
\n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-carregamento-padrao',\n templateUrl: './carregamento-padrao.component.html',\n styleUrls: ['./carregamento-padrao.component.css']\n})\nexport class CarregamentoPadraoComponent {\n\n}\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit, ViewChild, TemplateRef, Injectable, ChangeDetectorRef } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { NgbOffcanvas } from '@ng-bootstrap/ng-bootstrap';\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\nimport { environment } from 'src/environments/environment';\nimport { chat } from './data';\nimport { Chats, Groups } from './chat.model';\nimport { Lightbox } from 'ngx-lightbox';\n// Date Format\nimport { DatePipe } from '@angular/common';\nimport { ForumService } from 'src/services/Forum_Service';\nimport { io, Socket } from 'socket.io-client';\nimport { SocketService } from 'src/services/socket.service';\nimport { UserService } from 'src/services/user.service';\nimport { Atividades_service } from 'src/services/Atividades.service';\n\n\n@Component({\n selector: 'app-index',\n templateUrl: './chat-index.component.html',\n styleUrls: ['./chat-index.component.scss']\n})\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class chatIndexComponent implements OnInit {\n\n public isCollapsed = true;\n activetab = 3;\n chat: Chats[];\n groups: Groups[] = [];\n formData!: FormGroup;\n @ViewChild('scrollRef') scrollRef: any;\n emoji = '';\n isreplyMessage = false;\n isgroupMessage = false;\n mode: string | undefined;\n urlUpload: string = 'https://api.recarrega.app.br/uploads/';\n Localevento: string;\n DescricaoCompletaEevento: string;\n HorarioEvento: string\n\n user_id: number;\n grupoId: number;\n listLang = [];\n lang: string;\n images: { src: string; thumb: string; caption: string }[] = [];\n userID: number;\n newMessage: string = '';\n url_documento_salvo: string = '';\n senderName: any;\n senderProfile: any;\n messages: any[] = [];\n novasmessages: any[] = [];\n chatReplyUser: string = '';\n chatReplyMessage: string = '';\n isWebSocketConnected: boolean = false;\n isConnected: boolean = false;\n fotoPerfil: string = '';\n elementIndexClicked: number;\n onlineUsers: string[] = [];\n listaUsuarios: any[] = [];\n quantidadeUsuarios: number;\n TipoColabore: string;\n TipoChat: string;\n\n\n\n constructor(\n private router: Router,\n public translate: TranslateService,\n private modalService: NgbModal,\n private offcanvasService: NgbOffcanvas,\n public formBuilder: FormBuilder,\n private datePipe: DatePipe,\n private lightbox: Lightbox,\n private forumService: ForumService,\n private socketService: SocketService,\n private atividade_service: Atividades_service,\n private userService: UserService,\n private changeDetectorRef: ChangeDetectorRef,\n private route: ActivatedRoute\n\n ) { }\n\n ngOnInit(): void {\n\n /*Url foto fe perfil do usuario*/\n const foto_perfil = sessionStorage.getItem('foto_perfil');\n if (foto_perfil === 'null' || foto_perfil == null) {\n this.fotoPerfil = '../../assets/perfil_chat_padrao.svg'\n } else {\n this.fotoPerfil = this.urlUpload + foto_perfil;\n }\n\n this.route.paramMap.subscribe(params => {\n this.TipoColabore = params.get('tipo');\n this.groups=null;\n this.TipoChat= null\n\n console.log(this.TipoColabore)\n if(this.TipoColabore =='grupo'){\n this.loadGroupsByGrupo();\n this.TipoChat ='Colabore';\n }\n \n if(this.TipoColabore =='grupo_suporte'){\n this.loadGroupsBySuporte()\n this.TipoChat ='Suporte';\n\n }\n });\n\n\n document.body.setAttribute('data-layout-mode', 'light');\n // Validation\n this.formData = this.formBuilder.group({\n message: ['', [Validators.required]],\n });\n\n\n const username = sessionStorage.getItem('name');\n const email = sessionStorage.getItem('email');\n const user = `{\"username\": \"${username}\", \"age\": 30, \"${email}\": \"john@example.com\"}`;\n\n this.senderName = JSON.parse(user).username\n this.senderProfile = '';\n this.chat = chat;\n\n \n this.lang = this.translate.currentLang;\n this.onListScroll();\n this.socketService.connectWebSocket(this.userID);\n\n\n /*\n Fazendo a inscrição no web socket para poder recbeer mensagem em tempo real e verificar se ta online ou ofline\n */\n this.socketService.getNewMessageObservable().subscribe(message => {\n try {\n const dados_message = message;\n\n if (message.type != 'updateUserList') {\n\n this.novasmessages.push(message); // Adicione a nova mensagem ao array\n const groupToUpdate = this.groups.find(group => group.id === message.id_forum);\n\n // Se o grupo existir, incremente 'unread'\n if (groupToUpdate) {\n groupToUpdate.unread++;\n }\n\n if (dados_message.isimage) {\n this.CarregaMensagensa(message)\n\n } else {\n // Carrega apenas quando o usuario que enviado for diferente do usuario da sessao\n if (dados_message.id_user != this.userID) {\n this.CarregaMensagensa(message)\n }\n }\n }\n } catch (error) {\n console.error(error);\n }\n\n });\n\n this.socketService.getOnlineUsersList().subscribe(users => {\n this.onlineUsers = users;\n\n },\n (error) => {\n console.error(error);\n });\n\n }\n\n getIconForExtension(extension: string): string {\n const extensionIcons: { [key: string]: string } = {\n pdf: 'https://api.recarrega.app.br/uploads/images/7MmelC6KHzSdjxFzSitTtUqRkCUR5OsnGeNXWWZN.png',\n docx: 'https://api.recarrega.app.br/uploads/images/xvvhUsGYq3XVoYAcV6ANEF3PUwWmkQ6VTleE3ef6.png',\n // Outras extensões e ícones aqui\n };\n\n // Verifica se há um ícone correspondente para a extensão\n return extensionIcons[extension.toLowerCase()] || 'default-icon.svg';\n }\n\n\n // Esta função verifica se o usuário está na lista de usuários online\n isUserOnline(id: any): boolean {\n const isOnline = this.onlineUsers.includes(id.toString()); // Substitua 'id' pela propriedade correta que identifica o usuário\n\n return isOnline;\n }\n\n\n /*Aqui temos duas funcoas iguais o que muda eh o end point que ela chama uma vem somente os grupos de suporte e outras vem todos os grupos sem os suporte,\n feito a separacao pois no menu eh como se tivesse duas telas uma para cada grupo*/\n loadGroupsByGrupo(): void {\n this.userID = parseInt(sessionStorage.getItem('userID'));\n this.forumService.getConversationsInForum(this.userID).subscribe(\n (response: Groups[]) => {\n this.groups = response;\n // Verificar e atualizar o array imageContent, se existir adicionado para deixar dinaminaco quando tiver arquivos imagens/documentos concatena a url definida da api no aquivo environment mais o valor que bem no banco de dados\n this.groups.forEach((group) => {\n if (group.messages && group.messages.length > 0) {\n group.messages.forEach((message) => {\n if (message.imageContent) {\n message.imageContent.forEach((image) => {\n // Concatenar o valor da chave 'src'\n image.src = 'http://api.recarrega.app.br/' + '/uploads/' + image.src;\n image.thumb = 'http://api.recarrega.app.br/' + '/uploads/' + image.thumb;\n });\n }\n });\n }\n\n });\n },\n (error) => {\n console.error(error);\n }\n );\n\n }\n\n loadGroupsBySuporte(): void {\n this.userID = parseInt(sessionStorage.getItem('userID'));\n this.forumService.getConversationsInForumBySuporte(this.userID).subscribe(\n (response: Groups[]) => {\n this.groups = response;\n // Verificar e atualizar o array imageContent, se existir adicionado para deixar dinaminaco quando tiver arquivos imagens/documentos concatena a url definida da api no aquivo environment mais o valor que bem no banco de dados\n this.groups.forEach((group) => {\n if (group.messages && group.messages.length > 0) {\n group.messages.forEach((message) => {\n if (message.imageContent) {\n message.imageContent.forEach((image) => {\n // Concatenar o valor da chave 'src'\n image.src = 'http://api.recarrega.app.br/' + '/uploads/' + image.src;\n image.thumb = 'http://api.recarrega.app.br/' + '/uploads/' + image.thumb;\n });\n }\n });\n }\n\n });\n },\n (error) => {\n console.error(error);\n }\n );\n\n }\n\n RefazRequisicaoDosGrupos() {\n if(this.TipoColabore =='grupo'){\n this.loadGroupsByGrupo();\n this.TipoChat ='Colabore';\n }\n\n if(this.TipoColabore =='grupo_suporte'){\n this.loadGroupsBySuporte()\n this.TipoChat ='Suporte';\n\n } }\n\n CarregaMensagensa(message: any) {\n\n if (this.grupoId == message.id_forum) {\n this.message.push({\n id: message.id,\n message: message.message,\n name: message.name,\n profile: message.profile,\n time: message.time,\n align: message.align,\n isimage: message.isimage,\n imageContent: message.imageContent,\n replayName: message.replayName,\n replaymsg: message.replaymsg,\n id_user: message.id_user,\n id_forum: message.id_forum,\n classe_referencia: `lista_${this.elementIndexClicked - 1}`\n });\n\n\n this.onListScroll();\n\n }\n }\n\n ngAfterViewInit() {\n this.scrollRef.SimpleBar.getScrollElement().scrollTop = 100;\n }\n\n /**\n * Show user profile\n */\n // tslint:disable-next-line: typedef\n showUserProfile() {\n document.getElementById('profile-detail').style.display = 'block';\n }\n\n /**\n * Close user chat\n */\n // tslint:disable-next-line: typedef\n closeUserChat() {\n\n var array_id_menssagens = this.groups.find((group: any) => group.id === this.grupoId);\n if (array_id_menssagens) {\n // Filtrar mensagens não lidas\n const unreadMessages = array_id_menssagens.messages.filter((message: any) => !message.is_read);\n // Obter os IDs das mensagens não lidas\n const unreadMessageIds = unreadMessages.map((message: any) => message.id);\n this.markMessagesAsRead(unreadMessageIds)\n // Agora você tem os IDs das mensagens não lidas em unreadMessageIds\n // console.log('IDs das mensagens não lidas:', unreadMessageIds);\n\n }\n document.getElementById('chat-room').classList.remove('user-chat-show');\n\n this.router.navigate(['modulos/chat', this.TipoColabore]);\n\n }\n\n /**\n * Logout the user\n */\n logout() {\n alert(\"saiir\");\n this.router.navigate(['/account/login']);\n }\n\n /**\n * Set language\n * @param lang language\n */\n setLanguage(lang) {\n this.translate.use(lang);\n this.lang = lang;\n }\n\n openCallModal(content) {\n this.modalService.open(content, { centered: true });\n }\n\n openVideoModal(videoContent) {\n this.modalService.open(videoContent, { centered: true });\n }\n\n /**\n * Show user chat\n */\n // tslint:disable-next-line: typedef\n userName: any = '';\n userStatus: any = '';\n userProfile: any = '';\n message: any;\n showChat(event: any, id: any) {\n\n var removeClass = document.querySelectorAll('.chat-user-list li');\n removeClass.forEach((element: any) => {\n element.classList.remove('active');\n });\n\n document.querySelector('.user-chat').classList.add('user-chat-show')\n document.querySelector('.chat-welcome-section').classList.add('d-none');\n document.querySelector('.user-chat').classList.remove('d-none');\n event.target.closest('li').classList.add('active');\n var data = this.chat.filter((chat: any) => {\n return chat.id === id;\n });\n this.userName = data[0].name\n this.userStatus = data[0].status\n this.userProfile = data[0].profilePicture\n this.message = data[0].messages\n this.onListScroll();\n }\n\n // Contact Search\n ContactSearch() {\n var input: any, filter: any, ul: any, li: any, a: any | undefined, i: any, txtValue: any;\n input = document.getElementById(\"searchContact\") as HTMLAreaElement;\n filter = input.value.toUpperCase();\n ul = document.querySelectorAll(\".chat-user-list\");\n ul.forEach((item: any) => {\n li = item.getElementsByTagName(\"li\");\n for (i = 0; i < li.length; i++) {\n a = li[i].getElementsByTagName(\"h5\")[0];\n txtValue = a?.innerText;\n if (txtValue?.toUpperCase().indexOf(filter) > -1) {\n li[i].style.display = \"\";\n } else {\n li[i].style.display = \"none\";\n }\n }\n })\n }\n\n // Message Search\n MessageSearch() {\n var input: any, filter: any, ul: any, li: any, a: any | undefined, i: any, txtValue: any;\n input = document.getElementById(\"searchMessage\") as HTMLAreaElement;\n filter = input.value.toUpperCase();\n ul = document.getElementById(\"users-conversation\");\n li = ul.getElementsByTagName(\"li\");\n for (i = 0; i < li.length; i++) {\n a = li[i].getElementsByTagName(\"p\")[0];\n txtValue = a?.innerText;\n if (txtValue?.toUpperCase().indexOf(filter) > -1) {\n li[i].style.display = \"\";\n } else {\n li[i].style.display = \"none\";\n }\n }\n }\n\n // Filter Offcanvas Set\n onChatInfoClicked(content: TemplateRef) {\n this.offcanvasService.open(content, { position: 'end' });\n }\n\n /**\n * Returns form\n */\n get form() {\n return this.formData.controls;\n }\n\n /**\n * Save the message in chat\n */\n messageSave() {\n\n var groupMsg = document.querySelector('.pills-groups-tab.active');\n const message = this.formData.get('message')!.value;\n if (!groupMsg) {\n document.querySelector('.chat-user-list li.active .chat-user-message').innerHTML = message ? message : this.img;\n }\n var img = this.img ? this.img : '';\n var dateTime = new Date();\n this.chatReplyUser = this.isreplyMessage == true ? (document.querySelector(\".replyCard .replymessage-block .flex-grow-1 .conversation-name\") as HTMLAreaElement).innerHTML : '';\n this.chatReplyMessage = this.isreplyMessage == true ? (document.querySelector(\".replyCard .replymessage-block .flex-grow-1 .mb-0\") as HTMLAreaElement).innerText : '';\n\n\n const formValue = this.formData.value;\n const conteudo_menssage = formValue.message;\n const forumId = this.grupoId;\n\n const conversationData = {\n user_id: sessionStorage.getItem('userID'),\n content: conteudo_menssage,\n align: 'right',\n id_forum: forumId,\n replayName: this.chatReplyUser,\n replaymsg: this.chatReplyMessage,\n classe_referencia: `lista_${this.elementIndexClicked - 1}`\n };\n\n const fotoperfil = sessionStorage.getItem('foto_perfil') === 'null' ? '' : sessionStorage.getItem('foto_perfil');\n\n this.forumService.postConversationInForum(forumId, conversationData).subscribe(\n response => {\n // console.log('Conversa enviada com sucesso!', response);\n const newMessage = {\n id: this.message.length + 1,\n message: message,\n name: this.senderName,\n profile: fotoperfil,\n time: dateTime,\n align: 'right',\n isimage: false,\n imageContent: [img],\n replayName: this.chatReplyUser,\n replaymsg: this.chatReplyMessage,\n id_user: this.userID,\n id_forum: forumId,\n classe_referencia: `lista_${this.elementIndexClicked - 1}`\n };\n\n this.CarregaMensagensa(newMessage)\n const messageJSON = JSON.stringify(newMessage);\n // Enviar mensagem JSON para o servidor WebSocket\n this.sendMessageToServer(messageJSON);\n\n // Set Form Data Reset\n this.formData = this.formBuilder.group({\n message: null,\n });\n this.isreplyMessage = false;\n this.emoji = '';\n this.img = '';\n this.chatReplyUser = '';\n this.chatReplyMessage = '';\n document.querySelector('.replyCard')?.classList.remove('show');\n },\n error => {\n console.error('Erro ao enviar conversa:', error);\n // Trate o erro adequadamente\n }\n\n );\n\n this.onListScroll();\n }\n\n onListScroll() {\n if (this.scrollRef !== undefined) {\n setTimeout(() => {\n this.scrollRef.SimpleBar.getScrollElement().scrollTop = this.scrollRef.SimpleBar.getScrollElement().scrollHeight;\n }, 500);\n }\n }\n\n scrollToDiv(divId: string) {\n const targetDiv = document.getElementById(divId);\n if (targetDiv) {\n targetDiv.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n\n // Emoji Picker\n showEmojiPicker = false;\n sets: any = [\n 'native',\n 'google',\n 'twitter',\n 'facebook',\n 'emojione',\n 'apple',\n 'messenger'\n ]\n set: any = 'twitter';\n toggleEmojiPicker() {\n this.showEmojiPicker = !this.showEmojiPicker;\n }\n\n addEmoji(event: any) {\n const { emoji } = this;\n const text = `${emoji}${event.emoji.native}`;\n this.emoji = text;\n this.showEmojiPicker = false;\n }\n\n onFocus() {\n this.showEmojiPicker = false;\n }\n onBlur() {\n }\n\n closeReplay() {\n document.querySelector('.replyCard')?.classList.remove('show');\n }\n\n // Copy Message\n copyMessage(event: any) {\n navigator.clipboard.writeText(event.target.closest('.chats').querySelector('.messageText').innerHTML);\n document.getElementById('copyClipBoard')?.classList.add('show');\n setTimeout(() => {\n document.getElementById('copyClipBoard')?.classList.remove('show');\n }, 1000);\n }\n\n // Delete Message\n deleteMessage(event: any, data: any) {\n\n\n this.forumService.DeleteMessagesById(data.id).subscribe(\n (response) => {\n\n event.target.closest('.chats').remove();\n\n },\n (error) => {\n console.error(error);\n }\n );\n\n }\n\n // Delete All Message\n deleteAllMessage(event: any) {\n var allMsgDelete: any = document.getElementById('users-conversation')?.querySelectorAll('.chats');\n allMsgDelete.forEach((item: any) => {\n item.remove();\n })\n }\n\n\n isEditing: boolean = false;\n editedMessage: string = '';\n\n // Função para iniciar a edição\n\n editMessage(data: any) {\n // Encontre a mensagem com o ID correspondente no array de mensagens\n const messageToEdit = this.message.find(message => message.id === data.id);\n\n if (messageToEdit) {\n // Carregue a mensagem antiga na variável editedMessage\n this.editedMessage = data.message\n messageToEdit.isEditing = true;\n }\n }\n\n\n // Função para salvar a mensagem editada\n saveEditedMessage(novamessage: string, data: any) {\n\n const updateMessage = this.message.findIndex(message => message.id == data.id);\n const messageToEdit = this.message.find(message => message.id == data.id);\n var dateTime = new Date();\n\n if (updateMessage !== -1) {\n this.message[updateMessage].message = novamessage\n this.message[updateMessage].time = dateTime\n this.forumService.EditMessagesById(data.id, novamessage).subscribe(\n (response) => {\n },\n (error) => {\n }\n );\n messageToEdit.isEditing = false;\n }\n\n\n this.isEditing = false;\n }\n // Replay Message\n replyMessage(event: any, align: any) {\n this.isreplyMessage = true;\n\n document.querySelector('.replyCard')?.classList.add('show');\n var copyText = event.target.closest('.chats').querySelector('.messageText').innerHTML;\n (document.querySelector(\".replyCard .replymessage-block .flex-grow-1 .mb-0\") as HTMLAreaElement).innerHTML = copyText;\n var msgOwnerName: any = event.target.closest(\".chats\").classList.contains(\"right\") == true ? 'Voce' : document.querySelector(`.lista_${this.elementIndexClicked} span`)?.innerHTML;\n (document.querySelector(\".replyCard .replymessage-block .flex-grow-1 .conversation-name \") as HTMLAreaElement).innerHTML = msgOwnerName;\n }\n onElementClick(index: number) {\n this.elementIndexClicked = index;\n }\n /**\n * Open center modal\n * @param centerDataModal center modal data\n */\n centerModal(centerDataModal: any) {\n this.modalService.open(centerDataModal, { centered: true });\n }\n\n // File Upload\n imageURL: string | undefined;\n img: any;\n\n imagemFile: File;\n\n fileChange(event: any) {\n let fileList: any = (event.target as HTMLInputElement);\n this.imagemFile = fileList.files[0];\n\n\n const nomeDoArquivo = this.imagemFile.name;\n const reader = new FileReader();\n const tamanhoMaximo = 10 * 1024 * 1024 \n if (this.imagemFile.size > tamanhoMaximo) {\n alert(\"Tamanho não suportado (maior que 10MB)\")\n return\n }\n\n const partesDoNomeDoArquivo = nomeDoArquivo.split('.');\n\n\n const extensaoDoArquivo = partesDoNomeDoArquivo[partesDoNomeDoArquivo.length - 1].toLowerCase();\n\n\n const extensoesValidas = ['jpg', 'jpeg', 'png', 'gif'];\n\n\n if (extensaoDoArquivo === 'pdf' || extensaoDoArquivo === 'doc' || extensaoDoArquivo === 'docx' || extensaoDoArquivo === 'xls' || extensaoDoArquivo === 'xlsx') {\n this.salvarImagemServidor();\n return\n } else if (extensoesValidas.includes(extensaoDoArquivo)) {\n reader.onload = () => {\n this.imageURL = reader.result as string;\n this.img = this.imageURL;\n\n this.imageURL = reader.result as string;\n\n };\n reader.readAsDataURL(this.imagemFile);\n } else {\n alert(\"Formato de documento inválido\")\n return\n }\n\n }\n\n closeImage() {\n this.imageURL = null;\n this.imagemFile = null;\n }\n\n\n handleImageURLChange() {\n // Coloque aqui a lógica que você deseja executar quando imageURL se torna verdadeiro.\n // Por exemplo, chame sua função aqui.\n this.salvarImagemServidor()\n }\n\n\n salvarImagemServidor() {\n var dateTime = new Date();\n const forumId = this.grupoId;\n\n const formData = new FormData();\n formData.append('user_id', sessionStorage.getItem('userID'));\n formData.append('file', this.imagemFile);\n formData.append('align', 'right');\n this.forumService.postConversationInForumDocumentos(forumId, formData).subscribe(\n response => {\n // Manipular a resposta da requisição, se necessário\n this.imageURL = null\n this.url_documento_salvo = response.imageUrl\n const newMessage = {\n id: this.message.length + 1,\n message: null,\n name: this.senderName,\n profile: this.senderProfile,\n time: dateTime,\n align: 'right',\n isimage: true,\n imageContent: [{\n caption: \"Image caption here\",\n id: this.message.length, // Ou algum outro ID apropriado\n src: 'https://api.recarrega.app.br/uploads/' + this.url_documento_salvo,\n thumb: 'https://api.recarrega.app.br/uploads/' + this.url_documento_salvo\n }],\n id_user: this.userID,\n id_forum: forumId\n };\n\n const messageJSON = JSON.stringify(newMessage);\n // Enviar mensagem JSON para o servidor WebSocket\n this.sendMessageToServer(messageJSON);\n },\n error => {\n // Lidar com erros, se ocorrerem\n console.error(error);\n }\n );\n }\n\n /**\n * Topbar Light-Dark Mode Change\n */\n changeMode(mode: string) {\n this.mode = mode;\n switch (mode) {\n case 'light':\n document.body.setAttribute('data-layout-mode', \"light\");\n break;\n case 'dark':\n document.body.setAttribute('data-layout-mode', \"dark\");\n break;\n default:\n document.body.setAttribute('data-layout-mode', \"light\");\n break;\n }\n }\n\n /***\n * ========== Group Msg ============\n */\n /**\n * Show user chat\n */\n // tslint:disable-next-line: typedef\n showGroupChat(event: any, id: any) {\n\n var removeClass = document.querySelectorAll('.chat-list li');\n removeClass.forEach((element: any) => {\n element.classList.remove('active');\n });\n document.querySelector('.user-chat').classList.add('user-chat-show')\n document.querySelector('.chat-welcome-section').classList.add('d-none');\n document.querySelector('.user-chat').classList.remove('d-none');\n event.target.closest('li').classList.add('active');\n var data = this.groups.filter((group: any) => {\n return group.id === id;\n });\n this.userName = data[0].name\n\n\n this.message = this.separateMessages(data[0].messages)\n\n this.message = this.message.map(message => {\n return { ...message, isEditing: false };\n });\n\n\n this.grupoId = id;\n this.getUsersByForum(this.grupoId);\n\n // Buscando dados da atividade, quando clicca na parte de cima do perfil\n\n this.atividade_service.getAtividadesByIdgrupotipos(parseInt(this.message[0].id_grupo_tipos, 10)).subscribe(\n (response: any) => {\n this.Localevento = response.horario;\n this.DescricaoCompletaEevento = response.grupo_tipo_descrisao\n this.HorarioEvento = response.horario;\n this.userProfile = response.img_evento\n\n console.log(response)\n\n\n const baseUrl = 'https://api.recarrega.app.br/'\n\n if (this.userProfile) {\n this.userProfile = baseUrl + '/uploads/' + this.userProfile;\n } else {\n this.userProfile = baseUrl + 'images/RsTWs8h7cu3ChOQZefJSpz35ej6CccUgZ10uGe72.png';\n\n }\n\n\n },\n (error) => {\n console.error(error);\n }\n );\n\n var array_id_menssagens = this.groups.find((group: any) => group.id === id);\n if (array_id_menssagens) {\n // Filtrar mensagens não lidas\n const unreadMessages = array_id_menssagens.messages.filter((message: any) => !message.is_read);\n // Obter os IDs das mensagens não lidas\n const unreadMessageIds = unreadMessages.map((message: any) => message.id);\n this.markMessagesAsRead(unreadMessageIds)\n // Agora você tem os IDs das mensagens não lidas em unreadMessageIds\n // console.log('IDs das mensagens não lidas:', unreadMessageIds);\n\n }\n\n }\n\n separateMessages(messages: any[]): any {\n const today = new Date();\n const messagesToday = [];\n const messagesYesterday = [];\n\n messages.forEach((message) => {\n const messageTime = new Date(message.time);\n\n if (messageTime >= today) {\n messagesToday.push(message);\n } else {\n messagesYesterday.push(message);\n }\n });\n\n if (messagesToday.length > 0 && messagesYesterday.length > 0) {\n messagesYesterday.push({ isToday: true });\n }\n\n messagesToday.sort((a, b) => a.id - b.id);\n messagesYesterday.sort((a, b) => a.id - b.id);\n\n\n // Concatenar as mensagens de ontem após as mensagens de hoje\n const mergedMessages = [...messagesYesterday, ...messagesToday];\n return mergedMessages;\n }\n\n\n markMessagesAsRead(messageIds: number[]) {\n this.forumService.markMessagesAsRead(messageIds).subscribe(\n (response) => {\n // console.log(response);\n },\n (error) => {\n console.error(error);\n }\n );\n }\n\n /**\n * Open add group modal\n * @param content content\n */\n // tslint:disable-next-line: typedef\n openGroupModal(content: any) {\n this.modalService.open(content, { centered: true });\n }\n\n // Group Search\n GroupSearch() {\n var input: any, filter: any, ul: any, li: any, a: any | undefined, i: any, txtValue: any;\n input = document.getElementById(\"searchGroup\") as HTMLAreaElement;\n filter = input.value.toUpperCase();\n ul = document.querySelectorAll(\".group-list\");\n ul.forEach((item: any) => {\n li = item.getElementsByTagName(\"li\");\n for (i = 0; i < li.length; i++) {\n a = li[i].getElementsByTagName(\"h5\")[0];\n txtValue = a?.innerText;\n if (txtValue?.toUpperCase().indexOf(filter) > -1) {\n li[i].style.display = \"\";\n } else {\n li[i].style.display = \"none\";\n }\n }\n })\n }\n\n /**\n * Open lightbox\n */\n openImage(index: number, i: number): void {\n // open lightbox\n this.lightbox.open(this.message[index].imageContent, i, {\n showZoom: true\n });\n }\n\n\n\n isImage(url: string): boolean {\n const imageExtensions = ['jpg', 'jpeg', 'png', 'gif']; // Adicione as extensões de imagem suportadas aqui\n\n // Obter a extensão do arquivo a partir da URL\n const extension = url.substring(url.lastIndexOf('.') + 1).toLowerCase();\n\n return imageExtensions.includes(extension);\n }\n\n getFileExtension(url: string): string {\n const extension = url.split('.').pop();\n return extension !== undefined ? extension.toLowerCase() : '';\n }\n\n async sendMessageToServer(message: string) {\n try {\n const success = await this.socketService.sendMessage(message);\n if (success) {\n // console.log('Mensagem enviada com sucesso!');\n } else {\n console.error('Falha ao enviar mensagem.');\n }\n } catch (error) {\n console.error('Erro ao enviar mensagem:', error);\n }\n }\n irParaTelamodulosIndex() {\n this.router.navigate(['/modulos/index']);\n }\n\n getUsersByForum(id_forum: number) {\n this.forumService.getUsersByForum(id_forum).subscribe(\n response => {\n\n this.listaUsuarios = response\n this.quantidadeUsuarios = this.listaUsuarios.length;\n\n },\n error => {\n // Lidar com erros, se ocorrerem\n console.error(error);\n }\n );\n }\n\n /**\n * Formata um nome convertendo a primeira letra de cada palavra em maiúscula\n * e o restante das letras em minúscula.\n * @param name O nome a ser formatado.\n * @returns O nome formatado.\n */\n formatName(name: string): string {\n // Converte todo o nome para minúsculas,\n // divide-o em palavras, formata cada palavra\n // e junta novamente as palavras formatadas.\n return name.toLowerCase().split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');\n }\n\n processarMensagem(mensagem: string): string {\n // Expressão regular para encontrar links\n const pattern = /(\\b(https?|ftp|file):\\/\\/[-A-Z0-9+&@#/%?=_|!:,.;]*[-A-Z0-9+&@#/%=_|])/ig;\n \n // Substituir cada link encontrado por uma tag de link\n return mensagem.replace(pattern, '$1');\n  }\n\n\n}\n","
\n \n \n
\n
\n \n
\n \n
\n \n\n \n \n \n\n \n
\n \n
\n
\n
\n\n
\n \n \n
\n
\n \"\"\n
\n
\n

{{TipoChat}}\n

\n\n \n \n
\n
\n
\n Criar novo forum
\n \n
\n
\n
\n
\n \n \n
\n \n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n\n
\n
\n \n \n
\n
\n \n
\n\n \n \n \n \n \n
\n \n
\n \n\n \n
\n \n
\n \n \n
\n \n
\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n

Iniciar conversa

\n
\n
\n
\n
\n\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n \n {{(userName | translate).charAt(0)}}\n \n
\n
\n \n
\n
\n
\n
    \n
  • \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
  • \n
  • \n \n
  • \n \n
    \n
    \n
    \n \"\"\n
    \n
    {{(userName | translate)}}
    \n

    Start Audio Call

    \n
    \n
      \n
    • \n \n
    • \n
    • \n \n
    • \n
    \n
    \n
    \n
    \n
    \n
  • \n \n
  • \n \n
    \n
    \n
    \n \"\"\n
    \n
    {{(userName | translate)}}
    \n

    Start Video Call

    \n
    \n
      \n
    • \n \n
    • \n
    • \n \n
    • \n
    \n
    \n
    \n
    \n
    \n \n
  • \n \n
  • \n
\n
\n
\n
\n \n
\n \"Preview\"\n
\"\"
\n
\n \n \n
\n \n \n \n \n
\n Mensagem Copiada\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n\n
\n
\n
\n
\n \n\n
\n
\n
\n
\n
\n
Voce
\n

Wow that's great

\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n\n \n
\n
\n
\n\n\n\n
\n \n
\n\n
\n
\n
\n \"\"\n
\n
{{userName | translate}}
\n

\n \n {{userStatus | translate}}

\n
\n \n\n \n \n
\n

{{DescricaoCompletaEevento}}

\n
\n\n
\n \n \n\n \n \n
\n \n Sobre\n
\n
\n \n
\n

Atividade

\n
{{userName | translate}}
\n
\n\n \n\n
\n

Horario

\n
{{'chat.rightpanel.about.time.value' | translate}}
\n
\n\n
\n

Local

\n
{{Localevento | translate}}
\n
\n
\n
\n\n \n\n \n \n
\n \n Usuarios\n
\n
\n \n
\n

Usuarios do grupo: {{quantidadeUsuarios}}

\n
\n
\n \"\"\n \n {{ formatName(usuario.name).charAt(0) }}\n \n \n\n\n
\n
\n
{{ formatName(usuario.name) }}
\n \n
\n\n
\n
\n
\n
\n\n \n\n \n
\n \n
\n \n
\n \n\n
\n
\n\n\n\n
\n
Forward to...
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
A
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n
\n
C
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n
\n
D
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n
\n
I
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n
\n
J
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
  • \n
    \n \n \n
    \n
  • \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n
\n
M
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
  • \n
    \n \n \n
    \n
  • \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n
\n
O
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n
\n
P
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n
\n
R
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n
\n
S
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
  • \n
    \n \n \n
    \n
  • \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n
\n
H
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { ForumService } from \"src/services/Forum_Service\";\nimport { Groups } from 'src/app/chat/chat-index/chat.model';\nimport { Observable } from \"rxjs\";\n\n\nconst chat = [\n {\n id: 1,\n name: null,\n profilePicture: null,\n status: null,\n lastMessage: null,\n time: null,\n isActive: true,\n // messages: [\n // {\n // id: 1,\n // message: 'chat.messages.1.message',\n // name: 'chat.messages.1.name',\n // profile: 'assets/images/users/avatar-4.jpg',\n // time: 'chat.messages.1.time'\n // },\n // {\n // id: 2,\n // message: 'chat.messages.2.message',\n // name: 'chat.messages.2.name',\n // profile: 'assets/images/users/avatar-1.jpg',\n // time: 'chat.messages.2.time',\n // align: 'right'\n // },\n // {\n // isToday: true\n // },\n // {\n // id: 3,\n // message: 'chat.messages.3.message',\n // message2: 'chat.messages.3.message2',\n // name: 'chat.messages.3.name',\n // profile: 'assets/images/users/avatar-4.jpg',\n // time: 'chat.messages.3.time',\n // },\n // {\n // id: 4,\n // message: 'chat.messages.4.message',\n // name: 'chat.messages.4.name',\n // profile: 'assets/images/users/avatar-1.jpg',\n // time: 'chat.messages.4.time',\n // align: 'right'\n // },\n // {\n // id: 5,\n // name: 'chat.messages.5.name',\n // profile: 'assets/images/users/avatar-1.jpg',\n // time: 'chat.messages.5.time',\n // isimage: true,\n // imageContent: [\n // {id:'1',src:'assets/images/small/img-1.jpg',caption:'Image 4 caption here',thumb:'assets/images/small/img-1.jpg'},\n // ]\n // },\n // {\n // id: 6,\n // name: 'chat.messages.6.name',\n // profile: 'assets/images/users/avatar-1.jpg',\n // time: 'chat.messages.6.time',\n // align: 'right',\n // isfile: true,\n // fileContent: 'admin_v1.0.zip',\n // fileSize: '12.5 MB'\n // },\n // {\n // id: 1,\n // message: '👍',\n // name: 'chat.messages.1.name',\n // profile: 'assets/images/users/avatar-4.jpg',\n // time: 'chat.messages.1.time',\n // replayName: \"You\",\n // replaymsg: `chat.messages.1.message`,\n // align: 'right',\n // },\n // ]\n },\n]\n\n// const groups = [\n// {\n// id: 1, name: 'chat.tabs.groups.list.general',\n// messages: [\n// {\n// id: 1,\n// message: 'chat.messages.26.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.26.time',\n// align: 'right'\n// },\n// {\n// id: 2,\n// name: 'chat.messages.5.name',\n// profile: 'assets/images/users/avatar-1.jpg',\n// time: 'chat.messages.5.time',\n// isimage: true,\n// imageContent: [\n// {id:'3',src:'assets/images/small/img-3.jpg',caption:'Image 3 caption here',thumb:'assets/images/small/img-3.jpg'},\n// ]\n// },\n// {\n// id: 3,\n// message: 'chat.messages.27.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.27.time',\n// align: 'right'\n// }\n// ]\n// },\n// {\n// id: 2, name: 'chat.tabs.groups.list.reporting',\n// unread: '+23',\n// messages: [\n// {\n// id: 1,\n// message: 'chat.messages.9.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.9.time'\n// },\n// {\n// isToday: true\n// },\n// {\n// id: 2,\n// name: 'chat.messages.5.name',\n// profile: 'assets/images/users/avatar-1.jpg',\n// time: 'chat.messages.5.time',\n// isimage: true,\n// imageContent: [\n// {id:'2',src:'assets/images/small/img-2.jpg',caption:'Image 2 caption here',thumb:'assets/images/small/img-2.jpg'},\n// ]\n// },\n// {\n// id: 3,\n// name: 'chat.messages.6.name',\n// profile: 'assets/images/users/avatar-1.jpg',\n// time: 'chat.messages.6.time',\n// align: 'right',\n// isfile: true,\n// fileContent: 'Minible-Vertical.zip',\n// fileSize: '12.5 MB'\n// },\n// {\n// id: 4,\n// message: 'chat.messages.12.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.12.time',\n// align: 'right'\n// },\n// {\n// id: 5,\n// message: 'chat.messages.10.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.10.time'\n// },\n// ]\n// },\n// {\n// id: 3, name: 'chat.tabs.groups.list.designers',\n// messages: [\n// {\n// id: 1,\n// message: 'chat.messages.14.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.14.time'\n// },\n// {\n// id: 2,\n// message: 'chat.messages.15.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.15.time',\n// align: 'right'\n// },\n// ]\n// },\n// {\n// id: 4, name: 'chat.tabs.groups.list.developer',\n// unread: 'New',\n// messages: [\n// {\n// id: 1,\n// message: 'chat.messages.16.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.16.time'\n// },\n// {\n// id: 2,\n// name: 'chat.messages.5.name',\n// profile: 'assets/images/users/avatar-1.jpg',\n// time: 'chat.messages.5.time',\n// isimage: true,\n// imageContent: [\n// {id:'4',src:'assets/images/small/img-4.jpg',caption:'Image 4 caption here',thumb:'assets/images/small/img-4.jpg'},\n// {id:'2',src:'assets/images/small/img-2.jpg',caption:'Image 2 caption here',thumb:'assets/images/small/img-2.jpg'}\n// ],\n// align: 'right'\n// },\n// {\n// id: 3,\n// message: 'chat.messages.17.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.17.time',\n// align: 'right'\n// },\n// {\n// id: 4,\n// message: 'chat.messages.19.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.19.time',\n// },\n// ]\n// },\n// {\n// id: 5, name: 'chat.tabs.groups.list.projectalpha',\n// messages: [\n// {\n// id: 1,\n// message: 'chat.messages.9.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.1.time'\n// },\n// {\n// id: 2,\n// name: 'chat.messages.5.name',\n// profile: 'assets/images/users/avatar-1.jpg',\n// time: 'chat.messages.5.time',\n// isimage: true,\n// imageContent: [\n// {id:'4',src:'assets/images/small/img-4.jpg',caption:'Image 4 caption here',thumb:'assets/images/small/img-4.jpg'},\n// {id:'6',src:'assets/images/small/img-6.jpg',caption:'Image 6 caption here',thumb:'assets/images/small/img-6.jpg'}\n// ]\n// },\n// {\n// id: 3,\n// message: 'chat.messages.10.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.10.time',\n// align: 'right'\n// },\n// {\n// id: 34,\n// message: 'chat.messages.11.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.11.time'\n// },\n// ]\n// },\n// {\n// id: 6, name: 'chat.tabs.groups.list.snacks',\n// messages: [\n// {\n// id: 1,\n// message: 'chat.messages.8.message',\n// name: 'chat.messages.1.name',\n// profile: 'assets/images/users/avatar-4.jpg',\n// time: 'chat.messages.1.time',\n// align: 'right'\n// },\n// {\n// id: 2,\n// name: 'chat.messages.5.name',\n// profile: 'assets/images/users/avatar-1.jpg',\n// time: 'chat.messages.5.time',\n// isimage: true,\n// imageContent: [\n// {id:'4',src:'assets/images/small/img-4.jpg',caption:'Image 4 caption here',thumb:'assets/images/small/img-4.jpg'},\n// {id:'5',src:'assets/images/small/img-5.jpg',caption:'Image 5 caption here',thumb:'assets/images/small/img-5.jpg'}\n// ]\n// },\n// ]\n// }\n// ];\n\nexport function getData(forumService: ForumService): Observable {\n return forumService.getConversationsInForum(this.user_id);\n}\n\nexport const groups = (forumService: ForumService): Observable => getData(forumService).pipe(\n // Faça qualquer processamento adicional ou filtragem necessária aqui\n);\n\nexport { chat };\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\n\nimport { chatIndexComponent } from './chat-index/chat-index.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: chatIndexComponent\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes),\n FormsModule,ReactiveFormsModule],\n exports: [RouterModule]\n})\n\nexport class ChatRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbTooltipModule, NgbDropdownModule, NgbAccordionModule, NgbModalModule, NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\n\nimport { LightboxModule } from 'ngx-lightbox';\nimport { TabsModule } from './tabs/tabs.module';\nimport { ChatRoutingModule } from './chat-routing.module';\nimport {DatePipe} from '@angular/common';\n\n// Emoji Picker\nimport { PickerModule } from '@ctrl/ngx-emoji-mart';\n\n// Simplebar\nimport { SimplebarAngularModule } from 'simplebar-angular';\nimport { chatIndexComponent } from './chat-index/chat-index.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [chatIndexComponent],\n imports: [\n PerfectScrollbarModule,\n LightboxModule,\n NgbAccordionModule,\n NgbModalModule,\n NgbCollapseModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ChatRoutingModule,\n TabsModule,\n NgbTooltipModule,\n NgbDropdownModule,\n TranslateModule,\n SimplebarAngularModule,\n PickerModule\n ],\n providers: [\n DatePipe\n ],\n exports: []\n})\nexport class ChatModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\nimport { contacts } from './data';\nimport { Contacts } from './contacts.model';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-contacts',\n templateUrl: './contacts.component.html',\n styleUrls: ['./contacts.component.scss']\n})\n/**\n * Tab-contacts component\n */\nexport class ContactsComponent implements OnInit {\n\n contacts: Contacts[];\n contactsList: any;\n\n constructor(private modalService: NgbModal, public translate: TranslateService) { }\n\n ngOnInit(): void {\n const sorted = contacts.sort((a, b) => a.name > b.name ? 1 : -1);\n\n const grouped = sorted.reduce((groups, contact) => {\n const letter = this.translate.instant(contact.name).charAt(0);\n groups[letter] = groups[letter] || [];\n groups[letter].push(contact);\n\n return groups;\n }, {});\n\n // contacts list\n this.contactsList = Object.keys(grouped).map(key => ({ key, contacts: grouped[key] }));\n }\n\n\n /**\n * Contacts modal open\n * @param content content\n */\n // tslint:disable-next-line: typedef\n openContactsModal(content) {\n this.modalService.open(content, { centered: true });\n }\n}\n","\n
\n
\n
\n
\n \n \n
\n
\n

{{'chat.tabs.contacts.title' | translate}}

\n\n \n \n
\n
\n
\n {{'chat.tabs.contacts.modal.title' | translate}}
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n \n\n
\n
\n
\n \n
\n \n
\n
\n \n
\n \n\n \n \n \n \n\n \n \n
\n\n","const contacts = [\n { id: 1, name: 'chat.tabs.contacts.list.A.name' },\n { id: 2, name: 'chat.tabs.contacts.list.A.name2' },\n { id: 3, name: 'chat.tabs.contacts.list.C.name' },\n { id: 4, name: 'chat.tabs.contacts.list.D.name' },\n { id: 5, name: 'chat.tabs.contacts.list.D.name2' },\n { id: 6, name: 'chat.tabs.contacts.list.I.name' },\n { id: 7, name: 'chat.tabs.contacts.list.J.name' },\n { id: 8, name: 'chat.tabs.contacts.list.J.name2' },\n { id: 9, name: 'chat.tabs.contacts.list.J.name3' },\n { id: 10, name: 'chat.tabs.contacts.list.M.name' },\n { id: 11, name: 'chat.tabs.contacts.list.M.name2' },\n { id: 12, name: 'chat.tabs.contacts.list.M.name3' },\n { id: 13, name: 'chat.tabs.contacts.list.O.name' },\n { id: 14, name: 'chat.tabs.contacts.list.P.name' },\n { id: 15, name: 'chat.tabs.contacts.list.P.name2' },\n { id: 16, name: 'chat.tabs.contacts.list.R.name' },\n { id: 17, name: 'chat.tabs.contacts.list.S.name' },\n { id: 18, name: 'chat.tabs.contacts.list.S.name2' },\n { id: 19, name: 'chat.tabs.contacts.list.S.name3' },\n { id: 20, name: 'chat.tabs.contacts.list.H.name' },\n];\n\nexport { contacts };\n","import { Component, ElementRef, HostListener } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { UserService } from 'src/services/user.service';\nimport { Router } from '@angular/router';\nimport { environment } from 'src/environments/environment';\nimport { ForumService } from 'src/services/Forum_Service';\n\n@Component({\n selector: 'app-menu-chat',\n templateUrl: './menu-chat.component.html',\n styleUrls: ['./menu-chat.component.css']\n})\nexport class MenuChatComponent {\n userInfo: any; // Armazenar� as informa��es do usu�rio\n\n private apiUrl: string;\n AlertColabore: boolean;\n AlertSuporte: boolean;\n\n constructor(\n private router: Router,\n private elementRef: ElementRef,\n private userService: UserService,\n private http: HttpClient,\n private forumService: ForumService\n\n\n ) {\n this.apiUrl = environment.apiUrl;\n }\n \n \n ngOnInit() {\n this.CarregaMensagensNaolidas()\n \n }\n \n CarregaMensagensNaolidas() {\n const userID = parseInt(sessionStorage.getItem('userID'));\n this.forumService.MessagesUnReadByUserid(userID).subscribe(\n (response) => {\n const arr = Object.values(response);\n if (arr.includes('colabore')) {\n this.AlertColabore=true\n }else{\n this.AlertColabore=false\n \n }\n // Verifica se o array contém 'grupo_suporte'\n if (arr.includes('grupo_suporte')) {\n this.AlertSuporte=true\n }else{\n this.AlertSuporte=false\n \n }\n },\n (error) => {\n console.error(error);\n }\n );\n \n }\n\n scrollToDiv(divId: string): void {\n const targetElement = this.elementRef.nativeElement.querySelector('#' + divId);\n console.log(targetElement)\n if (targetElement) {\n targetElement.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n irParaTelaLogin() {\n this.router.navigate(['/login']);\n }\n\n irParaChat() {\n this.router.navigate(['/modulos/chat']);\n }\n\n irParaMural() {\n this.router.navigate(['/modulos/novidades']);\n }\n\n irParaaprenda() {\n this.router.navigate(['/modulos/aprenda']);\n }\n\n irParaMonitore() {\n this.router.navigate(['/modulos/monitore']);\n }\n irParaMapeia() {\n this.router.navigate(['/modulos/mapeie']);\n }\n\n\n\n irParausuarios() {\n this.router.navigate(['modulos/usuario']);\n }\n\n irParaColabore(tipo: string) {\n this.router.navigate(['modulos/chat', tipo]);\n }\n \n\n irParaRotaHome() {\n this.router.navigate(['modulos/rota_home']);\n }\n \n logout(): void {\n const token = sessionStorage.getItem('token');\n //Removendo token do cookie\n document.cookie = 'token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';\n sessionStorage.removeItem('token');\n if (token) {\n const headers = new HttpHeaders().set('Authorization', `Bearer ${token}`);\n this.http.post(`${this.apiUrl}/auth/logout`, null, { headers }).subscribe(\n () => {\n\n this.userInfo = null;\n window.location.reload(); // Atualiza a p�gina\n\n // Realizar outras a��es ap�s o logout, se necess�rio\n },\n (error: any) => {\n console.error('Erro ao fazer logout:', error);\n }\n );\n }\n }\n\n showSubMenu = false;\n\n toggleSubMenu(): void {\n this.showSubMenu = !this.showSubMenu;\n }\n\n closeSubMenu(): void {\n this.showSubMenu = false;\n }\n\n\n\n\n\n\n}\n","
\n\n
\n
\n \"Mural\"\n Mural\n
\n
\n \"Colabore\"\n Colabore\n
\n
\n \"Aprenda\"\n Aprenda\n
\n \n
\n \"Colabore\"\n Suporte\n
\n
\n \"Mais\"\n Mais\n
\n
\n \n
\n
\n
\n \"Fechar\"\n
\n
\n
\n
\n \"Meu\n
\n
\n \"Monitome\"\n
\n
\n
\n
\n \"Minhas\n
\n
\n \"Mapeia\"\n
\n
\n
\n
\n \"Sair\"\n
\n
\n \"Recarrega\"\n
\n
\n \n
\n \n ","\n
\n \n\n
\n
\n \"\"\n
\n\n
{{senderName | translate}}
\n

\n {{'chat.tabs.profile.status' | translate}}

\n
\n \n\n \n \n\n
\n

{{'chat.tabs.profile.message'| translate}}

\n
\n\n \n \n \n
\n \n {{'chat.tabs.profile.about.text' | translate}}\n
\n
\n \n
\n

{{ 'chat.tabs.profile.about.name.text' | translate}}

\n
{{ senderName | translate}}
\n
\n\n
\n

{{ 'chat.tabs.profile.about.email.text' | translate}}

\n
{{ 'chat.tabs.profile.about.email.value' | translate}}
\n
\n\n
\n

{{ 'chat.tabs.profile.about.time.text' | translate}}

\n
{{ 'chat.tabs.profile.about.time.value' | translate}}
\n
\n\n
\n

{{ 'chat.tabs.profile.about.location.text' | translate}}

\n
{{ 'chat.tabs.profile.about.location.value' | translate}}
\n
\n
\n
\n \n \n
\n \n {{'chat.tabs.profile.attachedfile.text' | translate}}\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
{{'chat.tabs.profile.attachedfile.file1.name' | translate}}
\n

{{'chat.tabs.profile.attachedfile.file1.size' | translate}}\n

\n
\n
\n \n
\n
\n \n\n
\n
\n
\n
\n \n
\n
\n
\n
\n
{{'chat.tabs.profile.attachedfile.file2.name' | translate}}
\n

{{'chat.tabs.profile.attachedfile.file2.size' | translate}}\n

\n
\n
\n \n
\n
\n \n\n
\n
\n
\n
\n \n
\n
\n
\n
\n
{{'chat.tabs.profile.attachedfile.file3.name' | translate}}
\n

{{'chat.tabs.profile.attachedfile.file3.size' | translate}}\n

\n
\n
\n \n
\n
\n \n\n
\n
\n
\n
\n \n
\n
\n
\n
\n
{{'chat.tabs.profile.attachedfile.file4.name' | translate}}
\n

{{'chat.tabs.profile.attachedfile.file4.size' | translate}}\n

\n
\n
\n \n
\n
\n \n
\n
\n
\n \n\n
\n \n
\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss']\n})\n/**\n * Tabs-Profile component\n */\nexport class ProfileComponent implements OnInit {\n\n senderName:any;\n senderProfile:any;\n\n constructor() { }\n\n ngOnInit(): void {\n const user = window.localStorage.getItem('currentUser');\n this.senderName = JSON.parse(user).username\n this.senderProfile = 'assets/images/users/'+JSON.parse(user).profile\n }\n\n}\n","\n
\n
\n

{{'chat.tabs.settings.title' | translate}}

\n
\n\n \n \n\n \n \n \n \n \n
\n {{'chat.tabs.settings.info.title' | translate}}\n
\n
\n \n
\n \n
\n
\n

{{'chat.tabs.settings.info.name.text' | translate}}

\n
{{senderName | translate}}
\n
\n \n
\n \n
\n
\n
\n\n
\n

{{'chat.tabs.settings.info.email.text' | translate}}

\n
{{'chat.tabs.settings.info.email.value' | translate}}
\n
\n\n
\n

{{'chat.tabs.settings.info.time.text' | translate}}

\n
{{'chat.tabs.settings.info.time.value' | translate}}
\n
\n\n
\n

{{'chat.tabs.settings.info.location.text' | translate}}

\n
{{'chat.tabs.settings.info.location.value' | translate}}
\n
\n
\n
\n \n \n
\n {{'chat.tabs.settings.privacy.title' | translate}}\n
\n
\n \n
\n
\n
\n
{{'chat.tabs.settings.privacy.photo' | translate}}
\n\n
\n \n
\n
\n
\n
\n
\n
{{'chat.tabs.settings.privacy.seen' | translate}}
\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
{{'chat.tabs.settings.privacy.status' | translate}}
\n
\n \n
\n
\n\n
\n
\n
\n
{{'chat.tabs.settings.privacy.receipt' | translate}}
\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
{{'chat.tabs.settings.privacy.groups' | translate}}
\n\n
\n \n
\n
\n
\n
\n \n \n
\n {{'chat.tabs.settings.security.title' | translate}}\n
\n
\n \n
\n
\n
\n
{{'chat.tabs.settings.security.text' | translate}}
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n {{'chat.tabs.settings.help.title' | translate}}\n
\n
\n \n \n \n
\n
\n \n
\n \n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-settings',\n templateUrl: './settings.component.html',\n styleUrls: ['./settings.component.scss']\n})\n/**\n * Tabs-settings component\n */\nexport class SettingsComponent implements OnInit {\n\n senderName:any;\n senderProfile:any;\n playerName:any;\n\n constructor() { }\n\n ngOnInit(): void {\n const user = window.localStorage.getItem('currentUser');\n this.senderName = JSON.parse(user).username\n this.playerName = JSON.parse(user).username\n this.senderProfile = 'assets/images/users/'+JSON.parse(user).profile\n }\n\n // User Profile Update\n imageURL: string | undefined;\n fileChange(event:any) { \n let fileList: any = (event.target as HTMLInputElement);\n let file: File = fileList.files[0];\n const reader = new FileReader();\n reader.onload = () => {\n this.imageURL = reader.result as string;\n document.querySelectorAll('#user_profile').forEach((element:any) => {\n element.src = this.imageURL;\n });\n }\n reader.readAsDataURL(file)\n }\n\n // User Name Update\n edit_userName(message) { \n this.playerName = this.senderName\n document.getElementById(\"user_name\").classList.toggle(\"visually-hidden\");\n document.getElementById(\"user_name_edit\").classList.toggle(\"visually-hidden\");\n document.getElementById(\"edit-user-name\").classList.toggle(\"visually-hidden\");\n }\n\n // User Name Update\nuserNameChange() {\n this.senderName = this.playerName\n document.getElementById(\"user_name\").classList.toggle(\"visually-hidden\");\n document.getElementById(\"edit-user-name\").classList.toggle(\"visually-hidden\");\n document.getElementById(\"user_name_edit\").classList.toggle(\"visually-hidden\");\n \n}\n\n}\n","import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { NgbDropdownModule, NgbAccordionModule, NgbModalModule, NgbCollapseModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\nimport { CarouselModule } from 'ngx-owl-carousel-o';\n\nimport { ProfileComponent } from './profile/profile.component';\nimport { ContactsComponent } from './contacts/contacts.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MenuChatComponent } from './menu-chat/menu-chat.component';\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: true\n};\n\n@NgModule({\n declarations: [ProfileComponent, ContactsComponent, SettingsComponent, MenuChatComponent],\n imports: [\n CarouselModule,\n CommonModule,\n NgbDropdownModule,\n NgbAccordionModule,\n PerfectScrollbarModule,\n NgbTooltipModule,\n NgbModalModule,\n NgbCollapseModule,\n TranslateModule,\n FormsModule\n ],\n exports: [ProfileComponent, ContactsComponent, SettingsComponent,MenuChatComponent],\n providers: [\n {\n provide: PERFECT_SCROLLBAR_CONFIG,\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\n }\n ]\n})\nexport class TabsModule { }\n","import { Component, ElementRef, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { PwaInstallService } from 'src/services/pwa-install.service';\nimport L from 'leaflet';\n\n@Component({\n selector: 'app-home-ce',\n templateUrl: './home-ce.component.html',\n styleUrls: ['./home-ce.component.css']\n})\nexport class HomeCeComponent {\n estouLogado: boolean\n constructor(private router: Router,\n private elementRef: ElementRef,\n private pwaInstallService: PwaInstallService\n ) { }\n\n baixarApp: boolean;\n mapa: any;\n\n ngOnInit(): void {\n const token = sessionStorage.getItem('token') \n\n if(token){\n console.log('estou logado')\n this.estouLogado = true\n }else{\n console.log('não estou logado')\n this.estouLogado = false\n }\n\n this.mapa = L.map('mapa', {\n center: [-4.04185, -38.6378], // Coordenadas do Ceará\n zoom: 10,\n maxBounds: L.latLngBounds([-5.0, -41.0], [-2.0, -37.0]) // Limites para o Ceará\n });\n\n L.tileLayer('https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png', {\n attribution: '© OpenStreetMap contributors © CARTO',\n subdomains: 'abcd',\n maxZoom: 20\n }).addTo(this.mapa);\n \n\n // this.mapa.scrollWheelZoom.disable();\n\n // this.mapa.on('zoomend', () => {\n // if (this.mapa.getZoom() < 16) {\n // this.mapa.setZoom(16); \n // }\n // });\n // Adiciona um marcador no CEP 61800-000 com um pop-up\n const marcador = L.marker([-4.07444722222, -38.6966722222]).addTo(this.mapa);\n marcador.bindPopup('Guaiúba (CE)
Propriedade particular
Tecnologias instaladas:
1. restauração ecológica
2. manejo sustentável do solo').openPopup();\n const marcador2 = L.marker([-4.04194444444, -38.645475]).addTo(this.mapa);\n marcador2.bindPopup('Guaiúba (CE)
Propriedade particular
Tecnologias instaladas:
1. restauração ecológica
2. manejo sustentável do solo').openPopup();\n const marcador3 = L.marker([-4.11136388889, -38.6950555556]).addTo(this.mapa);\n marcador3.bindPopup('Guaiúba (CE)
Assentamento Pedra d`água
Tecnologias instaladas:
1. Manejo sustentável do solo
2. sistema agroflorestal').openPopup();\n const marcador4 = L.marker([-4.07297222222, -38.6737222222]).addTo(this.mapa);\n marcador4.bindPopup('Guaiúba (CE)
Propriedade particular
Tecnologias instaladas:
Manejo sustentável do solo').openPopup();\n const marcador5 = L.marker([-4.07658888889, -38.6967583333]).addTo(this.mapa);\n marcador5.bindPopup('Guaiúba (CE)
Propriedade particular
Tecnologias instaladas:
Manejo sustentável do solo').openPopup();\n const marcador6 = L.marker([-4.04460555556, -38.6255805556]).addTo(this.mapa);\n marcador6.bindPopup('Guaiúba (CE)
EEEP José Ivanilton Nocrato
Tecnologias instaladas:
1. Manejo sustentável do solo
2. sistema agroflorestal').openPopup();\n const marcador7 = L.marker([-4.03727777778, -38.6320055556]).addTo(this.mapa);\n marcador7.bindPopup('Guaiúba (CE)
EEMTi José Tristão Filho
Tecnologias instaladas:
1. Manejo sustentável do solo
2. sistema agroflorestal').openPopup();\n const marcador8 = L.marker([-4.02063888889, -38.7831111111]).addTo(this.mapa);\n marcador8.bindPopup('Maranguape (CE)
Comunidades de Riacho Verde, Caboré e Mocozal
Tecnologias instaladas:
Saneamento básico').openPopup();\n const marcador9 = L.marker([-4.02980555556, -38.8079166667]).addTo(this.mapa);\n marcador9.bindPopup('Maranguape (CE)
Comunidades de Forquilha e Massapê
Tecnologias instaladas:
Saneamento básico').openPopup();\n \n\n }\n \n\n installPWA() {\n if (!this.pwaInstallService.isPWAInstalled()) {\n alert(\"Deseja baixar aplicativo para ter uma experiencia melhor ?\")\n this.pwaInstallService.installPWA();\n }\n else {\n alert(\"Aplicativo ja instalado\")\n }\n }\n\n irParaTelaLogin() {\n this.router.navigate(['/login']);\n }\n\n getCookie(name: string): string | null {\n const cookies: string[] = document.cookie.split(';');\n for (let i = 0; i < cookies.length; i++) {\n const cookie: string = cookies[i].trim();\n if (cookie.startsWith(name + '=')) {\n return cookie.substring(name.length + 1);\n }\n }\n return null;\n }\n\n irParaCadastro() {\n this.router.navigate(['/cadastro_usuario']);\n }\n\n scrollToDiv(divId: string) {\n const targetDiv = document.getElementById(divId);\n if (targetDiv) {\n targetDiv.scrollIntoView({ behavior: 'smooth' });\n }\n }\n}\n","\n\n
\n
\n \n
\n Inicio\n \"\"\n
\n \n \n \n \n \n \n \n
\n
entrar
\n \"\"\n
\n
\n
download
\n \"\"\n
\n\n\n
\n\n\n\n
\n\n\n \n
\n\n \n
\n
\n \"\"\n

Recarrega

\n

• Ceará •

\n\n
\n
\n\n
\n
\n Execução:\n
\n Agosto/2021 até o momento\n
\n
\n
\n A partir da metodologia de recarga hídrica desenvolvida em conjunto com a Fundación Avina, o projeto\n Recarrega busca solucionar o problema da conservação e da segurança hídrica através da implementação de\n tecnologias sociais de forma colaborativa e integrada, garantindo também segurança alimentar e geração de\n renda.\n
\n
\n\n\n
\n
\n\n
\n\n
\n
\n \n
\n\n
\n\n
\n\n \n\n
\n\n Com adesão de parceiros, são ofertados espaços estratégicos para instalação destas tecnologias, buscando\n contribuir com a conservação de água e da biodiversidade dos açudes Gavião, Riachão e Pacoti, fontes\n responsáveis pelo abastecimento de água da região metropolitana de Fortaleza. \n
\n
\n\n
\n
\n Onde\n estamos?\n\n
\n
\n
\n
\n
\n

CONHEÇA AS HORTAS DO PROJETO

\n
\n
\n\n\n\n
\n \n
\n\n\n\n
\n
\n © 2023 Agir Ambiental, Todos os direitos reservados\n
\n\n
\n\n
","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-patrocinadores-ce',\n templateUrl: './patrocinadores-ce.component.html',\n styleUrls: ['./patrocinadores-ce.component.css']\n})\nexport class PatrocinadoresCeComponent {\n\n constructor(private router: Router\n ) { }\n\n\n IrParaCadastro() {\n this.router.navigate(['/cadastro_usuario']);\n }\n\n}\n","\n\n\n
\n
\n
\n
\n
Você e sua comunidade também podem fazer parte desse movimento!
\n
Cadastre-se na plataforma para acompanhar as atividades do projeto.
\n
\n
\n
\n

CONHEÇA AS HORTAS DO PROJETO

\n
\n
\n
\n
\n\n
\n\n
\n
Realização
\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n
\n\n
\n\n\n
\n\n
\n \n
\n
\n
\n
Parceiros
\n
\n
\n \"Slide\n
\n
\n\n
\n
\n
\n
\n
Apoio
\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n
\n\n
\n
\n\n\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-sobre-recarrega-ce',\n templateUrl: './sobre-recarrega-ce.component.html',\n styleUrls: ['./sobre-recarrega-ce.component.css']\n})\nexport class SobreRecarregaCeComponent {\n\n}\n","
\n\n
No Ceará.\n\n

O Recarrega\n atua principalmente junto a:

\n\n
\n\n
\n
\n
Organizações públicas e privadas
\n
\n
\n
Instituições de ensino
\n
\n
\n
Produtores rurais
\n
\n
\n
Viveiristas
\n
\n
\n\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-tecnologias-sociais-ce',\n templateUrl: './tecnologias-sociais-ce.component.html',\n styleUrls: ['./tecnologias-sociais-ce.component.css']\n})\nexport class TecnologiasSociaisCeComponent {\n\n}\n","
\n

Implementando tecnologias sociais

\n

(soluções de baixo custo\n e fáceis de replicar) como: 

\n
\n\n
\n
\n \n \n\n\n \n
\n
\n \n \n
\n\n \n
\n
\n \n \n
\n\n \n
\n
\n \n \n
\n \n
\n
\n \n \n
\n \n\n\n\n \n\n\n \n \n\n \n\n\n \n\n\n \n\n
\n
","
\n\n\n\n\n
\n
\n
\n \n
\n
\n
\n\n\n\n
\n
\n
\n \n
\n
\n
{{ evento.descricao }}
\n
{{ formatarDataHora(evento.horario) }}h
\n
\n
\n\n
\n\n
","import { Component, ElementRef } from '@angular/core';\nimport { Atividades_service } from 'src/services/Atividades.service';\nimport { DataService } from 'src/services/dataService';\nimport { DatePipe } from '@angular/common';\n\n\ninterface Cidade {\n id: number;\n nome: string;\n temas: { id: number; nomeTema: string }[];\n}\n\ninterface Atividade {\n id_Atividade: number;\n id_tema: number;\n descricao: string;\n horario: string;\n descricao_completa: string,\n local: string,\n cidade_id: number,\n}\n\n@Component({\n selector: 'app-atividades',\n templateUrl: './atividades.component.html',\n styleUrls: ['./atividades.component.css']\n})\nexport class AtividadesComponent {\n horarioFormatado: string;\n cidadeSelecionada: number = 1;\n temaSelecionado: number | null = null;\n eventosRecentes: Atividade[] = [];\n cidadesMockadas: any[] = []; // Vamos buscar as cidades do serviço agora\n eventos: Atividade[] = [];\n baseUploadUrl = 'https://api.recarrega.app.br/uploads/';\n uploadCaminho(caminho: string) {\n const caminhoCompleto = this.baseUploadUrl + caminho;\n }\n constructor(private atividadesService: Atividades_service,\n private dataservice: DataService,\n private elementRef: ElementRef,\n private datePipe: DatePipe) { }\n\n\n ngOnInit() {\n // Definir o primeiro ID como valor inicial selecionado\n\n this.atividadesService.getAtividades().subscribe(\n (data: Atividade[]) => {\n this.eventos = data;\n\n // Chame a função para carregar os eventos iniciais após obter os dados\n this.carregarTemaInicial();\n },\n (error) => {\n console.error('Erro ao buscar eventos:', error);\n }\n );\n\n this.atividadesService.getCidadeTema().subscribe(\n (data: any) => {\n this.cidadesMockadas = data;\n console.log(this.cidadesMockadas[0].id)\n this.cidadeSelecionada = this.cidadesMockadas[0].id;\n\n // Carregar o tema inicial\n this.carregarTemaInicial();\n },\n (error) => {\n console.error('Erro ao buscar cidades e temas:', error);\n }\n );\n\n this.atividadesService.getAtividades().subscribe(\n (data: Atividade[]) => {\n this.eventos = data;\n // Call the method to load initial events after getting the data\n\n this.carregarTemaInicial();\n },\n (error) => {\n console.error('Erro ao buscar eventos:', error);\n }\n );\n\n }\n\n formatarDataHora(dataHora: string): string {\n const dataHoraObj = new Date(dataHora);\n return this.datePipe.transform(dataHoraObj, 'dd/MM/yyyy HH:mm');\n }\n\n carregarTemaInicial() {\n const temas = this.getTemasCidadeSelecionada();\n if (temas.length > 0) {\n this.temaSelecionado = temas[0].id;\n this.carregarEventosRecentes();\n } else {\n this.temaSelecionado = null;\n this.eventosRecentes = [];\n }\n }\n\n getTemasCidadeSelecionada(): { id: number; nomeTema: string }[] {\n const cidadeSelecionada = this.cidadesMockadas.find(\n (cidade) => cidade.id == this.cidadeSelecionada\n );\n\n return cidadeSelecionada ? cidadeSelecionada.temas : [];\n }\n\n selecionarTema(tema: { id: number; nomeTema: string }) {\n this.temaSelecionado = tema.id;\n this.carregarEventosRecentes();\n }\n\n carregarEventosRecentes() {\n const eventos = this.getEventosRecentes();\n this.eventosRecentes = eventos.slice(0, 4);\n }\n\n getEventosRecentes() {\n const eventosFiltrados = this.eventos.filter((evento) => evento.id_tema == this.temaSelecionado && evento.cidade_id == this.cidadeSelecionada) || [];\n\n // Logica oara ordenar as atividades do para vim do mais recente em cima pro ususarios\n eventosFiltrados.sort((a, b) => {\n const horarioA = new Date(b.horario).getTime();\n const horarioB = new Date(a.horario).getTime();\n\n // Comparando os timestamps\n return horarioB - horarioA;\n });\n\n const eventosRecentes = eventosFiltrados.slice(0, 3);\n\n //console.log(eventosRecentes);\n return eventosRecentes;\n\n\n }\n\n /*Modal atividades*/\n showModal: boolean = false;\n id_Atividades: number;\n\n openModal(idAtividade: number) {\n console.log(idAtividade)\n this.id_Atividades = idAtividade;\n this.dataservice.setAtividadeId(this.id_Atividades); // Define o valor do ID usando o serviço compartilhado\n this.showModal = true;\n this.scrollToDiv('ref_modal')\n }\n\n closeModal() {\n this.showModal = false;\n this.id_Atividades = null;\n this.dataservice.Resetclick();\n\n }\n\n onOutsideClick(event: MouseEvent): void {\n const modalContent = this.elementRef.nativeElement.querySelector('.modal-container');\n\n if (modalContent != null) {\n\n if (this.showModal && this.dataservice.clickCount >= 1) {\n const clickedElement = event.target as HTMLElement;\n\n if (clickedElement !== modalContent && !(modalContent as HTMLElement).contains(clickedElement)) {\n console.log('resetando contangem')\n this.closeModal();\n }\n\n } else {\n this.dataservice.incrementClick();\n }\n }\n }\n\n scrollToDiv(divId: string) {\n const targetDiv = document.getElementById(divId);\n if (targetDiv) {\n targetDiv.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n onRequisitarNovamente() {\n // Coloque aqui a lógica para fazer a nova requisição\n // this.Carrega_cidade_tema_full();\n console.log('Evento recebido para requisitar novamente');\n // ...\n }\n irParaNovidades() {\n // this.router.navigate(['/modulos/novidades']);\n }\n}\n","import { Component, ElementRef, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { PwaInstallService } from 'src/services/pwa-install.service';\n\n\n@Component({\n selector: 'app-home-page',\n templateUrl: './home-page.component.html',\n styleUrls: ['./home-page.component.css']\n})\n\n\nexport class HomePageComponent implements OnInit {\n\n constructor(private router: Router,\n private elementRef: ElementRef,\n private pwaInstallService: PwaInstallService\n ) { }\n\n baixarApp: boolean;\n\n ngOnInit(): void {\n\n this.pwaInstallService.setupInstallBanner();\n const tokenCache = this.getCookie('token');\n if (tokenCache) {\n sessionStorage.setItem('token', tokenCache);\n this.router.navigate(['/modulos/index']);\n }\n else {\n // O usuário não está autenticado\n }\n }\n // Funcao para ancorar navegacao na home\n scrollToDiv(divId: string): void {\n const targetElement = this.elementRef.nativeElement.querySelector('#' + divId);\n if (targetElement) {\n targetElement.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n installPWA() {\n if (!this.pwaInstallService.isPWAInstalled()) {\n alert(\"Deseja baixar aplicativo para ter uma experiencia melhor ?\")\n this.pwaInstallService.installPWA();\n }\n else {\n alert(\"Aplicativo ja instalado\")\n }\n }\n\n irParaTelaLogin() {\n this.router.navigate(['/login']);\n }\n\n getCookie(name: string): string | null {\n const cookies: string[] = document.cookie.split(';');\n for (let i = 0; i < cookies.length; i++) {\n const cookie: string = cookies[i].trim();\n if (cookie.startsWith(name + '=')) {\n return cookie.substring(name.length + 1);\n }\n }\n return null;\n }\n\n irParaCadastro() {\n this.router.navigate(['/cadastro_usuario']);\n }\n\n /*Meotodo para abrir o modal de recarga-hdrica:\n O componente possui um contador de cliques (`clickCount`) para rastrear os cliques fora do modal.\n Quando o modal estiver aberto e ocorrer um clique fora dele, o modal será fechado somente no segundo clique fora do modal,\n permitindo interações no primeiro clique. O contador é incrementado para rastrear o primeiro clique e resetado após o \n segundo clique, garantindo o comportamento desejado.*/\n showModal: boolean = false;\n selectedButton: number | null = null;\n\n openModal(buttonNumber: number) {\n this.selectedButton = buttonNumber;\n this.showModal = true;\n }\n closeModal() {\n this.showModal = false;\n this.selectedButton = null;\n }\n private clickCount = 0;\n\n onOutsideClick(event: MouseEvent): void {\n console.log(this.clickCount);\n if (this.showModal && this.clickCount === 1) {\n const modalContent = this.elementRef.nativeElement.querySelector('.modal-content');\n const clickedElement = event.target as HTMLElement;\n\n if (clickedElement !== modalContent && !(modalContent as HTMLElement).contains(clickedElement)) {\n this.clickCount = 0;\n this.closeModal();\n }\n\n } else if (this.showModal) {\n this.clickCount++;\n }\n }\n\n \n\n}\n","\n\n\n\n \n \n\n\n\n
\n
\n
\n
\n
\n \"\"\n
\n\n\n
\n
\n Atividades\n Novidades\n Tecnologias sociais\n\n
\n \"\"\n\n Recarrega\n
\n
\n \"\"\n \n \n

Participe,

\n

é gratuito

\n
\n
\n
\n
\n \"\"\n próximas atividades\n
\n\n \n\n
\n Nossos resultados\n\n
\n
\n
\n
\n
\n
\n
\n Recarga hídrica\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \"\"\n\n
2
\n
\n
\n \"\"\n\n \"\"\n\n \"\"\n\n \"\"\n\n
\n
\n \"\"\n\n
3
\n
\n
\n
\n
\n \"\"\n\n
4
\n
\n
\n
\n
\n
\n \"\"\n\n
1
\n
\n
\n \n \n \n \"\"\n\n
\n
149,8
\n
m³ de água recarregada
\n
\n
\n
214
\n
tecnologias implementadas
\n
\n
\n
\n 0\n kg\n
\n
de alimentos produzidos
\n
\n
\n
\n \"\"\n\n
\n
\n 2040\n \n
\n
\n \n

pessoas

\n

empoderadas

\n
\n
\n
\n
\n
\n \"\"\n\n
\n R$\n 1,5\n mil\n \n
\n
\n \n

de renda

\n

gerada

\n
\n
\n
\n \n \n\n
\n © 2023 Agir Ambiental, Todos os direitos reservados\n
\n
\n Nosso propósito é contribuir com a conservação e a recarga hídica através de tecnologias sociais, que são implementadas\n de forma colaborativa e integrada para adaptação às mudanças climáticas, segurança hídrica e alimentar, geração de renda\n e empoderamento.\n
\n Atividades\n\n\n
\n
\n
\n \n
\n Inicio\n \"\"\n
\n \n \n \n \n \n \n \n
\n
entrar
\n \"\"\n
\n
\n
download
\n \"\"\n
\n\n \n
\n
\n\n \n\n\n\n\n","\n
\n\n\"\"\n\"\"\n\"\"\n\n
\n
\n
\n\nO que é pobreza menstrual?\nPor que conservar?\nO que são tecnologias sociais baseadas na natureza?\n\n\n\"\"\n\"\"\n\"\"\n
\n","import { Component, ElementRef, OnDestroy, NgZone } from '@angular/core';\nimport { DataService } from 'src/services/dataService';\nimport { Subscription } from 'rxjs';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-novidade',\n templateUrl: './novidade.component.html',\n styleUrls: ['./novidade.component.css']\n})\nexport class NovidadeComponent {\n\n showModal: boolean = false;\n selectedButton: number | null = null;\n clickCount: number = 0;\n elementoRefModalNovidadesSubscription: Subscription | undefined;\n isWebShareSupported: boolean;\n\n\n constructor(\n private router: Router\n ) {\n // this.isWebShareSupported = 'share' in navigator;\n }\n\n ngOnInit() {\n // Verifica se a API navigator.share está disponível\n if (navigator.share) {\n this.isWebShareSupported = true;\n } else {\n }\n }\n\n // openModal(button: number): void {\n // console.log('abrindo modal');\n // this.showModal = true;\n // this.selectedButton = button;\n // this.clickCount = 0;\n\n // // Adicionar evento de clique fora do modal\n // this.ngZone.runOutsideAngular(() => {\n // document.addEventListener('click', this.onDocumentClick);\n // });\n // }\n\n compartilharLink(url,titulo,text) {\n if (navigator.share) {\n navigator.share({\n title: titulo,\n text: text,\n url: 'https://www.recarrega.app.br/model/novidades/'+url,\n })\n .then(() => console.log('Conteúdo compartilhado com sucesso!'))\n .catch((error) => console.error('Erro ao compartilhar conteúdo:', error));\n }\n }\n openComponenteModal(button: number): void {\n this.selectedButton = button;\n // Navegar para o caminho desejado com o valor de button como parâmetro\n setTimeout(() => {\n this.router.navigate(['/model/novidades', button]);\n }, 100);\n }\n\n\n}\n","import { Component, ElementRef, AfterViewInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-patrocinadores',\n templateUrl: './patrocinadores.component.html',\n styleUrls: ['./patrocinadores.component.css']\n})\n\nexport class PatrocinadoresComponent {\n\n constructor(private router:Router){\n\n }\n\n irParahomeSp(){\n this.router.navigate(['home_sp'])\n }\n\n irParahomeCe(){\n this.router.navigate(['home_ce'])\n }\n\n}\n","O Recarrega\n
\n \"\"\n Recarrega\n
\n\n
\n
\n
\n
\n
São Paulo
\n
\n
\n
\n
\n
\n
Ceará
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n \n
\n
\n
\n Realização\n \n
\n
\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n
\n
\n
\n Patrocinador\n \n
\n
-\n\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n \n
\n\n
\n
\n Parceiro\n \n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-tecnologias-socias',\n templateUrl: './tecnologias-socias.component.html',\n styleUrls: ['./tecnologias-socias.component.css']\n})\nexport class TecnologiasSociasComponent {\n\n}\n","
\n
\n \n \n \n \n \n
\n
\n \n \n
\n \n \n
\n
\n \n \n
\n \n \n
\n
\n \n \n
\n \n
\n
\n \n \n
\n \n
\n
\n \n \n
\n \n \n \n
\n
\n \n \n
\n \n \n
\n
\n \n \n
\n \n \n
\n
\n \n \n
\n \n \n
\n
\n \n \n
\n \n \n
\n
\n \n \n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-caire',\n templateUrl: './caire.component.html',\n styleUrls: ['./caire.component.css']\n})\nexport class CaireComponent {\n\n}\n","
\n\n
\n

Cairé

\n
Em parceria com a cooperativa de costureiras formada através das oficinas promovidas pelo Recarrega em São Paulo, a Cairé atua na produção e venda de absorventes reutilizáveis. 
\n

A marca

\n
\n
\n
\n \"\"\n\n
\n\n
\n
\n
- Estimula a autonomia financeira das mulheres em situação de vulnerabilidade
\n
- Promove o desenvolvimento de um pensamento crítico sobre questões de saúde das pessoas que menstruam
\n
- Repensa o impacto ambiental dos absorventes descartáveis
\n\n \n
\n\n \n
\n

PARA SABER MAIS:

\n\n
\n
\n \"\"\n \n
\n
\n \"\"\n
\n
\n
\n
\n \n
\n
","import { Component, ElementRef, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { PwaInstallService } from 'src/services/pwa-install.service';\nimport L from 'leaflet';\n\n\n@Component({\n selector: 'app-home-sp',\n templateUrl: './home-sp.component.html',\n styleUrls: ['./home-sp.component.css']\n})\nexport class HomeSpComponent {\n estouLogado: boolean\n constructor(private router: Router,\n private elementRef: ElementRef,\n private pwaInstallService: PwaInstallService\n ) { }\n\n baixarApp: boolean;\n mapa: any;\n overlayMaps: any = {}; // Objeto para armazenar as camadas adicionais\n\n\n ngOnInit(): void {\n\n\n\n const token = sessionStorage.getItem('token') \n\n if(token){\n this.estouLogado = true\n }else{\n this.estouLogado = false\n }\n\n console.log(this.estouLogado)\n \n this.mapa = L.map('mapa', {\n center: [-23.5505, -46.6333], // Coordenadas de São Paulo\n zoom: 12,\n maxBounds: L.latLngBounds([-24.0, -47.0], [-23.0, -45.0]) // Limites para São Paulo\n });\n\n // https://leaflet-extras.github.io/leaflet-providers/preview/ layers diferentes\n L.tileLayer('https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png', {\n attribution: '© OpenStreetMap contributors © CARTO',\n subdomains: 'abcd',\n maxZoom: 20\n }).addTo(this.mapa);\n \n\n // this.mapa.scrollWheelZoom.disable();\n\n // this.mapa.on('zoomend', () => {\n // if (this.mapa.getZoom() < 16) {\n // this.mapa.setZoom(16); // Define o nível de zoom mínimo\n // }\n // });\n // Adiciona um marcador no CEP 05569-120 com um pop-up\n // Cria os marcadores\n const marcador1 = L.marker([-23.5801, -46.7000]).bindPopup('EE JOÃO XXIII - OFICINAS PRÁTICAS');\n // const marcador2 = L.marker([-23.5600, -46.6200]).bindPopup('Outro pop-up');\n\n // Adiciona os marcadores às camadas de grupo individuais\n const marcadorLayer1 = L.layerGroup([marcador1]).addTo(this.mapa);\n // const marcadorLayer2 = L.layerGroup([marcador2]).addTo(this.mapa);\n\n // Adiciona as camadas de grupo ao objeto overlayMaps individualmente\n this.overlayMaps[\"Marcador 1\"] = marcadorLayer1;\n // this.overlayMaps[\"Marcador 2\"] = marcadorLayer2;\n\n // Configura o controle de camadas\n L.control.layers(null, this.overlayMaps).addTo(this.mapa)\n\n\n\n \n}\n\n installPWA() {\n if (!this.pwaInstallService.isPWAInstalled()) {\n alert(\"Deseja baixar aplicativo para ter uma experiencia melhor ?\")\n this.pwaInstallService.installPWA();\n }\n else {\n alert(\"Aplicativo ja instalado\")\n }\n }\n\n irParaTelaLogin() {\n this.router.navigate(['/login']);\n }\n\n getCookie(name: string): string | null {\n const cookies: string[] = document.cookie.split(';');\n for (let i = 0; i < cookies.length; i++) {\n const cookie: string = cookies[i].trim();\n if (cookie.startsWith(name + '=')) {\n return cookie.substring(name.length + 1);\n }\n }\n return null;\n }\n\n irParaCadastro() {\n this.router.navigate(['/cadastro_usuario']);\n }\n\n IrParaHortas(){\n this.router.navigate(['/modulos/hortas'])\n }\n\n scrollToDiv(divId: string) {\n const targetDiv = document.getElementById(divId);\n if (targetDiv) {\n targetDiv.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n}\n","\n\n\n
\n
\n \n
\n Inicio\n \"\"\n
\n \n \n \n \n \n \n \n
\n
entrar
\n \"\"\n
\n
\n
download
\n \"\"\n
\n\n \n
\n\n\n\n
\n\n\n \n
\n\n \n
\n
\n \"\"\n

Recarrega

\n

• São Paulo •

\n\n
\n
\n\n
\n
\n Execução:\n
\n fevereiro/2023 até o momento\n
\n
\n
\n A partir de metodologia de recarga hídrica desenvolvida pelo Agir Ambiental e Fundación Avina,\n o projeto Recarrega busca promover a conservação e a segurança hídrica através da implementação de\n tecnologias sociais de forma colaborativa e integrada, garantindo também\n segurança alimentar, geração de renda e empoderamento feminino.\n Com a nossa rede de organizações e comunidades apoiadoras, o Recarrega está presente nas cidades de\n Embu das Artes, Guarulhos, Santo André e São Paulo (região oeste).\n
\n
\n\n\n
\n
\n\n
\n\n
\n
\n \n
\n\n
\n\n
\n\n \n\n
\n \n Com adesão de parceiros, são ofertados espaços estratégicos para instalação destas tecnologias, buscando\n contribuir com a conservação de água e da biodiversidade dos açudes Gavião, Riachão e Pacoti, fontes\n responsáveis pelo abastecimento de água da região metropolitana de Fortaleza. \n
\n
\n\n
\n
\n Onde\n estamos?\n\n
\n
\n
\n
\n
\n

CONHEÇA AS HORTAS DO PROJETO

\n
\n
\n\n\n \n \n\n\n
\n \n
\n\n\n\n
\n
\n © 2023 Agir Ambiental, Todos os direitos reservados\n
\n\n
\n\n
","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-patrocinadores-sp',\n templateUrl: './patrocinadores-sp.component.html',\n styleUrls: ['./patrocinadores-sp.component.css']\n})\nexport class PatrocinadoresSpComponent {\n\n constructor(private router: Router\n ) { }\n\n\n irParaCadastro() {\n this.router.navigate(['/cadastro_usuario']);\n }\n\n}\n","\n\n\n
\n
\n
\n
\n
Você e sua comunidade também podem fazer parte desse movimento!
\n
Cadastre-se na plataforma para acompanhar as atividades do projeto.
\n
\n
\n
\n

CONHEÇA AS HORTAS DO PROJETO

\n
\n
\n
\n
\n\n
\n\n
\n
Realização
\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n
\n\n
\n\n\n
\n\n
\n \n
\n
\n
\n
Parceiros
\n
\n
\n \"Slide\n
\n \n
\n \"Slide\n
\n
\n \"Slide\n
\n
\n \"Slide\n
\n
\n\n
\n
\n\n\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-sobre-recarrega-sp',\n templateUrl: './sobre-recarrega-sp.component.html',\n styleUrls: ['./sobre-recarrega-sp.component.css']\n})\nexport class SobreRecarregaSpComponent {\n\n}\n","
\n\n
Em São Paulo.\n \n

O Recarrega \n atua principalmente junto a:

\n \n
\n \n
\n
\n
Comunidades em situação de vulnerabilidade social
\n
\n
\n
Mulheres
\n
\n
\n
Jovens
\n
\n
\n
Agricultores familiares
\n
\n
\n
Instituições de ensino
\n
\n
\n
Espaços comunitários
\n
\n \n
\n \n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-tecnologias-socias-sp',\n templateUrl: './tecnologias-socias-sp.component.html',\n styleUrls: ['./tecnologias-socias-sp.component.css']\n})\nexport class TecnologiasSociasSpComponent {\n\n scrollToDiv(divId: string) {\n const targetDiv = document.getElementById(divId);\n if (targetDiv) {\n targetDiv.scrollIntoView({ behavior: 'smooth' });\n }\n }\n}\n","
\n

Implementando tecnologias sociais

\n

(soluções de baixo custo\n e fáceis de replicar) como: 

\n
\n\n
\n
\n \n \n\n\n \n
\n
\n \n \n
\n\n \n
\n
\n \n \n
\n\n \n
\n
\n \n \n
\n \n
\n
\n \n \n
\n \n\n\n\n \n\n\n \n \n\n \n\n\n \n\n\n \n\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthService } from 'src/services/Auth_service';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements OnInit {\n isLoading: boolean = false; // variavel responsavel por mostrar carregamento enquanto faz alguma requisicao\n public loginForm: FormGroup;\n public submitted = false;\n\n\n passwordErrorMessage: string = '';\n showEmailError: boolean = false;\n showPasswordError: boolean = false;\n\n emailErrorMessage: string = '';\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private authService: AuthService,\n private formBuilder: FormBuilder\n ) {\n this.loginForm = this.formBuilder.group({\n email: ['', Validators.required],\n password: ['', Validators.required]\n });\n }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(params => {\n const token = params['token'];\n if (token) {\n sessionStorage.setItem('token', token);\n const oneMonthInMilliseconds = 30 * 24 * 60 * 60 * 1000; // 30 days * 24 hours * 60 minutes * 60 seconds * 1000 milliseconds\n document.cookie = `token=${token}; expires=${new Date(Date.now() + oneMonthInMilliseconds).toUTCString()}; path=/`;\n this.router.navigate(['/modulos/index']);\n } else {\n // Lógica específica para autenticação usando o Google\n }\n\n });\n\n const tokenCache = this.getCookie('token');\n if (tokenCache) {\n sessionStorage.setItem('token', tokenCache);\n this.router.navigate(['/modulos/index']);\n\n }\n else {\n // O usuário não está autenticado\n }\n\n }\n\n getCookie(name: string): string | null {\n const cookies: string[] = document.cookie.split(';');\n for (let i = 0; i < cookies.length; i++) {\n const cookie: string = cookies[i].trim();\n if (cookie.startsWith(name + '=')) {\n return cookie.substring(name.length + 1);\n }\n }\n return null;\n }\n\n irParaTelaHome() {\n this.router.navigate(['/home']);\n }\n irParaTelaCadastroUser() {\n this.router.navigate(['/cadastro_usuario']);\n }\n irParaAlterasenha() {\n this.router.navigate(['/email']);\n }\n\n inputEmail() {\n this.showEmailError = false;\n this.emailErrorMessage = '';\n }\n\n inputPassword() {\n this.showPasswordError = false;\n this.passwordErrorMessage = '';\n }\n\n onSubmit() {\n const email = this.loginForm.get('email')?.value;\n const password = this.loginForm.get('password')?.value;\n\n if (!email || email.trim() === '' || !this.validateEmail(email)) {\n this.showEmailError = true;\n this.emailErrorMessage = 'E-mail inválido ou em branco';\n return;\n }\n\n if (!password || password.trim() === '') {\n this.showPasswordError = true;\n this.passwordErrorMessage = 'Senha inválida ou em branco';\n return;\n }\n\n // Verifica se o cookie com o token existe\n this.isLoading = true;\n\n this.authService.login(email, password).subscribe(\n (response: any) => {\n // Armazena o token na sessionStorage\n sessionStorage.setItem('token', response.access_token);\n const oneMonthInMilliseconds = 30 * 24 * 60 * 60 * 1000; // 30 days * 24 hours * 60 minutes * 60 seconds * 1000 milliseconds\n document.cookie = `token=${response.access_token}; expires=${new Date(Date.now() + oneMonthInMilliseconds).toUTCString()}; path=/`;\n // Redireciona para a rota desejada\n this.isLoading = false;\n this.router.navigate(['/modulos/index']);\n },\n (error) => {\n // Logic for login error\n\n\n const errorMessage = error.error.message;\n // console.log('Mensagem de erro:', errorMessage);\n\n this.isLoading = false;\n if (error.error.message == 'E-mail não foi validado') {\n this.showEmailError = true;\n this.emailErrorMessage = 'E-mail não foi validado';\n return;\n\n }\n // Caso nao haja problema com o e-mail.\n this.showPasswordError = true;\n this.passwordErrorMessage = 'Erro ao fazer login. Verifique suas credenciais.';\n\n }\n );\n\n\n }\n\n validateEmail(email: string): boolean {\n // Implemente a lógica de validação do e-mail aqui\n // Pode usar expressões regulares ou outras técnicas de validação\n // Neste exemplo, verifica apenas se contém um '@' no e-mail\n return email.includes('@');\n }\n\n loginWithGoogle() {\n this.authService.loginWithGoogle();\n }\n\n\n}\n","
\n \n\n
\n
\n
\n < VOLTAR
\n
\n
\n
\n \"\"\n
\n
\n
\n

Entrar

\n
\n
\n
\n
\n \n
\n
\n \n
\n\n \n
\n
\n
\n
\n \n {{ emailErrorMessage\n }}\n
\n\n
\n \n {{ passwordErrorMessage\n }}\n
\n
\n
\n \n \n

LEMBRAR SENHA

\n

ALTERAR SENHA

\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n < VOLTAR
\n
\n
\n
\n
\n
","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport L from 'leaflet';\n\n@Component({\n selector: 'app-mapa',\n templateUrl: './mapa.component.html',\n styleUrls: ['./mapa.component.css']\n})\nexport class MapaComponent implements OnInit, OnDestroy {\n\n mapa: any;\n\n ngOnInit(): void {\n this.mapa = L.map('mapa', {\n center: [-23.5505, -46.6333], // Coordenadas de São Paulo\n zoom: 12,\n maxBounds: L.latLngBounds([-24.0, -47.0], [-23.0, -45.0]) // Limites para São Paulo\n });\n\n L.tileLayer('https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.jpg', {\n attribution: '© Stamen Design, © OpenStreetMap contributors',\n maxZoom: 20\n }).addTo(this.mapa);\n \n\n this.mapa.scrollWheelZoom.disable();\n\n this.mapa.on('zoomend', () => {\n if (this.mapa.getZoom() < 12) {\n this.mapa.setZoom(12); // Define o nível de zoom mínimo\n }\n });\n\n // Adiciona um marcador no CEP 05569-120 com um pop-up\n const marcador = L.marker([-23.5801, -46.7000]).addTo(this.mapa);\n marcador.bindPopup('Evento Horta').openPopup();\n\n\n // Adiciona um botão fora do mapa que, ao ser clicado, move para o marcador com zoom\n const botaoExterno = document.createElement('button');\n botaoExterno.innerHTML = 'Ir para Evento Horta';\n botaoExterno.addEventListener('click', () => {\n\n\n this.mapa.flyTo([-23.5801, -46.7000], 16); // 16 é o nível de zoom desejado\n });\n\n\n\n // Adiciona o botão ao corpo do documento\n document.body.appendChild(botaoExterno);\n }\n\n\n\n\n\nngOnDestroy() {\n this.mapa.invalidateSize();\n}\n}\n","
\n","// import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Location } from '@angular/common';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { ForumService } from 'src/services/Forum_Service';\nimport { Component, ElementRef, HostListener } from '@angular/core';\nimport { UserService } from 'src/services/user.service';\n\n@Component({\n selector: 'app-menu-desk',\n templateUrl: './menu-desk.component.html',\n styleUrls: ['./menu-desk.component.css']\n})\nexport class MenuDeskComponent {\n\n urlAtual: string;\n userInfo: any; // Armazenar� as informa��es do usu�rio\n\n private apiUrl: string;\n\n constructor(\n private router: Router,\n private location: Location,\n private http: HttpClient,\n private forumService: ForumService,\n private elementRef: ElementRef,\n private userService: UserService,\n ){\n this.urlAtual = this.location.path();\n }\n\n SelecionarItem(Item: string){\n \n }\n\n irParaTelaLogin() {\n this.router.navigate(['/login']);\n }\n\n irParaChat(tipo: string) {\n this.router.navigate(['/modulos/chat', tipo]);\n }\n\n irParaMural() {\n this.router.navigate(['/modulos/index']);\n }\n\n irParaaprenda() {\n this.router.navigate(['/modulos/aprenda']);\n }\n\n irParaMonitore() {\n this.router.navigate(['/modulos/monitore']);\n }\n irParaMapeia() {\n this.router.navigate(['/modulos/mapeie']);\n }\n\n irParausuarios() {\n this.router.navigate(['modulos/usuario']);\n }\n\n irParaColabore(tipo: string) {\n this.router.navigate(['modulos/chat', tipo]);\n }\n\n\n irParaRotaHome() {\n this.router.navigate(['modulos/rota_home']);\n }\n\n irParaORecarrega(){\n this.router.navigate(['/modulos/rota_home']);\n }\n\n logout(): void {\n console.log('saindo')\n const token = sessionStorage.getItem('token');\n //Removendo token do cookie\n if (token) {\n document.cookie = 'token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';\n sessionStorage.removeItem('token');\n this.userInfo = null;\n window.location.reload(); // Atualiza a p�gina\n\n }\n }\n\n}\n","
\n
\n
INÍCIO
\n
COLABORE
\n
APRENDA
\n
SUPORTE
\n
MONITORE
\n
MAPEIE
\n
O RECARREGA
\n
MEU PERFIL
\n
SAIR
\n
\n \n
","import { Component, Input, Output, EventEmitter, ElementRef } from '@angular/core';\nimport { DataService } from 'src/services/dataService';\nimport { Subscription } from 'rxjs';\nimport { Atividades_service } from 'src/services/Atividades.service';\nimport { Router } from '@angular/router';\nimport { ForumService } from 'src/services/Forum_Service';\nimport { DatePipe } from '@angular/common';\n\n\n\n\ninterface Atividade {\n id_Atividade: number;\n id_tema: number;\n descricao: string;\n horario: string;\n}\n\n@Component({\n selector: 'app-modal-atividades-usuarios',\n templateUrl: './modal-atividades-usuarios.component.html',\n styleUrls: ['./modal-atividades-usuarios.component.scss']\n})\nexport class ModalAtividadesUsuariosComponent {\n\n atividadeId: number | null = null;\n private subscription: Subscription;\n\n\n @Input() eventos: Atividade[] = [];\n @Input() showModal: boolean = false;\n @Input() MinhdasAtividades: boolean = false;\n @Input() modalPosition: string = '0';\n\n @Output() closeModal: EventEmitter = new EventEmitter();\n @Output() FazerRequisicaoUsers: EventEmitter = new EventEmitter();\n baseUploadUrl = 'https://api.recarrega.app.br/uploads/';\n uploadCaminho(caminho: string) {\n const caminhoCompleto = this.baseUploadUrl + caminho;\n }\n\n mostrarMinhasAtividades = false; // Inicialmente, não mostra apenas as atividades do usuário atual\n\n\n constructor(private dataservice: DataService, private atividade_service: Atividades_service, private router: Router,\n private datePipe: DatePipe,\n private forum: ForumService) {\n this.subscription = this.dataservice.atividadeId$.subscribe(\n (id: number | null) => {\n this.atividadeId = id; // Atualiza o valor do ID quando recebe uma atualização do serviço\n this.showModal = true; // Define showModal para true quando recebe uma atualização do serviço\n }\n );\n\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe(); // Não se esqueça de cancelar a inscrição para evitar vazamentos de memória\n }\n\n getEventoSelecionado(): Atividade | null {\n if (this.atividadeId !== null) {\n return this.eventos.find(evento => evento.id_Atividade === this.atividadeId) || null;\n }\n return null;\n }\n\n fecharmodal() {\n this.showModal = false;\n this.atividadeId = null;\n this.dataservice.Resetclick();\n }\n\n addForumToUser() {\n const id_user = parseInt(sessionStorage.getItem('userID'), 10);\n\n\n this.forum.addForumToUser(this.atividadeId, id_user)\n .subscribe(\n response => {\n alert(response)\n //reseta ao normal\n this.showModal = false;\n this.atividadeId = null;\n },\n error => {\n console.error('Erro ao cadastrar :', error);\n // alert(error.error.message)\n this.showModal = false;\n this.atividadeId = null;\n }\n );\n\n }\n\n Cadastrar_UserAtividade() {\n this.atividade_service.postUsersAtividade(sessionStorage.getItem('userID'), this.atividadeId)\n .subscribe(\n response => {\n alert(response.message)\n //reseta ao normal\n this.showModal = false;\n this.atividadeId = null;\n this.FazerRequisicaoUsers.emit();\n\n },\n error => {\n // console.error('Erro ao cadastrar :', error);\n if (error.error.message == 'O usuário já tem essa atividade cadastrada.') {\n alert(error.error.message)\n }\n //reseta ao normal\n this.showModal = false;\n this.atividadeId = null;\n if (error.error.message) {\n alert('Por favor, para realizar cadastro em alguma atividade faça login!')\n this.router.navigate(['/modulos/index']);\n }\n }\n );\n }\n onSubmit() {\n if (!this.MinhdasAtividades) {\n this.Cadastrar_UserAtividade()\n } else {\n // this.addForumToUser()\n this.router.navigate(['modulos/chat/grupo'])\n }\n\n }\n\n\n formatarDataHora(dataHora: string): string {\n const dataHoraObj = new Date(dataHora);\n return this.datePipe.transform(dataHoraObj, 'dd/MM/yyyy HH:mm');\n }\n}\n\n\n\n\n\n","
\n
\n
\n \n \n
\n
\n

{{ getEventoSelecionado()?.descricao }}

\n

{{ getEventoSelecionado()?.descricao_completa }}

\n

\n {{ 'Data: ' }}{{ formatarDataHora(getEventoSelecionado()?.horario).slice(0, 10)}}
\n {{ 'Horário: ' }}{{ getEventoSelecionado()?.horario.slice(11, 16)}}h
\n {{ 'Local: ' }}{{ getEventoSelecionado()?.local }}
\n

\n\n
\n
\n
COLABORE COM O GRUPO
\n
QUERO ME INSCREVER
\n\n \n
\n\n
","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DataService } from 'src/services/dataService';\nimport { Subscription, forkJoin } from 'rxjs';\nimport { NotificationService } from 'src/services/notification.service';\n\n@Component({\n selector: 'app-modal-mural',\n templateUrl: './modal-mural.component.html',\n styleUrls: ['./modal-mural.component.css']\n})\nexport class ModalMuralComponent {\n\n\n @Input() showModalMural: boolean = false;\n @Input() DadosMural: any[];\n @Output() closeModal: EventEmitter = new EventEmitter();\n\n constructor(\n private dataservice: DataService,) { }\n\n fecharmodal() {\n this.closeModal.emit()\n this.dataservice.Resetclick()\n this.showModalMural = false\n }\n\n getStyle(notificationtipo: string) {\n switch (notificationtipo) {\n case 'Atualizações app':\n return { background: '#ED7202' };\n case 'Agende':\n return { background: '#9DA34A' };\n case 'Novo conteúdo':\n return { background: '#532014' };\n case 'Notícia':\n return { background: '#003636' };\n default:\n return {}; // Se não corresponder a nenhum tipo, retorna estilos vazios\n }\n }\n\n\n getDadosMural() {\n return this.DadosMural\n }\n\n\n}\n\n\n\n","
\n
\n
\n {{getDadosMural()?.titulo}}\n \n
\n
\n
\n \n {{getDadosMural()?.descricao_completa}}\n \n \n
\n \n
\n
\n \n
","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DataService } from 'src/services/dataService';\nimport { Subscription,forkJoin } from 'rxjs';\nimport { NotificationService } from 'src/services/notification.service';\n\ninterface Atividade {\n id_Atividade: number;\n id_tema: number;\n descricao: string;\n horario: string;\n}\n\n@Component({\n selector: 'app-modal-notificaton',\n templateUrl: './modal-notificaton.component.html',\n styleUrls: ['./modal-notificaton.component.css']\n})\nexport class ModalNotificationComponent {\n \n @Input() showModal: boolean = true;\n @Input() DadosNotification:any[];\n\n @Output() closeModal: EventEmitter = new EventEmitter();\n\n constructor(\n private notificationService: NotificationService,\n private router:Router) {}\n\n fecharmodal() {\n // Criar um array de observables para armazenar as chamadas de atualização\n const observables = this.DadosNotification.map((notification) =>\n this.notificationService.updateNotification(notification.id, { lida: 1 })\n );\n\n if (window.confirm('Deseja marcar como lida as notificações?')) {\n forkJoin(observables).subscribe(\n (responses) => {\n console.log('Notificações atualizadas:', responses);\n this.closeModal.emit();\n location.reload();\n\n },\n (error) => {\n console.error('Erro ao atualizar notificações:', error);\n }\n );\n } else {\n this.closeModal.emit();\n //Nao faz nada\n // console.log('O usuário clicou em \"Cancelar\" ou fechou o diálogo');\n }\n \n }\n\n irParaComponente(Componente:String){\n\n Componente='modulos/aprenda'\n\n this.router.navigate([`/${Componente}`])\n }\n\n getDadosNotification(){\n this.DadosNotification = this.DadosNotification\n return this.DadosNotification;\n }\n\n}\n\n\n\n\n\n","
\n
\n
\n Central de Notificações\n \n
\n
\n
\n \n
\n\n Descrição: {{ notification.descricao_notificacao }}
\n Tela: {{ notification.tela_notificacao }} \n
\n
\n \n
\n
\n \n
\n
\n\n
","import { Component, Input, Output, EventEmitter, ElementRef, HostListener,ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DataService } from 'src/services/dataService';\nimport { NgbCarousel } from '@ng-bootstrap/ng-bootstrap'; // Importe o NgbCarousel\n\n\n\n@Component({\n selector: 'app-modal-novidades',\n templateUrl: './modal-novidades.component.html',\n styleUrls: ['./modal-novidades.component.scss']\n})\nexport class ModalNovidadesComponent {\n imagesLoaded: number = 0;\n imageLoadStatus: { [src: string]: boolean } = {};\n isLoading: boolean = false; // variavel responsavel por mostrar carregamento enquanto carrega as imagens\n @Input() selectedButton: number | null = null;\n @Output() closeModal: EventEmitter = new EventEmitter();\n\n private clickedElement: HTMLElement | null = null;\n\n @ViewChild('carousel', { static: false }) carousel: NgbCarousel; // Obtenha a referência ao carrossel\n\n\n constructor(\n private router: Router,\n private elementRef: ElementRef,\n private route: ActivatedRoute,\n \n ) { }\n\n ngOnInit(): void {\n // Obter o valor do parâmetro da rota\n this.route.paramMap.subscribe(params => {\n const button = +params.get('button'); // Converte para número\n // Aqui você pode usar o valor de 'button' como desejar, por exemplo, selecionar a imagem correspondente\n this.selectedButton = button;\n \n // Adicione a propriedade 'loaded' a cada imagem\n this.imagensComLegendasPorOpcao[this.selectedButton].forEach((imagem) => {\n this.imageLoadStatus[imagem.src] = false;\n });\n\n // Dispare manualmente o evento 'load' para cada imagem\n this.imagensComLegendasPorOpcao[this.selectedButton].forEach((imagem) => {\n const imageElement = new Image();\n imageElement.onload = () => this.onImageLoad(imagem);\n imageElement.src = imagem.src;\n });\n });\n }\n imagensComLegendasPorOpcao: { [key: number]: { src: string; legenda: string }[] } = {\n 1: [\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card1.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card2.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card3.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card4.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card5.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card6.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card7.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card8.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card9.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card10.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card11.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card12.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card13.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card14.png', legenda: '' },\n { src: './assets/tecnologias-sociais/TecnologiaSocialNatureza_Card15.png', legenda: '' },\n ],\n 2: [\n { src: './assets/tecnologias-sociais/Por que conservar_Card1.png', legenda: '' },\n { src: './assets/tecnologias-sociais/Por que conservar_Card2.png', legenda: '' },\n { src: './assets/tecnologias-sociais/Por que conservar_Card3.png', legenda: '' },\n { src: './assets/tecnologias-sociais/Por que conservar_Card4.png', legenda: '' },\n { src: './assets/tecnologias-sociais/Por que conservar_Card5.png', legenda: '' },\n { src: './assets/tecnologias-sociais/Por que conservar_Card6.png', legenda: '' },\n { src: './assets/tecnologias-sociais/Por que conservar_Card7.png', legenda: '' },\n { src: './assets/tecnologias-sociais/Por que conservar_Card8.png', legenda: '' },\n { src: './assets/tecnologias-sociais/Por que conservar_Card9.png', legenda: '' },\n ],\n 3: [\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card1.png', legenda: '' },\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card2.png', legenda: '' },\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card3.png', legenda: '' },\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card4.png', legenda: '' },\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card5.png', legenda: '' },\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card6.png', legenda: '' },\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card7.png', legenda: '' },\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card8.png', legenda: '' },\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card9.png', legenda: '' },\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card10.png', legenda: '' },\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card11.png', legenda: '' },\n { src: './assets/tecnologias-sociais/PobrezaMenstrual_Card12.png', legenda: '' },\n ]\n };\n\n\n ElementoClicadoGlobal(event: MouseEvent): void {\n this.clickedElement = event.target as HTMLElement;\n }\n irParaHomeENovidades() {\n // Navega para a rota /home\n this.router.navigateByUrl('/home');\n // Aguarda um pequeno intervalo para garantir que a navegação tenha ocorrido\n setTimeout(() => {\n this.scrollToDiv('novidades'); // Rola até o elemento com o ID 'novidades'\n }, 100);\n }\n\n scrollToDiv(divId: string) {\n const targetDiv = document.getElementById(divId);\n if (targetDiv) {\n targetDiv.scrollIntoView({ behavior: 'smooth' }); // Rola até a div de destino de forma suave\n }\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n const modalContent = this.elementRef.nativeElement.querySelector('.ngb-carousel');\n const clickedElement = event.target as HTMLElement;\n\n // Verifica se o elemento clicado não é descendente da modal-content\n if (modalContent && !modalContent.contains(clickedElement)) {\n this.irParaHomeENovidades();\n }\n }\n\n \n @HostListener('document:touchstart', ['$event'])\n onTouchStart(event: TouchEvent) {\n // Registre a posição inicial do toque\n const touchStartX = event.touches[0].clientX;\n this.elementRef.nativeElement.setAttribute('data-touchstart-x', touchStartX.toString());\n }\n\n @HostListener('document:touchend', ['$event'])\n onTouchEnd(event: TouchEvent) {\n // Compare a posição inicial e final para determinar o deslizamento\n const touchEndX = event.changedTouches[0].clientX;\n const touchStartX = parseFloat(this.elementRef.nativeElement.getAttribute('data-touchstart-x'));\n\n if (touchStartX < touchEndX) {\n this.detectSwipe('right');\n } else if (touchStartX > touchEndX) {\n this.detectSwipe('left');\n }\n }\n\n @HostListener('document:mousedown', ['$event'])\n onMouseDown(event: MouseEvent) {\n // Registre a posição inicial do mouse\n this.elementRef.nativeElement.setAttribute('data-mousestart-x', event.clientX.toString());\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseUp(event: MouseEvent) {\n const mouseEndX = event.clientX;\n const mouseStartX = parseFloat(this.elementRef.nativeElement.getAttribute('data-mousestart-x'));\n\n if (mouseStartX < mouseEndX) {\n this.detectSwipe('right');\n } else if (mouseStartX > mouseEndX) {\n this.detectSwipe('left');\n }\n }\n\n detectSwipe(direction: string) {\n // Função para lidar com o deslizamento (swipe)\n if (direction === 'left') {\n this.carousel.next(); // Avançar para o próximo slide\n } else if (direction === 'right') {\n this.carousel.prev(); // Voltar para o slide anterior\n }\n }\n\n onImageLoad(imagem): void {\n // Quando uma imagem é carregada, marque-a como carregada\n this.imageLoadStatus[imagem.src] = true;\n this.imagesLoaded++;\n\n // Verifique se todas as imagens foram carregadas\n if (this.imagesLoaded == this.imagensComLegendasPorOpcao[this.selectedButton].length) {\n this.isLoading = true;\n }\n }\n\n \n}\n","\n
\n
\n \n
\n
\n \n \n
\n \n
\n \"Imagem\"\n
\n \n
\n
\n
\n
","import { Component, Input, Output, EventEmitter, ElementRef } from '@angular/core';\n\n\n\n@Component({\n selector: 'app-modal-recarregar-hidricas',\n templateUrl: './modal-recarregar-hidricas.component.html',\n styleUrls: ['./modal-recarregar-hidricas.component.css']\n})\nexport class ModalRecarregarHidricasComponent {\n @Input() showModal: boolean = false;\n @Input() selectedButton: number | null = null;\n @Output() closeModal: EventEmitter = new EventEmitter();\n\n // Variáveis para armazenar os títulos e conteúdos correspondentes a cada número\n titulosPorNumero: { [key: number]: string } = {\n 1: 'Uso de água da chuva',\n 2: 'Saneamento básico',\n 3: 'Infiltração de água no solo',\n 4: 'Redução de sedimentos'\n };\n \n conteudoPorNumero: { [key: number]: string } = {\n 1: 'A recarga hídrica está diretamente relacionada com a segurança hídrica e, por isso, a primeira etapa a ser considerada envolve a captação, o armazenamento e o uso de água da chuva. Com a implantação de cisternas ou de sistemas de aquaponia, por exemplo, a disponibilidade de água na região pode aumentar.',\n 2: 'O acesso a saneamento básico também tem relação direta com a segurança e a recarga hídricas. Por meio da coleta e tratamento de esgoto e de líquidos da decomposição do lixo orgânico, é possível evitar a poluição de córregos, rios, lagos e açudes, preservando as fontes de abastecimento de água.',\n 3: 'O processo de infiltração é de extrema importância para a conservação da água e do solo e, apesar de acontecer naturalmente, também pode ser impulsionado por tecnologias sociais como os sistemas agroflorestais (SAF), que reduzem a erosão e aumentam a biodiversidade e a umidade do solo.',\n 4: 'Sedimentos são fragmentos de solo, rochas e matéria orgânica que podem ser transportados para dentro de córregos, rios e lagos, prejudicando a qualidade da água. Tecnologias sociais como a restauração florestal podem evitar que isso aconteça, pois agem como um filtro da água que escorre sob o solo e ajuda a estabilizar as margens desses locais.'\n };\n \n\n}\n","
\n
\n
\n

{{ titulosPorNumero[selectedButton] }}

\n
\n
\n {{ conteudoPorNumero[selectedButton] }} \n
\n
\n \n
\n
\n
","\nimport { Component, OnInit, Renderer2, ElementRef, ViewChild, HostListener } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ActivatedRoute, Route } from '@angular/router';\nimport { NgbCarousel } from '@ng-bootstrap/ng-bootstrap'; // Importe o NgbCarousel\nimport { Router } from '@angular/router';\nimport 'hammerjs';\nimport { AprendaService } from 'src/services/Aprenda.service';\n@Component({\n selector: 'app-aprenda-storys',\n templateUrl: './aprenda-storys.component.html',\n styleUrls: ['./aprenda-storys.component.css']\n})\nexport class AprendaStorysComponent {\n selectedFile: File;\n pages: any = [];\n convertedText: string;\n textohtml:string;\n obejetoS3: any = [];\n newold: boolean;\n\n idconteudoaprenda:number;\n carouselAtivo: boolean = false;\n\n @ViewChild('carousel', { static: false }) carousel: NgbCarousel; // Obtenha a referência ao carrossel\n\n constructor(\n private renderer: Renderer2, private el: ElementRef, private sanitizer: DomSanitizer,\n private router:Router,\n private route: ActivatedRoute ,\n private serviceAPrenda: AprendaService,\n \n ) { }\n\n ngAfterViewInit() {\n // Aplica a classe aos indicadores após o conteúdo ser renderizado\n this.adicionarClasseAoH1();\n this.addSizeClassToImages();\n }\n\n /*Recebe como parametro o id da subatividade, para fazer requisição e carrega o storys*/\n ngOnInit() {\n\n this.route.params.subscribe((params) => {\n const id_contudo_aprenda = params['id']\n this.carrega_sub_modulos(id_contudo_aprenda);\n });\n\n }\n\n\n\n carrega_sub_modulos(id: number) {\n\n this.serviceAPrenda.getAprendaSubConteudoById(id).subscribe(\n (data: any) => {\n console.log(data)\n this.textohtml = data[0].textohtml;\n this.idconteudoaprenda = data[0].id_aprenda_conteudo;\n this.convertedText = this.textohtml;\n this.splitContentIntoPages(this.convertedText);\n this.addFixedStyleToClass('carousel-indicators');\n this.obejetoS3 = data.objetosS3\n console.log(this.obejetoS3)\n if (this.obejetoS3 == undefined){\n this.newold = true;\n } else {\n this.newold = false\n }\n },\n (error) => {\n console.error('Erro ao buscar cidades e temas:', error);\n }\n )\n\n }\n \n private touchStartX: number;\n private touchStartY: number;\n private touchStartTime: number;\n\n // ...\n\n @HostListener('document:touchstart', ['$event'])\n onTouchStart(event: TouchEvent) {\n // Armazena as coordenadas iniciais e o tempo de início do toque\n this.touchStartX = event.changedTouches[0].clientX;\n this.touchStartY = event.changedTouches[0].clientY;\n this.touchStartTime = event.timeStamp;\n }\n\n @HostListener('document:touchend', ['$event'])\n onTouchEnd(event: TouchEvent) {\n // Armazena as coordenadas finais e o tempo de término do toque\n const touchEndX = event.changedTouches[0].clientX;\n const touchEndY = event.changedTouches[0].clientY;\n const touchEndTime = event.timeStamp;\n \n // Calcula a diferença nas coordenadas\n const deltaX = touchEndX - this.touchStartX;\n const deltaY = touchEndY - this.touchStartY;\n \n // Calcula o tempo decorrido\n const deltaTime = touchEndTime - this.touchStartTime;\n \n // Defina limiares para considerar um movimento como deslize\n const horizontalThreshold = 50;\n const verticalThreshold = 50;\n const timeThreshold = 500;\n \n // Verifica se o movimento atende aos critérios de deslize horizontal ou vertical\n const horizontalSwipe = Math.abs(deltaX) > horizontalThreshold && deltaTime < timeThreshold;\n const verticalSwipe = Math.abs(deltaY) > verticalThreshold && deltaTime < timeThreshold;\n \n // Determina a direção com base na diferença nas coordenadas\n if (horizontalSwipe && Math.abs(deltaX) > Math.abs(deltaY)) {\n if (deltaX > 0) {\n this.detectSwipe('right');\n } else {\n this.detectSwipe('left');\n }\n } else if (verticalSwipe && Math.abs(deltaY) > Math.abs(deltaX)) {\n if (deltaY > 0) {\n // Aqui você pode adicionar lógica para lidar com o deslize para baixo\n console.log('Deslize para baixo');\n } else {\n // Aqui você pode adicionar lógica para lidar com o deslize para cima\n console.log('Deslize para cima');\n }\n }\n }\n \n\n @HostListener('document:mousedown', ['$event'])\n onMouseDown(event: MouseEvent) {\n // Registre a posição inicial do mouse\n this.el.nativeElement.setAttribute('data-mousestart-x', event.clientX.toString());\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseUp(event: MouseEvent) {\n // Compare a posição inicial e final do mouse para determinar o deslizamento\n const mouseEndX = event.clientX;\n const mouseStartX = parseFloat(this.el.nativeElement.getAttribute('data-mousestart-x'));\n\n\n\n if (mouseStartX < mouseEndX) {\n this.detectSwipe('right');\n } else if (mouseStartX > mouseEndX) {\n this.detectSwipe('left');\n }\n }\n\n detectSwipe(direction: string) {\n\n if (direction === 'left') {\n this.carousel.next(); // Avançar para o próximo slide\n } else if (direction === 'right') {\n this.carousel.prev(); // Voltar para o slide anterior\n }\n }\n\n adicionarClasseAoH1() {\n const elements = document.querySelectorAll('.text h1');\n elements.forEach((element) => {\n element.classList.add('text-h1');\n });\n }\n\n addSizeClassToImages() {\n const imgElements = this.el.nativeElement.querySelectorAll('img');\n imgElements.forEach((imgElement) => {\n const alt = imgElement.getAttribute('alt');\n if (alt) {\n if (alt.includes('pequena')) {\n this.renderer.addClass(imgElement, 'img-pequena');\n } else if (alt.includes('media')) {\n this.renderer.addClass(imgElement, 'img-media');\n } else if (alt.includes('grande')) {\n this.renderer.addClass(imgElement, 'img-grande');\n }\n }\n });\n }\n\n addFixedStyleToClass(className) {\n const elements = document.querySelectorAll('.' + className);\n \n elements.forEach((element) => {\n if (element instanceof HTMLElement) {\n element.style.position = 'fixed';\n }\n });\n }\n // Chame a função com o nome da classe que você deseja estilizar\n splitContentIntoPages(content: string) {\n // Divide o conteúdo em páginas com base na marcação \n const pagesArray = content.split('');\n\n for (let i = 0; i < pagesArray.length; i++) {\n let pageContent = pagesArray[i].trim();\n\n // Verifica se o conteúdo da página contém uma tag iframe\n const iframeRegex = /]*src=[\"'](https?:\\/\\/[^\"']+)[\"'][^>]*>/i;\n\n const tamanhoDaImagem = this.getTamanhoDaImagem(pageContent);\n const tamanhoClass = tamanhoDaImagem !== 'desconhecido' ? `imagem-${tamanhoDaImagem}` : '';\n\n if (pageContent) { // Verifica se o conteúdo da página não está vazio\n this.pages.push({\n content: this.sanitizer.bypassSecurityTrustHtml(pageContent),\n legend: `Página ${this.pages.length + 1}`, // Pode personalizar as legendas aqui\n tamanhoClass: tamanhoClass,\n });\n }\n }\n }\n\n\n getTamanhoDaImagem(html: string): string {\n if (html.includes('classe=\"grande\"')) {\n return 'grande';\n } else if (html.includes('classe=\"media\"')) {\n return 'media';\n } else if (html.includes('classe=\"pequena\"')) {\n return 'pequena';\n } else {\n return 'desconhecido'; // Se nenhuma classe for encontrada\n }\n }\n\n processConvertedText(html: string) {\n // Verifica se o HTML contém um iframe\n const iframeRegex = /]*src=[\"'](https?:\\/\\/[^\"']+)[\"'][^>]*>/i;\n const match = iframeRegex.exec(html);\n\n if (match) {\n const iframeUrl = match[1];\n this.pages[0].videoUrl = iframeUrl; // Adiciona o URL do iframe à primeira página\n }\n }\n\n irParaTelaModelAprenda() {\n this.router.navigate(['/modulos/aprenda/modal/', this.idconteudoaprenda ]);\n }\n}\n\n","
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n\n \n
\n
\n \n
\n
\n \n \n
\n \n
\n \"Imagem\"\n
\n \n
\n
\n
\n
\n
","\n\n\n\n\n
\n
Aprenda
\n
\n\n
\n\n
\n
\n
\n \"Imagem\"\n
\n
\n
{{ conteudo_aprenda.nome }}
\n
\n
\n
\n \n \n
\n
\n
\n
\n
{{ conteudo_aprenda.porcentagem }}%
\n
\n
\n
\n
{{ conteudo_aprenda.qtd_sub_temas }} subtemas
\n
\n
\n
\n
\n
\n\n\n \n
\n

 

\n

 

\n
\n \n\n
\n\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AprendaService } from 'src/services/Aprenda.service';\n\n\n\n@Component({\n selector: 'app-aprenda',\n templateUrl: './aprenda.component.html',\n styleUrls: ['./aprenda.component.css']\n})\n\n\nexport class AprendaComponent {\n conteudos_aprenda: any[] = [];\n isLoading: boolean = false; // variavel responsavel por mostrar carregamento enquanto faz alguma requisicao\n\n constructor(private router: Router, private serviceAPrenda: AprendaService) {\n }\n\n ngOnInit(): void {\n \n this.CarregaConteudoAprenda();\n }\n CarregaConteudoAprenda(){\n this.isLoading = true;\n\n this.serviceAPrenda.getAprendaConteudo().subscribe(\n (data: any) => {\n // this.cidadesMockadas = data;\n this.isLoading = false;\n this.conteudos_aprenda=data;\n console.log(data)\n\n },\n (error) => {\n this.isLoading = false;\n console.error('Erro ao buscar cidades e temas:', error);\n }\n )\n }\n irParaTelamodulosIndex() {\n this.router.navigate(['/modulos/index']);\n }\n\n irParaTelaModelAprenda(id: number) {\n this.router.navigate(['/modulos/aprenda/modal', id]);\n }\n}\n","\n\n\n \n
\n
Aprenda
\n
\n
\n
\n\n
\n
{{conteudoTitulo}}
\n \n
\n\n
\n
\n\n
\n \"Imagem\"\n
\n\n \n
\n
\n

{{ conteudoDescricao }}

\n
\n\n
\n

{{ conteudosubModulo }}

\n\n
\n
\n

INICIAR MÓDULO

\n
\n\n\n \n
\n

 

\n

 

\n
\n
\n\n
\n\n\n
\n
\n
\n
\n
\n
{{ subconteudo.valor_botao }}
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
{{ subconteudo.valor_botao }}
\n
\n
\n
\n\n
\n
\n\n\n
\n
\n
\n
\n
\n
{{ subconteudo.valor_botao }}
\n
\n
\n
\n
\n\n
\n
\n

{{ conteudoDescricao }}

\n
\n \n
\n

{{ conteudosubModulo }}

\n \n
\n
\n

INICIAR MÓDULO

\n
\n
\n \n
\n
\n
\n
\n\n\n\n","import { Component } from '@angular/core'\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AprendaService } from 'src/services/Aprenda.service';\n\n@Component({\n selector: 'app-model',\n templateUrl: './model.component.html',\n styleUrls: ['./model.component.css']\n})\nexport class ModelComponent {\n sub_conteudos_aprenda: any[] = [];\n\n conteudoTitulo: String;\n botaoSelecionado: any = null;\n\n conteudosubModulo: string = 'Título padrão';\n idsubconteudo: string ;\n conteudoDescricao: string = 'Descrição padrão';\n imgConteudo:string='https://api.recarrega.app.br/uploads/images/RsTWs8h7cu3ChOQZefJSpz35ej6CccUgZ10uGe72.png'\n corbackground: string;\n isLoading: boolean = false; // variavel responsavel por mostrar carregamento enquanto faz alguma requisicao\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private serviceAPrenda: AprendaService) { }\n\n /**\n * Método ngOnInit\n *\n * Este método é chamado automaticamente quando o componente é inicializado.\n * Ele é usado para observar os parâmetros da rota e buscar os dados do card\n * com base no `id` fornecido nos parâmetros da rota. Os dados do card são\n * então armazenados na propriedade `this.card` para uso posterior no\n * componente.\n */\n ngOnInit() {\n // Inscrição para observar os parâmetros da rota\n this.route.params.subscribe((params) => {\n // Extrair o `id` dos parâmetros da rota\n\n\n const id_contudo_aprenda = params['id']\n\n this.carrega_sub_modulos(id_contudo_aprenda);\n\n this.carrega_modulos(id_contudo_aprenda);\n });\n }\n\n\n atualizarConteudo(subconteudo: any): void {\n console.log(subconteudo.id)\n // Atualize as variáveis com base no subconteudo clicado\n this.conteudosubModulo =subconteudo.descricao_conteudo;\n this.conteudoDescricao = subconteudo.titulo;\n this.idsubconteudo = subconteudo.id;\n\n\n if (this.botaoSelecionado !== subconteudo) {\n // Desmarque o botão atualmente selecionado (se houver)\n if (this.botaoSelecionado) {\n this.botaoSelecionado.selecionado = false;\n }\n subconteudo.selecionado = true;\n // Atualize o botão selecionado\n this.botaoSelecionado = subconteudo;\n }\n}\n carrega_sub_modulos(id: number) {\n\n this.isLoading = true;\n\n this.serviceAPrenda.getAprendaSubConteudo(id).subscribe(\n (data: any) => {\n\n this.sub_conteudos_aprenda = data;\n console.log(this.sub_conteudos_aprenda[0])\n this.atualizarConteudo(this.sub_conteudos_aprenda[0])// definindo como padrao o primeiro valor do array\n this.isLoading = false;\n\n\n },\n (error) => {\n console.error('Erro ao buscar cidades e temas:', error);\n }\n )\n }\n\n carrega_modulos(id: number) {\n\n this.serviceAPrenda.getAprendaConteudoById(id).subscribe(\n (data: any) => {\n // this.cidadesMockadas = data;\n this.conteudoTitulo = data.nome\n this.corbackground = data.cor\n this.imgConteudo = data.imagemUrl\n this.isLoading = false;\n\n\n },\n (error) => {\n this.isLoading = false;\n\n console.error('Erro ao buscar cidades e temas:', error);\n }\n )\n }\n irParaTelaModelStorysAprenda() {\n this.router.navigate(['/modulos/aprenda/storys/',this.idsubconteudo]);\n }\n\n irParaTelaAprenda() {\n this.router.navigate(['/modulos/aprenda']);\n }\n\n}\n","
\n

Hortas e pomares

\n \n
\n \n
\n
\n
\n
\n

{{item.escola}}

\n
\n
\n \"\"\n
\n
\n
\n
\n
\n
\n

© 2023 Agir Ambiental, Todos os direitos reservados

\n
","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-hortas',\n templateUrl: './hortas.component.html',\n styleUrls: ['./hortas.component.css']\n})\nexport class HortasComponent {\n\n DadosMocados = [\n { id: 1, escola: 'EMEF Ibraim Nobre' },\n { id: 2, escola: 'Cresan Butantã ' },\n { id: 3, escola: 'Orgânico Simples ' },\n { id: 4, escola: 'E.E. Prof. Almeida Júnior ' },\n { id: 5, escola: 'E.E. Prof. Architiclino Santos' },\n { id: 6, escola: 'E.E. Prof. Emygdio de Barros' },\n { id: 7, escola: 'E.E. Dona Ana Rosa de Araújo' },\n { id: 8, escola: 'E.E. Prof. Guiomar Rocha Rinaldi' },\n { id: 9, escola: 'E.E. Alexandre Von Humboldt' },\n { id: 10, escola: 'E.E. Odair Martiniano da Silva Mandela' },\n { id: 11, escola: 'E.E. João XXIII' },\n { id: 12, escola: 'Castelinho Cure o Mundo' },\n { id: 13, escola: 'Ponto de Economia Solidária e Cultura do Butantã' },\n { id: 14, escola: 'Horta do tio Zé' },\n { id: 15, escola: 'Espaço Cultural Monte Kemel' },\n { id: 16, escola: 'Horta Popular Criando Esperança' },\n { id: 17, escola: 'Associação Amigos de Bairro do Jd. Silvia' },\n { id: 18, escola: 'Casa de Cultura do Butantã' },\n { id: 19, escola: 'Nossa Horta' },\n { id: 20, escola: 'Comuna da Terra Irmã Alberta - Lote Rosângela' },\n { id: 21, escola: 'Comuna da Terra Irmã Alberta - Lote Pedrosa' },\n { id: 22, escola: 'Mulheres do GAU' },\n ];\n\n constructor(private router: Router) {\n // Ordena os dados mocados em ordem alfabética pelo nome da escola\n this.DadosMocados = this.DadosMocados.sort((a, b) => a.escola.localeCompare(b.escola));\n }\n\n compartilharLink(url, titulo, text) {\n if (navigator.share) {\n navigator.share({\n title: titulo,\n text: text,\n url: 'https://www.recarrega.app.br/modulos/hortas/story/' + url,\n })\n .then(() => console.log('Conteúdo compartilhado com sucesso!'))\n .catch((error) => console.error('Erro ao compartilhar conteúdo:', error));\n }\n }\n\n IrParaRotaHome() {\n this.router.navigate(['/home_sp']);\n }\n}\n\n","import { Component, ElementRef, OnInit,HostListener } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { UserService } from 'src/services/user.service';\nimport { Router } from '@angular/router';\nimport { Atividades_service } from 'src/services/Atividades.service';\nimport { DataService } from 'src/services/dataService';\nimport { Tokenfcm } from 'src/services/Tokenfcm.service';\nimport { NotificationService } from 'src/services/notification.service';\nimport { DatePipe } from '@angular/common';\n\n\n\ninterface Cidade {\n id: number;\n nome: string;\n temas: { id: number; nomeTema: string }[];\n}\n\ninterface Atividade {\n id_Atividade: number;\n id_tema: number;\n descricao: string;\n horario: string;\n descricao_completa: string,\n local: string,\n cidade_id: number,\n}\n\ninterface UserAtividades {\n id_users: number;\n atividadesCadastradas: number[]; // Array de IDs de atividades nas quais o usuário está cadastrado\n}\n\n\n@Component({\n selector: 'app-index',\n templateUrl: './index.component.html',\n styleUrls: ['./index.component.css']\n})\nexport class IndexComponent implements OnInit {\n larguraDaTela: number;\n alturaDaTela: number;\n\n cidadeSelecionada: number = 1;\n temaSelecionado: number | null = null;\n eventosRecentes: Atividade[] = [];\n eventos_usuario: Atividade[] = [];\n userInfo: any; // Armazenará as informações do usuário\n isLoading: boolean = true; // variavel responsavel por mostrar carregamento enquanto faz alguma requisicao\n mostrarMinhasAtividades = false; // Inicialmente, não mostra apenas as atividades do usuário atual\n private apiUrl: string;\n nome: string = '';\n foto_perfil: string = '';\n userID: number;\n NotificationAtiva: boolean;\n\n camposVazios: any;\n isCamposVazios: boolean;\n fotoPerfil: string;\n baseUploadUrl = 'https://api.recarrega.app.br/uploads/';\n\n\n cidadesMockadas: Cidade[] = [];\n usuariosAtividades: UserAtividades[] = [];\n eventos: Atividade[] = [];\n\n constructor(\n private http: HttpClient,\n private userService: UserService,\n private router: Router,\n private atividadesService: Atividades_service,\n private elementRef: ElementRef,\n private dataservice: DataService,\n private authServiceFCM: Tokenfcm,\n private notification: NotificationService,\n private datePipe: DatePipe\n\n ) {\n this.apiUrl = environment.apiUrl;\n this.obterTamanhoDaTela();\n\n }\n\n \n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.obterTamanhoDaTela();\n }\n\n obterTamanhoDaTela() {\n this.larguraDaTela = window.innerWidth;\n this.alturaDaTela = window.innerHeight;\n }\n ngOnInit(): void {\n this.getUserInfo(); // função responsavel por controlar tudp\n // Definir o primeiro ID como valor inicial selecionado\n this.eventos_usuario = this.eventos;\n\n this.authServiceFCM.requestPermission();\n\n this.getNotification();\n\n }\n\n showModalNotification: boolean = false;\n\n OpenModalNotification(data: any) {\n this.showModalNotification = true;\n this.notification = data;\n\n }\n\n closeModalNotification() {\n this.showModalNotification = false;\n\n }\n getNotification() {\n\n this.notification.getUserNotification().subscribe(\n (data: any) => {\n this.notification = data;\n\n if (data.length > 0) {\n this.NotificationAtiva = true\n } else {\n this.NotificationAtiva = false\n }\n\n },\n (error: any) => {\n console.error('erro:', error)\n }\n )\n }\n\n gettUserData(): void {\n const token = sessionStorage.getItem('token');\n\n this.userService.getUserData(token).subscribe(\n (userData: any) => {\n // ...\n this.userService.setUserInfo(userData); // Compartilhar dados do usuário\n // ...\n },\n (error: any) => {\n console.error('Erro ao obter dados do usuário:', error);\n }\n );\n }\n\n\n getUserInfo(): void {\n const token = sessionStorage.getItem('token');\n if (token) {\n const headers = new HttpHeaders().set('Authorization', `Bearer ${token}`);\n this.http.get(`${this.apiUrl}/auth/me`, { headers }).subscribe(\n (response: any) => {\n this.userInfo = response;\n\n //this.fotoPerfil = this.baseUploadUrl + this.userInfo.foto_perfil;\n\n sessionStorage.setItem('userID', this.userInfo.id);\n sessionStorage.setItem('name', this.userInfo.name);\n sessionStorage.setItem('email', this.userInfo.email);\n sessionStorage.setItem('foto_perfil', this.userInfo.foto_perfil);\n\n // if (this.userInfo.foto_perfil !== null) {\n // sessionStorage.setItem('fotoPerfil', this.fotoPerfil);\n // }else{\n // sessionStorage.setItem('fotoPerfil', null);\n // this.fotoPerfil='../../assets/perfil_menor.png'\n // }\n\n this.nome = this.userInfo.name;\n this.foto_perfil = this.userInfo.foto_perfil;\n this.userID = this.userInfo.id;\n this.verificarCamposUsuario(this.userInfo.id);\n this.Carrega_cidade_tema_full();\n\n\n },\n (error: any) => {\n console.error('Erro ao obter informações do usuário:', error);\n this.logout();\n }\n );\n }\n }\n\n Carrega_cidade_tema_full() {\n this.atividadesService.getCidadeTema().subscribe(\n (data: any) => {\n this.cidadesMockadas = data;\n this.isLoading = false;\n this.carregarTemaInicial();\n\n },\n (error) => {\n this.isLoading = false;\n console.error('Erro ao buscar cidades e temas:', error);\n }\n );\n\n this.atividadesService.getAtividades().subscribe(\n (data: Atividade[]) => {\n this.eventos = data;\n // Call the method to load initial events after getting the data\n },\n (error) => {\n this.isLoading = false;\n console.error('Erro ao buscar eventos:', error);\n }\n );\n\n this.atividadesService.getUsersAtividade(this.userID).subscribe(\n (data: any[]) => {\n this.usuariosAtividades = data;\n // Call the method to load initial events after getting the data\n },\n (error) => {\n this.isLoading = false;\n console.error('Erro ao buscar eventos associados ao usuario:', error);\n location.reload()\n }\n );\n }\n\n //Carrega as Cidades temas Atividades, e usuario vinculados as atividades\n carregarTemaInicial() {\n const temas = this.getTemasCidadeSelecionada();\n\n if (temas.length > 0) {\n this.temaSelecionado = temas[0].id;\n this.carregarEventosRecentes();\n } else {\n this.temaSelecionado = null;\n this.eventosRecentes = [];\n }\n }\n\n getTemasCidadeSelecionada(): { id: number; nomeTema: string }[] {\n\n var cidadeSelecionada = this.cidadesMockadas.find(\n (cidade) => cidade.id == this.cidadeSelecionada\n );\n\n // Setando um valor para quando vim indefinido\n if (typeof cidadeSelecionada === 'undefined') {\n this.cidadeSelecionada = this.cidadesMockadas[0].id\n var cidadeSelecionada = this.cidadesMockadas[0]\n }\n return cidadeSelecionada ? cidadeSelecionada.temas : [];\n }\n\n selecionarTema(temaId: number) {\n this.temaSelecionado = temaId;\n this.carregarEventosRecentes();\n }\n\n carregarEventosRecentes() {\n const eventos = this.getEventosRecentes();\n this.eventosRecentes = eventos.slice(0, 3);\n }\n\n getEventosRecentesDoUsuario() {\n // Encontra o objeto de atividades cadastradas do usuário atual\n const usuarioAtualAtividades = this.usuariosAtividades.find(\n (userAtividades) => userAtividades.id_users == this.userInfo.id\n );\n\n // Se o usuário atual não estiver cadastrado em nenhuma atividade, retorna um array vazio\n if (!usuarioAtualAtividades) {\n return [];\n }\n\n // Filtra as atividades com base nas atividades cadastradas do usuário e tema\n // const eventosTemaSelecionado = this.eventos.filter((evento) => evento.id_tema == this.temaSelecionado);\n // const atividadesFiltradas = eventosTemaSelecionado.filter((evento) =>\n // usuarioAtualAtividades.atividadesCadastradas.includes(evento.id_Atividade)\n // );\n\n // Filtra as atividades do usuario, todas \n const atividadesFiltradas = this.eventos.filter((evento) =>\n usuarioAtualAtividades.atividadesCadastradas.includes(evento.id_Atividade)\n );\n\n return atividadesFiltradas;\n }\n\n\n getEventosRecentes() {\n const eventosFiltrados = this.eventos.filter((evento) => evento.id_tema == this.temaSelecionado && evento.cidade_id == this.cidadeSelecionada) || [];\n \n // Logica oara ordenar as atividades do para vim do mais recente em cima pro ususarios\n eventosFiltrados.sort((a, b) => {\n const horarioA = new Date(a.horario).getTime();\n const horarioB = new Date(b.horario).getTime();\n\n // Comparando os timestamps\n return horarioA - horarioB;\n });\n\n return eventosFiltrados;\n\n }\n\n verificarCamposUsuario(idusuario: number) {\n this.userService.verificarCamposUsuario(idusuario).subscribe(\n (response: any) => {\n this.isCamposVazios = response.status;\n // this.camposVazios = response.campos;\n if (this.isCamposVazios) {\n //complementar dados cadastrais\n this.router.navigate(['/atualizar_cadastro']);\n }\n\n\n },\n (error) => {\n console.error('Erro ao verificar campos do usuário:', error);\n }\n );\n }\n\n logout(): void {\n alert('Sessão expirada, por favor acesse novamente.');\n //Removendo token do cookie\n document.cookie = 'token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';\n sessionStorage.removeItem('token');\n window.location.reload();\n }\n\n // Codigo chamando o modal\n scrollToDiv(divId: string) {\n const targetDiv = document.getElementById(divId) ;\n if (targetDiv) {\n const offset = targetDiv.offsetTop;\n let top: number = this.larguraDaTela > 768 ? 50 : 0;\n\n console.log(top)\n window.scrollTo({\n top: offset - top,\n behavior: 'smooth' // Adiciona um efeito de rolagem suave\n });\n }\n }\n\n showModal: boolean = false;\n id_Atividades: number;\n\n openModal(idAtividade: number) {\n this.id_Atividades = idAtividade;\n this.dataservice.setAtividadeId(this.id_Atividades); // Define o valor do ID usando o serviço compartilhado\n this.showModal = true;\n }\n closeModal() {\n this.showModal = false;\n this.id_Atividades = null;\n this.dataservice.Resetclick();\n\n }\n\n onOutsideClick(event: MouseEvent): void {\n const modalContent = this.elementRef.nativeElement.querySelector('.modal-container');\n\n if (modalContent != null) {\n\n if (this.showModal && this.dataservice.clickCount >= 1) {\n const clickedElement = event.target as HTMLElement;\n\n if (clickedElement !== modalContent && !(modalContent as HTMLElement).contains(clickedElement)) {\n // console.log('resetando contangem')\n this.closeModal();\n }\n\n } else {\n this.dataservice.incrementClick();\n }\n }\n }\n\n\n onRequisitarNovamente() {\n // Coloque aqui a lógica para fazer a nova requisição\n this.Carrega_cidade_tema_full();\n // ...\n }\n irParaNovidades() {\n this.router.navigate(['/modulos/novidades']);\n }\n\n formatarDataHora(dataHora: string): string {\n const dataHoraObj = new Date(dataHora);\n return this.datePipe.transform(dataHoraObj, 'dd/MM/yyyy HH:mm');\n }\n\n}","\n\n \n\n
\n \n \n\n\n \n\n \n\n
\n\n
\n
\n
\n \"\" \n
\n
\n

Olá, {{nome}}

\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n
\n
\n \n \n

MINHAS ATIVIDADES

\n
\n
\n
\n \n \"\"\n \n \n \"\"\n \n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n

MURAL

\n
\n
\n \n
\n
\n
\n
\n \"\"\n
\n
\n

ATIVIDADES

\n
\n
\n \n
\n
\n
\n \n
\n \n\n \n\n
\n \n \n

MINHAS ATIVIDADES

\n
\n
\n\n
\n \n
\n
\n

{{ evento.descricao }}

\n

{{formatarDataHora(evento.horario)}} h

\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n\n \n\n
\n
\n\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-mapeie',\n templateUrl: './mapeie.component.html',\n styleUrls: ['./mapeie.component.css']\n})\nexport class MapeieComponent {\n constructor(private router: Router) {\n }\n irParaTelamodulosIndex() {\n this.router.navigate(['/modulos/index']);\n }\n}\n","\n
\n \n
\n \n
\n

Mapeie em breve

\n
\n
\n
\n \"\"\n
\n
\n
\n

Mapeie em breve

\n
\n

Descrição do que é o mapeie lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam in augue\n nisi. Sed interdum vitae libero eget dictum. Mauris euismod lacinia augue, nec vehicula mauris blandit at. Donec\n nunc velit, tempor vel auctor non, sagittis sed leo. Etiam eleifend nisi libero, eget dictum ante convallis sed.\n Pellentesque ut ipsum

\n
\n

Voltar para o início

\n
\n
\n
\n\n
\n\n\n","import { Component, ElementRef, HostListener } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { UserService } from 'src/services/user.service';\nimport { Router } from '@angular/router';\nimport { environment } from 'src/environments/environment';\nimport { ForumService } from 'src/services/Forum_Service';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.css']\n})\nexport class MenuComponent {\n userInfo: any; // Armazenar� as informa��es do usu�rio\n\n private apiUrl: string;\n\n AlertColabore: boolean;\n AlertSuporte: boolean;\n\n\n constructor(\n private router: Router,\n private elementRef: ElementRef,\n private userService: UserService,\n private http: HttpClient,\n private forumService: ForumService\n\n\n ) {\n this.apiUrl = environment.apiUrl;\n }\n\n\n ngOnInit() {\n this.CarregaMensagensNaolidas()\n\n }\n\n CarregaMensagensNaolidas() {\n const userID = parseInt(sessionStorage.getItem('userID'));\n this.forumService.MessagesUnReadByUserid(userID).subscribe(\n (response) => {\n\n const arr = Object.values(response);\n if (arr.includes('colabore')) {\n this.AlertColabore=true\n }else{\n this.AlertColabore=false\n\n }\n // Verifica se o array contém 'grupo_suporte'\n if (arr.includes('grupo_suporte')) {\n this.AlertSuporte=true\n }else{\n this.AlertSuporte=false\n\n }\n },\n (error) => {\n console.error(error);\n }\n );\n\n }\n scrollToDiv(divId: string): void {\n const targetElement = this.elementRef.nativeElement.querySelector('#' + divId);\n console.log(targetElement)\n if (targetElement) {\n targetElement.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n irParaTelaLogin() {\n this.router.navigate(['/login']);\n }\n\n irParaChat() {\n this.router.navigate(['/modulos/chat']);\n }\n\n irParaMural() {\n this.router.navigate(['/modulos/novidades']);\n }\n\n irParaaprenda() {\n this.router.navigate(['/modulos/aprenda']);\n }\n\n irParaMonitore() {\n this.router.navigate(['/modulos/monitore']);\n }\n irParaMapeia() {\n this.router.navigate(['/modulos/mapeie']);\n }\n\n irParausuarios() {\n this.router.navigate(['modulos/usuario']);\n }\n\n irParaColabore(tipo: string) {\n this.router.navigate(['modulos/chat', tipo]);\n }\n\n\n irParaRotaHome() {\n this.router.navigate(['modulos/rota_home']);\n }\n logout(): void {\n const token = sessionStorage.getItem('token');\n //Removendo token do cookie\n document.cookie = 'token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';\n sessionStorage.removeItem('token');\n if (token) {\n const headers = new HttpHeaders().set('Authorization', `Bearer ${token}`);\n this.http.post(`${this.apiUrl}/auth/logout`, null, { headers }).subscribe(\n () => {\n\n this.userInfo = null;\n window.location.reload(); // Atualiza a p�gina\n\n // Realizar outras a��es ap�s o logout, se necess�rio\n },\n (error: any) => {\n console.error('Erro ao fazer logout:', error);\n }\n );\n }\n }\n\n showSubMenu = false;\n\n toggleSubMenu(): void {\n this.showSubMenu = !this.showSubMenu;\n }\n\n closeSubMenu(): void {\n this.showSubMenu = false;\n }\n\n\n\n\n\n\n}\n","
\n\n
\n
\n \"Mural\"\n Mural\n
\n
\n \"Colabore\"\n Colabore\n
\n
\n \"Aprenda\"\n Aprenda\n
\n\n
\n\n \"Colabore\"\n Suporte\n
\n
\n \"Mais\"\n Mais\n
\n
\n\n
\n
\n
\n \"Fechar\"\n
\n
\n
\n
\n \"Meu\n
\n
\n \"Monitome\"\n
\n
\n
\n
\n \"Minhas\n
\n
\n \"Mapeia\"\n
\n
\n
\n
\n \"Sair\"\n
\n
\n \"Recarrega\"\n
\n
\n \n
\n\n","import { Component } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MonitoreService } from 'src/services/monitore.service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms'; // Importando FormBuilder e FormGroup\nimport { DbPwaService } from 'src/services/db-pwa.service';\n\n@Component({\n selector: 'app-monitore-forms',\n templateUrl: './monitore-forms.component.html',\n styleUrls: ['./monitore-forms.component.css']\n})\nexport class MonitoreFormsComponent {\n\n enviandoDados: boolean = false;\n Forms: any;\n formData: FormGroup;;\n camposVazios: string[] = [];\n opcoesSelecionadas: { [id: string]: string[] } = {};\n userID: number;\n formid: string\n localizacao: string;\n\n imagemUrls: { [key: string]: string } = {};\n fotoInput: HTMLInputElement | undefined;\n\n isOnline: boolean;\n\n\n constructor(private router: Router,\n private route: ActivatedRoute,\n private monitoreService: MonitoreService,\n private formBuilder: FormBuilder,\n private DBpwa: DbPwaService\n ) {\n }\n\n ngOnInit() {\n console.log('console log versão atualizada')\n this.userID = parseInt(sessionStorage.getItem('userID'), 10);\n this.route.params.subscribe((params) => {\n const id_forms = params['id']\n this.formid = id_forms\n this.getByIDPerguntasFormulario(id_forms)\n });\n\n\n\n \n\n this.isOnline = navigator.onLine;\n window.addEventListener('online', () => {\n this.isOnline = true;\n });\n\n window.addEventListener('offline', () => {\n this.isOnline = false;\n });\n\n }\n\n getOfflineDados() {\n this.DBpwa.getAll().then((result: any) => {\n if (result && Array.isArray(result.rows)) {\n\n result.rows.forEach((row: any) => {\n if (row && row.doc) {\n const doc = row.doc;\n console.log(doc.respostas)\n doc.respostas.forEach(resposta => {\n\n \n const pergunta = this.Forms.find(form => form.id === resposta.pergunta_id);\n\n if (pergunta) {\n // Se encontrou a pergunta, adiciona a resposta à pergunta\n pergunta.resposta = resposta.resposta;\n pergunta.resposta_id = resposta.resposta_id;\n }\n\n\n });\n\n }\n });\n }\n });\n }\n\n getByIDPerguntasFormulario(id_forms) {\n this.monitoreService.getByIDPerguntasFormulario(id_forms).subscribe(\n (data) => {\n this.Forms = data\n this.inicializarFormData(data);\n\n if (this.isOnline) {\n this.getByIDRespostasFormulario(id_forms)\n console.log('carregando dados online')\n\n } else {\n this.getOfflineDados();\n this.getByIDRespostasFormulario(id_forms)\n\n\n }\n },\n (error) => {\n console.error('Erro ao buscar monitore:', error);\n\n }\n );\n }\n\n\n getByIDRespostasFormulario(id_forms) {\n this.monitoreService.ListarRespostasByIdForm(this.userID, id_forms).subscribe(\n (respostas: any[]) => {\n respostas.forEach(resposta => {\n const pergunta = this.Forms.find(form => form.id === resposta.pergunta_id);\n if (pergunta) {\n pergunta.resposta = resposta.resposta;\n pergunta.resposta_id = resposta.resposta_id;\n }\n });\n },\n (error) => {\n console.error('Erro ao buscar monitore:', error);\n console.log(error.status)\n if (error.status == 404) {\n\n }\n }\n );\n }\n\n inicializarFormData(dynamicValues: any, offlineData: any = null) {\n const formControls = {};\n\n dynamicValues.forEach(form => {\n formControls[form.tipo + '_' + form.id] = ['', Validators.required];\n });\n\n this.formData = this.formBuilder.group(formControls);\n\n if (offlineData) {\n Object.keys(offlineData).forEach(key => {\n const control = this.formData.get(key);\n if (control) {\n control.setValue(offlineData[key]);\n }\n });\n }\n }\n onCheckboxChange(isChecked: boolean, opcao: string, perguntaId: number) {\n if (isChecked) {\n if (!this.opcoesSelecionadas[perguntaId]) {\n this.opcoesSelecionadas[perguntaId] = [];\n }\n this.opcoesSelecionadas[perguntaId].push(opcao);\n } else {\n if (this.opcoesSelecionadas[perguntaId]) {\n const index = this.opcoesSelecionadas[perguntaId].indexOf(opcao);\n if (index !== -1) {\n this.opcoesSelecionadas[perguntaId].splice(index, 1);\n }\n }\n }\n }\n\n\n enviarRespostas() {\n this.enviandoDados = true;\n const formData = new FormData();\n\n this.camposVazios = [];\n const payload = {\n usuario_id: this.userID,\n respostas: []\n };\n\n Object.keys(this.formData.controls).forEach(key => {\n\n if (key.includes('imagem_')) {\n return; // Ignora o processamento da pergunta de tipo imagem\n }\n\n const pergunta_id = parseInt(key.split('_')[1]);\n const control = this.formData.get(key);\n\n console.log(key)\n\n if (key.includes('checkBox')) {\n const opcoesSelecionadas = this.opcoesSelecionadas[pergunta_id];\n if (opcoesSelecionadas !== undefined) {\n\n formData.append(`respostas[${payload.respostas.length}][pergunta_id]`, pergunta_id.toString());\n formData.append(`respostas[${payload.respostas.length}][formulario_id]`, this.formid.toString());\n formData.append(`respostas[${payload.respostas.length}][resposta]`, opcoesSelecionadas?.join(', '));\n\n payload.respostas.push({\n pergunta_id: pergunta_id,\n formulario_id: this.formid,\n resposta: opcoesSelecionadas?.join(', ')\n });\n }\n }\n\n else if (control.value) {\n\n formData.append(`respostas[${payload.respostas.length}][pergunta_id]`, pergunta_id.toString());\n formData.append(`respostas[${payload.respostas.length}][formulario_id]`, this.formid.toString());\n formData.append(`respostas[${payload.respostas.length}][resposta]`, control.value);\n\n payload.respostas.push({\n pergunta_id: pergunta_id,\n formulario_id: this.formid,\n resposta: control.value\n });\n }\n });\n\n formData.append('usuario_id', payload.usuario_id.toString());\n\n console.log('Imprimindo FormData:');\n console.log('---------------------');\n formData.forEach((value, key) => {\n console.log(key, ':', value);\n });\n console.log('---------------------');\n\n\n let formHasValue = false;\n\n Object.keys(this.formData.controls).forEach(key => {\n const control = this.formData.get(key);\n if (control && control.value) {\n formHasValue = true;\n }\n });\n\n if (!formHasValue) {\n alert(\"Não há valores preenchidos no formulário.\");\n this.enviandoDados = false;\n return;\n }\n\n\n this.monitoreService.enviarRespostas(formData).subscribe(\n (response) => {\n alert(response.message)\n this.irParaMonitore()\n },\n (error: any) => {\n this.enviandoDados = false;\n\n //Sem internet slavando localmente...\n if (error.status == 0) {\n this.DBpwa.addTask(payload)\n alert('Respostas salvas localmente.')\n this.irParaMonitore()\n }\n\n console.error('Erro ao salvar dados do formulário:', error);\n if (error.status == 409) {\n alert(error.error.message)\n }\n\n }\n );\n }\n\n\n irParaMonitore() {\n this.router.navigate(['/modulos/monitore']);\n }\n\n obterGeolocalizacao(perguntaId: any): void {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(\n (position) => {\n const latitude = position.coords.latitude;\n const longitude = position.coords.longitude;\n\n this.formData.get('Geolocalizacao_' + perguntaId).setValue(`Latitude: ${latitude}, Longitude: ${longitude}`);\n this.localizacao = `Latitude: ${latitude}, Longitude: ${longitude}`;\n\n },\n (error) => {\n this.formData.get('Geolocalizacao_' + perguntaId).setValue(`Erro ao obter localização`);\n this.localizacao = 'Erro ao obter localização';\n console.error('Erro ao obter geolocalização:', error.message);\n }\n );\n } else {\n console.error('Geolocalização não suportada pelo navegador.');\n }\n }\n\n\n\n removerFoto(perguntaId: string) {\n delete this.imagemUrls[perguntaId];\n const input: HTMLInputElement | null = document.getElementById('imagemInput_' + perguntaId) as HTMLInputElement;\n if (input) {\n input.value = '';\n }\n }\n\n onFileSelected(event: any, pergunta_id: any) {\n\n if(!this.isOnline){\n alert('Por favor se conecte a internet, para poder enviar fotos.')\n return;\n }\n const file: File = event.target.files[0];\n const maxSize = 10 * 1024 * 1024; // 10 MB\n\n\n if (file.size > maxSize) {\n alert('O arquivo é muito grande. O tamanho máximo permitido é 4MB.');\n return;\n }\n if (file) {\n \n const reader = new FileReader();\n\n reader.onload = (e: any) => {\n this.imageSrc = e.target.result;\n this.fileImagem = event.target\n this.showModal = true;\n this.perguntaId = pergunta_id;\n };\n reader.readAsDataURL(file);\n\n }\n\n }\n\n showModal: boolean = false;\n perguntaId: '';\n fileImagem: any;\n isLoading: boolean = false;\n imageSrc: '';\n\n cancelUpload() {\n this.showModal = false;\n this.perguntaId = ''\n this.imageSrc = ''\n }\n\n confirmUpload() {\n console.log('novo file')\n console.log(this.fileImagem)\n this.isLoading = true;\n this.uploadImagemAws(this.fileImagem, this.perguntaId);\n }\n\n clearImage() {\n this.imageSrc = null; \n this.fileImagem = null; \n this.showModal = false; \n this.perguntaId = null; \n\n // Limpa o campo de input (desmarcar o arquivo)\n const fileInput: HTMLInputElement = document.querySelector('input[type=\"file\"]');\n if (fileInput) {\n fileInput.value = ''; // Limpa a seleção do arquivo\n }\n }\n\n uploadImagemAws(inputFile, pergunta_id) {\n\n const formData = new FormData();\n const payload = {\n usuario_id: this.userID,\n respostas: []\n };\n\n const file = inputFile.files[0];\n\n formData.append(`respostas[${payload.respostas.length}][pergunta_id]`, pergunta_id.toString());\n formData.append(`respostas[${payload.respostas.length}][formulario_id]`, this.formid.toString());\n formData.append(`respostas[${payload.respostas.length}][resposta]`, file);\n formData.append('imagem_' + pergunta_id, file);\n payload['imagem_' + pergunta_id] = file;\n\n payload.respostas.push({\n pergunta_id: pergunta_id,\n formulario_id: this.formid,\n resposta: file\n });\n\n formData.append('usuario_id', payload.usuario_id.toString());\n\n\n this.monitoreService.enviarRespostas(formData).subscribe(\n (response) => {\n const imageUrl = response.data[0].resposta;\n\n this.isLoading = false;\n this.showModal = false;\n this.enviandoDados = false;\n // Atualiza o campo 'resposta' no formulário\n this.clearImage()\n const form = this.Forms.find(f => f.id === pergunta_id);\n if (form) {\n form.resposta = imageUrl;\n }\n },\n (error: any) => {\n this.isLoading = false;\n\n this.enviandoDados = false;\n this.showModal = false;\n console.error('Erro ao salvar dados do formulário:', error);\n alert(error.error.message)\n\n\n }\n );\n }\n\n\n}\n","\n\n\n\n\n
\n
\n
\n

Confirmar envio da imagem

\n
\n
\n \"Imagem\n
\n
\n \n \n
\n
\n
Enviando...\n
\n
\n
\n\n\n
\n\n
\n

Monitore

\n \n
\n\n
\n \n
\n\n
\n
\n \n \n
\n \n Campo\n obrigatório*\n
\n
\n\n\n
\n \n \n
\n \n Campo obrigatório*\n
\n\n
\n\n\n
\n \n \n
\n
\n Localização
\n
{{ localizacao }}
\n \n Campo\n obrigatório*\n
\n
\n\n\n
\n \n \n
\n \n Campo obrigatório*\n
\n
\n\n\n
\n \n \n
\n
\n \n
\n Campo\n obrigatório*\n
\n
\n\n\n
\n \n \n
\n
\n \n {{ opcao }}\n
\n Campo\n obrigatório*\n
\n
\n\n\n
\n \n\n
\n \"Imagem\"\n
\n\n \n \n
\n \"Imagem\"\n \n
\n Campo obrigatório*\n\n
\n\n
\n\n
0\">\n

Por favor, preencha todos os campos!

\n \n
\n \n\n
\n
\n < VOLTAR
\n
\n
\n
","\n\n\n\n
\n
Monitore
\n
\n\n
\n\n
\n
\n
\n \"Imagem\"\n
\n
\n
{{item.nome}}
\n
\n\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n

Algumas perguntas ainda não foram respondidas.

\n\n
\n
\n \n
\n
\n

Aguardando conexão para sincronizar...

\n
\n
\n
\n
\n\n\n \n
\n

 

\n

 

\n
\n \n\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MonitoreService } from 'src/services/monitore.service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms'; // Importando FormBuilder e FormGroup\nimport { DbPwaService } from 'src/services/db-pwa.service';\n\n\n\n\n@Component({\n selector: 'app-monitore',\n templateUrl: './monitore.component.html',\n styleUrls: ['./monitore.component.css']\n})\nexport class MonitoreComponent {\n\n userID: number;\n isLoading: boolean = false;\n isOnline: boolean;\n formData: FormGroup;\n\n constructor(private router: Router, private monitoreService: MonitoreService, private DBpwa: DbPwaService) {\n }\n\n DadosMonitore: any;\n ngOnInit() {\n this.userID = parseInt(sessionStorage.getItem('userID'), 10);\n\n this.isOnline = navigator.onLine;\n window.addEventListener('online', () => {\n this.isOnline = true;\n });\n\n window.addEventListener('offline', () => {\n this.isOnline = false;\n });\n\n const isOnline = window.navigator.onLine;\n\n\n if (isOnline) {\n console.log('online')\n } else {\n console.log('offline')\n }\n\n this.monitoreService.ListarFormulario(this.userID).subscribe(\n (data) => {\n this.DadosMonitore = data;\n console.log(this.DadosMonitore)\n this.isLoading = true;\n this.processarDadosMonitoreOffline();\n\n },\n (error) => {\n this.isLoading = true;\n\n console.error('Erro ao buscar monitore:', error);\n }\n );\n\n if (isOnline) {\n\n this.DBpwa.getAll().then((result: any) => {\n\n if (result && Array.isArray(result.rows)) {\n result.rows.forEach((row: any) => {\n if (row && row.doc) {\n const doc = row.doc;\n this.enviarRespostasOffline(doc);\n } else {\n console.error('Erro: O objeto retornado não está no formato esperado.');\n }\n });\n } else {\n console.error('Erro: O resultado retornado não está no formato esperado.');\n }\n }).catch(error => {\n // Trate o erro, se houver\n console.error('Erro ao obter informações:', error);\n });\n\n\n }\n }\n\n irParaMonitore() {\n this.router.navigate(['/modulos/monitore']);\n }\n\n /*Se tiver algumas respostas salvas do banco local sincroniza com nuvem, e remove do banco local*/\n enviarRespostasOffline(form) {\n\n const formData = new FormData();\n\n Object.keys(form).forEach(key => {\n if (key === 'respostas') {\n // Se a propriedade é 'respostas', trata-a separadamente\n form.respostas.forEach((resposta: any, index: number) => {\n Object.keys(resposta).forEach(respostaKey => {\n // Se a resposta é um arquivo, adicione-a ao FormData\n if (resposta[respostaKey] instanceof File) {\n formData.append(`respostas[${index}][${respostaKey}]`, resposta[respostaKey]);\n } else {\n formData.append(`respostas[${index}][${respostaKey}]`, resposta[respostaKey]);\n }\n });\n });\n } else {\n formData.append(key, form[key]);\n }\n });\n\n // console.log('Imprimindo FormData:');\n // console.log('---------------------');\n // formData.forEach((value, key) => {\n // console.log(key, ':', value);\n // });\n // console.log('---------------------');\n\n this.monitoreService.enviarRespostas(formData).subscribe(\n (response) => {\n alert(response.message);\n this.DBpwa.clearTask(form._id)\n this.irParaMonitore()\n },\n (error: any) => {\n // console.error('Erro ao salvar dados do formulário:', error);\n if (error.status == 409) {\n console.log(error.error.message);\n } else {\n }\n }\n );\n }\n\n processarDadosMonitoreOffline() {\n if (this.DadosMonitore && !this.isOnline) {\n console.log('Verificando dados ')\n this.DBpwa.getAll().then((result: any) => {\n if (result && Array.isArray(result.rows)) {\n result.rows.forEach((row: any) => {\n if (row.doc.respostas && row.doc.respostas.length > 0) {\n console.log('testa o offline')\n const objsParaAtualizar = this.DadosMonitore.filter((obj: any) => obj.id == row.doc.respostas[0].formulario_id);\n objsParaAtualizar.forEach((obj: any) => obj.respondidoOffline = true);\n } else {\n console.log(\"A propriedade 'respostas' não está definida ou está vazia.\");\n }\n });\n } else {\n console.error('Erro: O resultado retornado não está no formato esperado.');\n }\n }).catch(error => {\n // Trate o erro, se houver\n console.error('Erro ao obter informações:', error);\n });\n }\n }\n irParaTelamodulosIndex() {\n this.router.navigate(['/modulos/index']);\n }\n\n\n irParaTelaMonitore(id: number) {\n\n this.irParaTelaMonitoreForms(id)\n\n }\n\n irParaTelaMonitoreForms(id: number) {\n this.router.navigate(['/modulos/monitore/monitore_forms', id]);\n }\n\n}\n","
\n \n \n \n\n\n \n\n\n
\n\n \n
\n\n \n
\n
\n
\n \n
\n
\n

Olá, {{nome}}

\n
\n
\n
\n
\n
\n
\n \n \"\"\n \n \n \"\"\n \n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n

MURAL

\n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n

ATIVIDADES

\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

{{ novidade.titulo }}

\n

{{ novidade.descricao }}

\n
\n
\n
\n

LIDO

\n
\n \n \n
\n
\n
\n
\n\n
\n
\n

LIDAS ( {{numeroDeItensLidos}} )

\n
\"\"\n
\n
\"\"
\n
\n
\n
\n
\n

{{ novidade.titulo }}

\n

{{ novidade.descricao }}

\n
\n
\n
\n

DEL.

\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
","import { Component, ElementRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DataService } from 'src/services/dataService';\nimport { NotificationService } from 'src/services/notification.service';\nimport { novidadesServices } from 'src/services/novidades_services';\n\n@Component({\n selector: 'app-novidades',\n templateUrl: './novidades.component.html',\n styleUrls: ['./novidades.component.scss']\n})\nexport class NovidadesComponent {\n\n nome: string = '';\n novidades: any[] = []; // Inicialmente vazia\n userID: number;\n lido: boolean;\n numeroDeItensLidos: number;\n isLoading: boolean = true; // variavel responsavel por mostrar carregamento enquanto faz alguma requisicao\n foto_perfil: string;\n baseUploadUrl = 'https://api.recarrega.app.br/uploads/';\n NotificationAtiva: boolean;\n\n NovasNotification: any[] = []; // Inicialmente vazia\n\n\n constructor(\n private router: Router,\n private novidades_service: novidadesServices,\n private elementRef: ElementRef,\n private notification: NotificationService,\n private dataservice: DataService,\n\n ) { }\n estado_botao: boolean = false; // Defina o valor inicial\n\n ngOnInit(): void {\n this.nome = sessionStorage.getItem('name');\n this.userID = parseInt(sessionStorage.getItem('userID'), 10);\n this.CarregaAtividades();\n this.foto_perfil = sessionStorage.getItem('foto_perfil')\n this.getNotification();\n }\n\n CarregaAtividades() {\n this.novidades_service.getUsersNovidades(this.userID).subscribe(\n (data: any) => {\n this.novidades = data;\n // this.novidades = [{ tipo_id: 'BOAS-VINDAS AO APP!', descricao: 'Que bom ter você aqui no aplicativo do Recarrega! Se você se inscreveu em uma oficina do Recarrega, fique atento à data, hora e local da atividade. ', lida: 1, descricao_completa: 'Que bom ter você aqui no aplicativo do Recarrega! Se você se inscreveu em uma oficina do Recarrega, fique atento à data, hora e local da atividade. Você também tem à disposição duas áreas importantes para trocar informações sobre o tema da atividade selecionada. No Colabore (acrescentar ícone) você pode trocar mensagens com outros participantes da oficina. Já no Aprenda (acrescentar ícone) há mais informações sobre o tema; é um material de apoio que pode ajudar você a implementar as tecnologias do Recarrega. E se tiver qualquer problema dentro do app, você pode entrar em contato com o suporte. ' }, { tipo_id: 'Notícia', descricao: 'teste', lida: 1, descricao_completa: 'lorem kkkkkkkkkkkkkkkkkkkkk' }]\n this.numeroDeItensLidos = this.novidades.filter(novidade => novidade.lida === false).length;\n this.isLoading = false;\n },\n (error) => {\n console.error('Erro ao buscar atividades:', error);\n alert('erro')\n }\n );\n\n }\n\n lerAtividades(novidadeId: number) {\n this.lido = true;\n this.novidades_service.postUsersNovidades(this.userID, this.lido, novidadeId)\n .subscribe(\n response => {\n alert(response.message);\n this.CarregaAtividades();\n },\n error => {\n console.error('Erro ao cadastrar :', error);\n alert(error.error.message)\n }\n );\n }\n\n deleteNovidade(lido_ID: number) {\n\n this.novidades_service.deleteUsersNovidades(lido_ID).subscribe(\n (response) => {\n alert(response.message);\n this.CarregaAtividades();\n // Faça algo após a exclusão bem-sucedida\n },\n (error) => {\n console.error('Erro ao deletar novidade:', error);\n }\n );\n }\n\n scrollToDiv(divId: string): void {\n const targetElement = this.elementRef.nativeElement.querySelector('#' + divId);\n\n if (targetElement) {\n targetElement.scrollIntoView({ behavior: 'smooth' });\n }\n }\n getStyle(notificationtipo: string) {\n switch (notificationtipo) {\n case 'Atualizações app':\n return { background: '#ED7202' };\n case 'Agende':\n return { background: '#9DA34A' };\n case 'Novo conteúdo':\n return { background: '#532014' };\n case 'Notícia':\n return { background: '#003636' };\n default:\n return {}; // Se não corresponder a nenhum tipo, retorna estilos vazios\n }\n }\n\n toggleEstadoBotao() {\n this.estado_botao = !this.estado_botao;\n }\n\n irParaAtividades() {\n this.router.navigate(['/modulos/index']);\n }\n\n showModalNotification: boolean = false;\n OpenModalNotification(data: any) {\n this.showModalNotification = true;\n this.NovasNotification = data;\n\n\n }\n\n closeModalNotification() {\n this.showModalNotification = false;\n\n }\n getNotification() {\n\n this.notification.getUserNotification().subscribe(\n (data: any) => {\n this.notification = data;\n\n if (data.length > 0) {\n this.NotificationAtiva = true\n } else {\n this.NotificationAtiva = false\n }\n\n },\n (error: any) => {\n console.error('erro:', error)\n }\n )\n }\n\n DadosMural: any[] = [];\n\n\n mostrarModal = false; // Inicialmente, o modal está oculto\n dadosDoMural: any[]; // Aqui você pode definir os dados a serem passados para o modal\n \n abrirModal(data:any[]) {\n this.mostrarModal = true;\n this.DadosMural = data;\n // Defina os dados a serem passados para o modal em this.dadosDoMural, se necessário\n }\n \n fecharModal() {\n this.mostrarModal = false;\n this.dataservice.Resetclick();\n }\n\n onOutsideClick(event: MouseEvent): void {\n const modalContent = this.elementRef.nativeElement.querySelector('.modal-container');\n\n if (modalContent != null) {\n\n if (this.mostrarModal && this.dataservice.clickCount >= 1) {\n const clickedElement = event.target as HTMLElement;\n console.log(\"fechando Modal pelo componente pai\")\n\n if (clickedElement !== modalContent && !(modalContent as HTMLElement).contains(clickedElement)) {\n this.fecharModal();\n console.log(\"fechando Modal pelo componente pai\")\n }\n\n } else {\n this.dataservice.incrementClick();\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-rota-home',\n templateUrl: './rota-home.component.html',\n styleUrls: ['./rota-home.component.css']\n})\nexport class RotaHomeComponent {\n\n\n constructor(private router:Router){\n\n }\n\n irParahomeSp(){\n this.router.navigate(['home_sp'])\n }\n\n irParahomeCe(){\n this.router.navigate(['home_ce'])\n }\n}\n","
\n\n
\n
\"\"
\n\n
Recarrega
\n
\n \n \n
São Paulo
\n \n \n \n
\n
\n \n \n
Ceará
\n \n \n \n
\n
\n
\n
\n
\n
\n\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AtualizarCadastroComponent } from 'src/app/cadastro-usuario/atualizar-cadastro/atualizar-cadastro.component';\nimport { CadastroService } from 'src/services/Cadastrar-User.service.';\nimport { UserService } from 'src/services/user.service';\nimport { take } from 'rxjs/operators';\nimport { NgbDateStruct, NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\nimport { opcoesGenero } from '../../../services/genero';\n\n@Component({\n selector: 'app-usuario',\n templateUrl: './usuario.component.html',\n styleUrls: ['./usuario.component.css']\n})\nexport class UsuarioComponent {\n opcoesGenero = opcoesGenero;\n\n userData: any;\n isLoading: boolean = false; // variavel responsavel por mostrar carregamento enquanto faz alguma requisicao\n imageLoaded = false;\n idadeTemp: string; // Propriedade temporária para usar com ngModel\n minDate: NgbDateStruct;\n\n\n isEditing = false;\n editField: string | null = null;\n editedFields: { [fieldName: string]: boolean } = {};\n profileImageFile: File | null = null;\n\n\n constructor(\n private userService: UserService,\n private router: Router,\n private atualizarUsuario: CadastroService,\n private ngbDateParserFormatter: NgbDateParserFormatter) {\n \n const currentDate = new Date();\n // Calcule a data mínima\n this.minDate = { year: currentDate.getFullYear() - 100, month: 1, day: 1 };\n\n }\n\n ngOnInit(): void {\n const token = sessionStorage.getItem('token');\n this.getUserInfo(token);\n }\n\n getUserInfo(token: string): void {\n this.isLoading = true;\n\n this.userService.getUserData(token).subscribe(\n (data) => {\n // Os dados do usuário serão retornados aqui\n this.userData = data;\n this.imageLoaded = true;\n // Verificar se a propriedade foto_perfil está presente, vazia ou nula nos dados\n this.isLoading = false;\n\n if (!this.userData.foto_perfil || this.userData.foto_perfil.trim() === '') {\n this.userData.foto_perfil = '../../assets/editar_perfil.svg';\n this.imageLoaded = false;\n } else {\n // Concatenar a URL da imagem apenas se a propriedade foto_perfil não estiver vazia\n // this.userData.foto_perfil = 'http://127.0.0.1:8000/uploads/' + this.userData.foto_perfil; // para desenvolvimento\n this.userData.foto_perfil = 'https://api.recarrega.app.br/uploads/' + this.userData.foto_perfil;\n\n }\n\n },\n (error) => {\n this.isLoading = false;\n console.error('Erro ao obter dados do usuário:', error);\n }\n );\n }\n\n irParaTelaHomeInterna() {\n this.router.navigate(['/login']);\n }\n\n\n startEditing(fieldName: string): void {\n this.isEditing = true;\n this.editField = fieldName;\n }\n\n saveEdit(fieldName: string): void {\n this.editField = null;\n this.editedFields[fieldName] = true;\n\n if(fieldName ==='idade'){\n console.log(\"convertendo data\");\n this.userData.idade = this.transformDateToString(this.idadeTemp)\n }\n }\n\n\n toggleEdit(): void {\n this.isEditing = !this.isEditing;\n this.editField = null;\n }\n\n saveAllEdits(): void {\n const editedData = new FormData();\n\n const fieldsToCheck = ['email', 'numero_celular', 'idade', 'genero', 'foto_perfil'];\n fieldsToCheck.forEach(fieldName => {\n if (this.editedFields[fieldName]) {\n if (fieldName === 'foto_perfil') {\n editedData.append(fieldName, this.profileImageFile);\n } else {\n editedData.append(fieldName, this.userData[fieldName]);\n }\n }\n });\n\n console.log(editedData)\n this.atualizarUsuario.atualizarUsuarioWithfoto(sessionStorage.getItem('userID'), editedData).pipe(\n take(1)\n ).subscribe(\n (response: any) => {\n console.log('Usuário atualizado com sucesso:', response);\n this.isLoading = false;\n this.router.navigate(['/modulos/index']);\n },\n (error) => {\n console.error('Erro ao atualizar o usuário:', error);\n this.isLoading = false;\n }\n );\n }\n\n\n onProfileImageSelected(event: any): void {\n const file = event.target.files[0];\n const reader = new FileReader();\n this.imageLoaded = true;\n\n reader.onload = () => {\n // Definir a imagem carregada pelo usuário como a imagem de perfil\n this.userData.foto_perfil = reader.result as string;\n };\n\n console.log('aqui')\n\n if (file) {\n reader.readAsDataURL(file);\n this.profileImageFile = file;\n this.saveEdit('foto_perfil');\n }\n }\n\n\n\n transformDateToString(dateInfo: any): string {\n const day = dateInfo.day < 10 ? `0${dateInfo.day}` : dateInfo.day;\n const month = dateInfo.month < 10 ? `0${dateInfo.month}` : dateInfo.month;\n\n return `${day}-${month}-${dateInfo.year}`;\n }\n}\n\n\n\n\n\n","\n\n\n\n
\n
\n
\n \n\n \n \n
\n\n
\n
\n
\n E-mail:\n
\n {{ userData?.email }}\n
\n
\n\n
\n Celular:\n
\n \n {{ userData?.numero_celular }}\n \n \n \n \n \n \n \n \n
\n
\n\n
\n Dt. Nascimento:\n
\n \n {{ userData?.idade }}\n \n \n \n \n \n \n \n \n\n \n
\n
\n\n
\n Gênero:\n
\n \n {{ userData?.genero }}\n \n \n \n \n \n \n \n \n
\n
\n\n
\n
\n

{{ isEditing ? 'SALVAR' : 'EDITAR' }}

\n\n
\n
\n  \n  \n
\n
\n\n
\n
\n
\n
\n\n\n\n","import { Component, OnInit, Renderer2, ElementRef, ViewChild, HostListener } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { NgbCarousel } from '@ng-bootstrap/ng-bootstrap'; // Importe o NgbCarousel\nimport 'hammerjs';\n\n\n@Component({\n selector: 'app-teste',\n templateUrl: './teste.component.html',\n styleUrls: ['./teste.component.css']\n})\nexport class TesteComponent implements OnInit {\n selectedFile: File;\n pages: any = [];\n convertedText: string;\n isWebShareSupported: boolean;\n\n @ViewChild('carousel', { static: false }) carousel: NgbCarousel; // Obtenha a referência ao carrossel\n\n constructor(\n private renderer: Renderer2, private el: ElementRef, private sanitizer: DomSanitizer) { }\n\n ngAfterViewInit() {\n // Aplica a classe aos indicadores após o conteúdo ser renderizado\n\n this.adicionarClasseAoH1();\n this.addSizeClassToImages();\n\n }\n\n\n\n\n @HostListener('document:touchstart', ['$event'])\n onTouchStart(event: TouchEvent) {\n // Registre a posição inicial do toque\n const touchStartX = event.touches[0].clientX;\n this.el.nativeElement.setAttribute('data-touchstart-x', touchStartX.toString());\n }\n\n @HostListener('document:touchend', ['$event'])\n onTouchEnd(event: TouchEvent) {\n // Compare a posição inicial e final para determinar o deslizamento\n const touchEndX = event.changedTouches[0].clientX;\n const touchStartX = parseFloat(this.el.nativeElement.getAttribute('data-touchstart-x'));\n\n if (touchStartX < touchEndX) {\n this.detectSwipe('right');\n } else if (touchStartX > touchEndX) {\n this.detectSwipe('left');\n }\n }\n\n @HostListener('document:mousedown', ['$event'])\n onMouseDown(event: MouseEvent) {\n // Registre a posição inicial do mouse\n this.el.nativeElement.setAttribute('data-mousestart-x', event.clientX.toString());\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseUp(event: MouseEvent) {\n // Compare a posição inicial e final do mouse para determinar o deslizamento\n const mouseEndX = event.clientX;\n const mouseStartX = parseFloat(this.el.nativeElement.getAttribute('data-mousestart-x'));\n\n if (mouseStartX < mouseEndX) {\n this.detectSwipe('right');\n } else if (mouseStartX > mouseEndX) {\n this.detectSwipe('left');\n }\n }\n\n detectSwipe(direction: string) {\n // Função para lidar com o deslizamento (swipe)\n\n if (direction === 'left') {\n this.carousel.next(); // Avançar para o próximo slide\n } else if (direction === 'right') {\n this.carousel.prev(); // Voltar para o slide anterior\n }\n }\n\n adicionarClasseAoH1() {\n const elements = document.querySelectorAll('.text h1');\n elements.forEach((element) => {\n element.classList.add('text-h1');\n });\n }\n\n addSizeClassToImages() {\n const imgElements = this.el.nativeElement.querySelectorAll('img');\n imgElements.forEach((imgElement) => {\n const alt = imgElement.getAttribute('alt');\n if (alt) {\n if (alt.includes('pequena')) {\n this.renderer.addClass(imgElement, 'img-pequena');\n } else if (alt.includes('media')) {\n this.renderer.addClass(imgElement, 'img-media');\n } else if (alt.includes('grande')) {\n this.renderer.addClass(imgElement, 'img-grande');\n }\n }\n });\n }\n\n addFixedStyleToClass(className) {\n const elements = document.querySelectorAll('.' + className);\n \n elements.forEach((element) => {\n if (element instanceof HTMLElement) {\n console.log('add estilo')\n element.style.position = 'fixed';\n }\n });\n }\n \n // Chame a função com o nome da classe que você deseja estilizar\n \n \n // Chame a função com o nome da classe que você deseja estilizar\n\n\n splitContentIntoPages(content: string) {\n // Divide o conteúdo em páginas com base na marcação \n const pagesArray = content.split('');\n\n for (let i = 0; i < pagesArray.length; i++) {\n let pageContent = pagesArray[i].trim();\n\n // Verifica se o conteúdo da página contém uma tag iframe\n const iframeRegex = /]*src=[\"'](https?:\\/\\/[^\"']+)[\"'][^>]*>/i;\n\n const tamanhoDaImagem = this.getTamanhoDaImagem(pageContent);\n const tamanhoClass = tamanhoDaImagem !== 'desconhecido' ? `imagem-${tamanhoDaImagem}` : '';\n\n if (pageContent) { // Verifica se o conteúdo da página não está vazio\n this.pages.push({\n content: this.sanitizer.bypassSecurityTrustHtml(pageContent),\n legend: `Página ${this.pages.length + 1}`, // Pode personalizar as legendas aqui\n tamanhoClass: tamanhoClass,\n });\n }\n }\n console.log(this.pages);\n }\n\n\n getTamanhoDaImagem(html: string): string {\n if (html.includes('classe=\"grande\"')) {\n return 'grande';\n } else if (html.includes('classe=\"media\"')) {\n return 'media';\n } else if (html.includes('classe=\"pequena\"')) {\n return 'pequena';\n } else {\n return 'desconhecido'; // Se nenhuma classe for encontrada\n }\n }\n\n processConvertedText(html: string) {\n // Verifica se o HTML contém um iframe\n const iframeRegex = /]*src=[\"'](https?:\\/\\/[^\"']+)[\"'][^>]*>/i;\n const match = iframeRegex.exec(html);\n\n if (match) {\n const iframeUrl = match[1];\n this.pages[0].videoUrl = iframeUrl; // Adiciona o URL do iframe à primeira página\n }\n }\n\n DadosMural: any[] = [];\n\n mostrarModal = false; // Inicialmente, o modal está oculto\n dadosDoMural: any[]; // Aqui você pode definir os dados a serem passados para o modal\n \n abrirModal() {\n this.mostrarModal = true;\n // Defina os dados a serem passados para o modal em this.dadosDoMural, se necessário\n }\n \n fecharModal() {\n this.mostrarModal = false;\n }\n\n ngOnInit() {\n // Verifica se a API navigator.share está disponível\n if (navigator.share) {\n this.isWebShareSupported = true;\n } else {\n }\n }\n\n // openModal(button: number): void {\n // console.log('abrindo modal');\n // this.showModal = true;\n // this.selectedButton = button;\n // this.clickCount = 0;\n\n // // Adicionar evento de clique fora do modal\n // this.ngZone.runOutsideAngular(() => {\n // document.addEventListener('click', this.onDocumentClick);\n // });\n // }\n\n compartilharLink(url,titulo,text) {\n if (navigator.share) {\n navigator.share({\n title: titulo,\n text: text,\n url: 'https://www.recarrega.app.br/model/novidades/'+url,\n })\n .then(() => console.log('Conteúdo compartilhado com sucesso!'))\n .catch((error) => console.error('Erro ao compartilhar conteúdo:', error));\n }\n }\n \n\n}\n\n","
\n

Hortas e pomares

\n \n
\n\n
\n
\n
\n
\n

Escola Pública Estadual Professor Almeida Junior

\n
\n
\n \"\"\n
\n
\n
\n
\n

Escola Pública Estadual Professor Almeida Junior

\n
\n
\n \"\"\n
\n
\n
\n
\n

Escola Pública Estadual Professor Almeida Junior

\n
\n
\n \"\"\n
\n
\n
\n
\n

Escola Pública Estadual Professor Almeida Junior

\n
\n
\n \"\"\n
\n
\n
\n
\n

Escola Pública Estadual Professor Almeida Junior

\n
\n
\n \"\"\n
\n
\n
\n
\n

Escola Pública Estadual Professor Almeida Junior

\n
\n
\n \"\"\n
\n
\n
\n
\n

Escola Pública Estadual Professor Almeida Junior

\n
\n
\n \"\"\n
\n
\n\n
\n

© 2023 Agir Ambiental, Todos os direitos reservados

\n
","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appMaskPhoneNumber]'\n})\nexport class MaskPhoneNumberDirective {\n constructor(private el: ElementRef) {}\n\n /**\n * Diretiva para aplicar uma máscara a um campo de entrada de telefone.\n * A máscara é exibida enquanto o usuário digita e permite a exclusão do traço (-) durante a edição.\n * Ela formata o número no formato (99) 9 9999-9999.\n *\n * @param event O evento de entrada de texto.\n */\n @HostListener('input', ['$event'])\n onInput(event: any) {\n // Remove todos os caracteres não numéricos\n let telefone = event.target.value.replace(/\\D/g, '');\n\n // Aplica a máscara com base no tamanho do número de telefone\n if (telefone.length <= 10) {\n telefone = telefone.replace(/^(\\d{2})(\\d{1,4})(\\d{0,4}).*/, '($1) $2-$3');\n } else {\n telefone = telefone.replace(/^(\\d{2})(\\d{1,5})(\\d{0,4}).*/, '($1) $2-$3');\n }\n\n // Atualiza o valor do campo de entrada com a máscara\n event.target.value = telefone;\n }\n\n /**\n * Manipula o evento keydown para permitir a exclusão do traço (-) apenas durante a edição.\n *\n * @param event O evento de tecla pressionada.\n */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLInputElement; // Cast para HTMLInputElement\n\n // Verifica se a tecla pressionada é o 'Backspace' e se não há seleção de texto\n if (event.key === 'Backspace' && target.selectionStart === target.selectionEnd) {\n let telefone = target.value.replace(/\\D/g, '');\n\n // Permite a exclusão do traço (-) apenas durante a edição\n if (telefone.length <= 9) {\n telefone = telefone.substring(0, telefone.length - 1);\n }\n\n // Aplica a máscara novamente com base no tamanho do número de telefone\n if (telefone.length <= 10) {\n telefone = telefone.replace(/^(\\d{2})(\\d{1,4})(\\d{0,4}).*/, '($1) $2-$3');\n } else {\n telefone = telefone.replace(/^(\\d{2})(\\d{1,5})(\\d{0,4}).*/, '($1) $2-$3');\n }\n\n // Atualiza o valor do campo de entrada com a máscara\n target.value = telefone;\n }\n }\n}\n","export const environment = {\n production: true\n , // Defina como true em ambiente de producao\n\n apiUrl: '',\n firebaseConfig: {\n apiKey: \"AIzaSyCqALZnsibY05-PlF8mqcmEnzCMj0QolRA\",\n authDomain: \"recarregateste.firebaseapp.com\",\n projectId: \"recarregateste\",\n storageBucket: \"recarregateste.appspot.com\",\n messagingSenderId: \"404895852521\",\n appId: \"1:404895852521:web:f55ecca7fab83d61d74d78\",\n measurementId: \"G-F5B8FDFLSF\",\n vapidKey:\"BIWcbH2oac1U4ehkfHAxScvbMoTmxh-2CTUxiqS7DGolA8d1aa07HFSIpBUtCp_97iWu9IkPyvh1lCW-baj-wzs\"\n },\n};\n\n\nif (environment.production) {\n environment.apiUrl = 'https://api.recarrega.app.br/api'; // URL da API para ambiente de producao\n} else {\n environment.apiUrl = 'http://127.0.0.1:8000/api'; // URL da API para ambiente de desenvolvimento ou teste\n}\n\n\n\n\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nif ('serviceWorker' in navigator && environment.production) {\n window.addEventListener('load', () => {\n navigator.serviceWorker.register('/firebase-messaging-sw.js')\n .then(registration => {\n // console.log('Service Worker registrado com sucesso:', registration);\n })\n .catch(error => {\n console.error('Erro ao registrar Service Worker:', error);\n });\n });\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { Observable } from 'rxjs';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AprendaService {\n private apiUrl: string;\n private token = sessionStorage.getItem('token'); // Obtém o token de autorização da sessionStorage\n\n constructor(private http: HttpClient) {\n this.apiUrl = environment.apiUrl;\n }\n\n\n getAprendaConteudo() {\n const url = `${this.apiUrl}/aprenda/conteudos`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n }\n\n getAprendaConteudoById(id:number) {\n const url = `${this.apiUrl}/aprenda/conteudos/${id}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n }\n\n getAprendaSubConteudo(id:number) {\n const url = `${this.apiUrl}/aprenda/subconteudos/${id}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n }\n\n getAprendaSubConteudoById(id:number) {\n const url = `${this.apiUrl}/aprenda/subconteudos/id/${id}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n }\n\n // postUsersNovidades(user_id: number, lido: boolean, novidade_id: number): Observable {\n // const payload = {\n // user_id: user_id,\n // novidade_id: novidade_id,\n // lido: lido\n // };\n // const url = `${this.apiUrl}/lido`;\n // const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`);\n\n // return this.http.post(url, payload, { headers });\n // }\n\n\n // deleteUsersNovidades(novidade_id: number): Observable {\n // const url = `${this.apiUrl}/lido/${novidade_id}`;\n // const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`);\n // return this.http.delete(url, { headers });\n // }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\n\n\nexport class Atividades_service {\n private apiUrl = environment.apiUrl;\n \n constructor(private http: HttpClient) { }\n private token = sessionStorage.getItem('token'); // Obtém o token de autorização da sessionStorage\n\n \n getCidadeTema() {\n const url = `${this.apiUrl}/cidades_temas`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n\n }\n\n getAtividades() {\n const url = `${this.apiUrl}/atividades`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n \n }\n getUsersAtividade(idusers: number) {\n const url = `${this.apiUrl}/atividades_usuarios/${idusers}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n }\n\n\n\n getAtividadesById(id_atividade: number) {\n const url = `${this.apiUrl}/atividades/id/${id_atividade}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n \n }\n\n getAtividadesByIdgrupotipos(idgrupotipos: number) {\n const url = `${this.apiUrl}/atividades/idgrupotipos/${idgrupotipos}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n \n }\n\n postUsersAtividade(iduser: string, id_atividade: number): Observable {\n const payload = {\n id_users: iduser,\n id_atividade: id_atividade\n }\n \n const url = `${this.apiUrl}/atividades_usuarios`; // Substitua \"/users\" pelo endpoint correto de atualização do usuário\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.post(url, payload, { headers });\n }\n }\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { Observable } from 'rxjs';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AtualizarSenha {\n private apiUrl: string;\n private token = sessionStorage.getItem('token'); // Obtém o token de autorização da sessionStorage\n\n constructor(private http: HttpClient) {\n this.apiUrl = environment.apiUrl;\n }\n\n enviarEmailRedefinicaoSenha(email: string): Observable {\n const payload = {\n email: email\n };\n\n const url = `${this.apiUrl}/enviar-email-redefinicao-senha`;\n return this.http.post(url, payload);\n }\n\n alterarSenha(id: string, password: string, token: string): Observable {\n const payload = {\n id: id,\n password: password,\n token: token\n };\n \n const url = `${this.apiUrl}/alterar-senha`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`);\n \n return this.http.post(url, payload, { headers });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../environments/environment';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n private apiUrl: string;\n\n constructor(private http: HttpClient) {\n this.apiUrl = environment.apiUrl;\n }\n \n loginWithGoogle(): void {\n const url = `${this.apiUrl}/auth/google`;\n const newTab = window.open(url, '_blank');\n // Verificar se a nova aba foi aberta com sucesso\n if (newTab) {\n // Adicione um evento para escutar a mensagem da nova aba\n window.addEventListener('message', (event) => {\n\n if (event.source === newTab) {\n const response = event.data;\n console.log('Resposta de login do Google:', response);\n // Aqui você pode realizar as ações necessárias com a resposta, como autenticação ou redirecionamento.\n }\n });\n }\n }\n \n login(email: string, password: string) {\n const body = {\n email: email,\n password: password\n };\n \n const url = `${this.apiUrl}/auth/login`;\n \n return this.http.post(url, body);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { Observable } from 'rxjs';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CadastroService {\n private apiUrl: string;\n private token = sessionStorage.getItem('token'); // Obtém o token de autorização da sessionStorage\n\n constructor(private http: HttpClient) {\n this.apiUrl = environment.apiUrl;\n }\n\n cadastrarUsuario(nome: string, email: string, password: string, celular: string, idade: string, genero: string) {\n const payload = {\n name: nome,\n email: email,\n password: password,\n numero_celular: celular,\n idade: idade,\n genero: genero\n };\n\n return this.http.post(`${this.apiUrl}/cadastro`, payload);\n }\n\n\n atualizarUsuarioWithfoto(id: string, data: FormData): Observable {\n const url = `${this.apiUrl}/users_atualizar/${id}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`);\n return this.http.post(url, data, { headers });\n }\n\n atualizarUsuario(id: string, idade: string, celular: string, genero: string): Observable {\n const payload = {\n idade: idade,\n numero_celular: celular,\n genero: genero\n };\n\n const url = `${this.apiUrl}/users_atualizar/${id}`; // Substitua \"/users\" pelo endpoint correto de atualização do usuário\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.post(url, payload, { headers });\n\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\n\nconst I18N_VALUES = {\n 'pt-BR': {\n weekdays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'],\n months: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],\n },\n};\n\n@Injectable()\nexport class CustomDatepickerI18nService extends NgbDatepickerI18n {\n getWeekdayLabel(weekday: number): string {\n return I18N_VALUES['pt-BR'].weekdays[weekday - 1];\n }\n\n getMonthShortName(month: number): string {\n return I18N_VALUES['pt-BR'].months[month - 1];\n }\n\n getMonthFullName(month: number): string {\n return I18N_VALUES['pt-BR'].months[month - 1];\n }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n return `${date.day}-${date.month}-${date.year}`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { Groups } from 'src/app/chat/chat-index/chat.model';\n\n@Injectable({\n providedIn: 'root'\n})\n\n\nexport class ForumService {\n private apiUrl = environment.apiUrl;\n\n constructor(private http: HttpClient) { }\n private token = sessionStorage.getItem('token'); // Obtém o token de autorização da sessionStorage\n\n\n getConversationsInForum(user_id: number): Observable {\n const url = `${this.apiUrl}/forums/conversations/${user_id}`;\n const token = sessionStorage.getItem('token'); // Obtém o token de autorização da sessionStorage\n const headers = new HttpHeaders().set('Authorization', `Bearer ${token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n }\n\n getConversationsInForumBySuporte(user_id: number): Observable {\n const url = `${this.apiUrl}/forums/conversations/suporte/${user_id}`;\n const token = sessionStorage.getItem('token'); // Obtém o token de autorização da sessionStorage\n const headers = new HttpHeaders().set('Authorization', `Bearer ${token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n }\n \n getUsersByForum(user_id: number): Observable {\n const url = `${this.apiUrl}/users_forum/${user_id}`;\n const token = sessionStorage.getItem('token'); // Obtém o token de autorização da sessionStorage\n const headers = new HttpHeaders().set('Authorization', `Bearer ${token}`); // Define o cabeçalho com o token de autorização\n\n return this.http.get(url, { headers });\n\n }\n\n postConversationInForum(forumId: number, conversationData: any): Observable {\n const url = `${this.apiUrl}/forums/${forumId}/conversations`;\n const token = sessionStorage.getItem('token');\n const headers = new HttpHeaders().set('Authorization', `Bearer ${token}`);\n\n return this.http.post(url, conversationData, { headers });\n }\n\n postConversationInForumDocumentos(forumId: number, conversationData: any): Observable {\n const url = `${this.apiUrl}/forums/${forumId}/storeconversation`;\n const token = sessionStorage.getItem('token');\n const headers = new HttpHeaders().set('Authorization', `Bearer ${token}`);\n\n return this.http.post(url, conversationData, { headers });\n }\n\n addForumToUser(atividade: number, user_id: number) {\n const url = `${this.apiUrl}/user/${user_id}/atividade/${atividade}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.post(url, { headers });\n }\n\n markMessagesAsRead(messageIds: number[]) {\n const url = `${this.apiUrl}/read`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.post(url, { message_ids: messageIds }, { headers });\n }\n\n MessagesUnReadByUserid( user_id: number) {\n const url = `${this.apiUrl}/unread/${user_id}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.post(url, { user_id: user_id }, { headers });\n }\n\n\n EditMessagesById(messageId: number, content: string) {\n const payload = {\n content: content\n };\n const url = `${this.apiUrl}/user/message/${messageId}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.post(url,payload,{ headers });\n }\n\n DeleteMessagesById(messageId: number) {\n const payload = {\n };\n const url = `${this.apiUrl}/user/message/delete/${messageId}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.post(url,payload ,{ headers });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { environment } from \"../environments/environment\";\nimport { getMessaging, getToken, onMessage } from \"firebase/messaging\";\nimport { HttpClient,HttpHeaders } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Tokenfcm {\n token: string = '';\n message: any = null;\n private apiUrl: string;\n private sessionStorageKey = 'firebaseToken'; // Chave para armazenar o token na sessão\n\n\n constructor(private http: HttpClient) {\n this.apiUrl = environment.apiUrl;\n }\n requestPermission(): Promise {\n const messaging = getMessaging();\n\n const storedToken = sessionStorage.getItem(this.sessionStorageKey);\n\n\n return getToken(messaging, { vapidKey: environment.firebaseConfig.vapidKey })\n .then((currentToken) => {\n if (currentToken) {\n this.token = currentToken;\n\n if (!storedToken || currentToken !== storedToken) {\n this.sendTokenToBackend(currentToken);\n }\n\n } else {\n console.log('Nenhum token de registro disponível. Solicite permissão para gerar um.');\n }\n })\n .catch((err) => {\n console.error('Ocorreu um erro ao recuperar o token:', err);\n });\n\n }\n\n\n private sendTokenToBackend(token: string) {\n\n const userId = sessionStorage.getItem('userID'); // Obter user_id da sessionStorage\n\n const data = { token, id_usuario: userId };\n const tokenjwt = sessionStorage.getItem('token');\n const headers = new HttpHeaders().set('Authorization', `Bearer ${tokenjwt}`);\n\n this.http.post(this.apiUrl + '/update-token', data,{headers}).subscribe(\n (response) => {\n console.log( response)\n sessionStorage.setItem(this.sessionStorageKey, token);\n },\n (error) => {\n console.error('Erro ao enviar o token para o backend: ', error.error.message);\n }\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate {\n constructor(private router: Router) {}\n\n canActivate(): boolean {\n const token = sessionStorage.getItem('token');\n\n if (token) {\n // O usuário tem um token válido na sessionStorage, permite o acesso à rota\n return true;\n } else {\n // O usuário não tem um token válido na sessionStorage, redireciona para o componente de login\n this.router.navigateByUrl('/login');\n return false;\n }\n }\n}\n","// data.service.ts\n// Servico para compartilhar variaveis entre componentes\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataService {\n private email: string = '';\n\n setEmail(email: string) {\n this.email = email;\n }\n\n getEmail(): string {\n return this.email;\n }\n\n private atividadeIdSource = new BehaviorSubject(null);\n atividadeId$ = this.atividadeIdSource.asObservable();\n setAtividadeId(id: number) {\n this.atividadeIdSource.next(id);\n }\n\n clickCount = 0;\n\n\n\n Resetclick() {\n this.clickCount = 0;\n // console.log('Zerando clickCount: ' + this.clickCount);\n }\n\n incrementClick() {\n this.clickCount++;\n // console.log('Incrementando clickCount: ' + this.clickCount);\n }\n}\n","\nimport { Injectable } from '@angular/core';\nimport PouchDB from 'pouchdb-browser';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class DbPwaService {\n\n\n\n private db: any\n\n constructor() {\n this.db = new PouchDB('teste')\n }\n\n public addTask = (data) => {\n // Verifica se já existe um _id nos dados\n if (!data._id) {\n // Se não houver um _id, gera um novo\n data._id = new Date().toISOString();\n }\n \n this.db.get(data._id).then((doc: any) => {\n delete data._id;\n doc = Object.assign(doc, data);\n this.db.put(doc);\n }).catch(() => {\n // Se não encontrou, simplesmente insere os dados\n this.db.put(data);\n });\n }\n \n public getAll = () => new Promise((resolve, reject) => {\n this.db.allDocs({\n include_docs: true,\n attachaments: true\n }).then((rows) => {\n resolve(rows)\n }).catch(() => {\n reject(null);\n })\n })\n\n public clearTask(id): Promise {\n return this.db.allDocs({ include_docs: true }).then((result) => {\n // Encontra o documento com a data correspondente\n const docToDelete = result.rows.find(row => row.doc._id === id);\n if (docToDelete) {\n // Remove o documento encontrado\n return this.db.remove(docToDelete.doc);\n } else {\n throw new Error('Documento não encontrado com a data fornecida.');\n }\n }).catch((error) => {\n console.error('Erro ao remover tarefa:', error);\n throw error;\n });\n }\n \n}"," export const opcoesGenero = [\n { value: '', label: 'SELECIONE O GÊNERO' },\n { value: 'masculino', label: 'MASCULINO' },\n { value: 'feminino', label: 'FEMINIO' },\n { value: 'outro', label: 'OUTRO' },\n { value: 'nao-binario', label: 'NÃO-BINÁRIO' },\n { value: 'transexual-transgenero', label: 'TRANSEXUAL/TRANSGÊNERO' },\n { value: 'prefiro-nao-dizer', label: 'PREFIRO NÃO DIZER' }\n ];\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class MonitoreService {\n private apiUrl: string;\n private token = sessionStorage.getItem('token'); \n\n constructor(private http: HttpClient) {\n this.apiUrl = environment.apiUrl;\n }\n\n enviarRespostas(payload: any): Observable {\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); \n\n const url =`${this.apiUrl}/monitore/respostas`; \n\n console.log(payload)\n return this.http.post(url, payload, { headers });\n }\n\n enviarRespostaUnica(payload: any): Observable {\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); \n\n const url =`${this.apiUrl}/monitore/salvar-resposta`; \n\n console.log(payload)\n return this.http.post(url, payload, { headers });\n }\n\n\n ListarRespostasByIdForm(user_id: number,formulario_id: number) {\n const url = `${this.apiUrl}/monitore/respostas/user/${user_id}/${formulario_id}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); \n return this.http.get(url, { headers });\n }\n\n ListarFormulario(user_id: number) {\n const url = `${this.apiUrl}/formularios/${user_id}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); \n return this.http.get(url, { headers });\n }\n\n getByIDPerguntasFormulario(formulario_id: number) {\n const url = `${this.apiUrl}/formularios/pergunta/${formulario_id}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); \n return this.http.get(url, { headers });\n }\n\n}\n","\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from '../environments/environment';\nimport { Observable } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationService {\n private apiUrl: string;\n constructor(private http: HttpClient) {\n this.apiUrl = environment.apiUrl;\n }\n private token = sessionStorage.getItem('token'); // Obtém o token de autorização da sessionStorage\n\n getUserNotification() {\n const url = `${this.apiUrl}/index_notifications`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n\n }\n\n updateNotification(id: number, data: any): Observable {\n const url = `${this.apiUrl}/index_notifications/${id}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`);\n \n return this.http.put(url, data, { headers });\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { Observable } from 'rxjs';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class novidadesServices {\n private apiUrl: string;\n private token = sessionStorage.getItem('token'); // Obtém o token de autorização da sessionStorage\n\n constructor(private http: HttpClient) {\n this.apiUrl = environment.apiUrl;\n }\n\n\n getUsersNovidades(user_id: number) {\n const url = `${this.apiUrl}/lido/novidade/users/${user_id}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`); // Define o cabeçalho com o token de autorização\n return this.http.get(url, { headers });\n\n }\n\n postUsersNovidades(user_id: number, lido: boolean, novidade_id: number): Observable {\n const payload = {\n user_id: user_id,\n novidade_id: novidade_id,\n lido: lido\n };\n const url = `${this.apiUrl}/lido`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`);\n\n return this.http.post(url, payload, { headers });\n }\n\n\n deleteUsersNovidades(novidade_id: number): Observable {\n const url = `${this.apiUrl}/lido/${novidade_id}`;\n const headers = new HttpHeaders().set('Authorization', `Bearer ${this.token}`);\n return this.http.delete(url, { headers });\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PwaInstallService {\n\n private deferredPrompt: any;\n\n constructor() { }\n\n setupInstallBanner() {\n window.addEventListener('beforeinstallprompt', (event) => {\n event.preventDefault();\n this.deferredPrompt = event;\n });\n }\n\n installPWA() {\n if (this.deferredPrompt) {\n this.deferredPrompt.prompt();\n this.deferredPrompt.userChoice.then((choiceResult: any) => {\n if (choiceResult.outcome === 'accepted') {\n } else {\n }\n this.deferredPrompt = null;\n });\n }\n }\n\n //Verifica se esta instalado\n isPWAInstalled(): boolean {\n const navigatorAny: any = window.navigator;\n const isInStandaloneMode = () => ('standalone' in navigatorAny) && (navigatorAny.standalone);\n return (isInStandaloneMode() || (window.matchMedia('(display-mode: standalone)').matches));\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { webSocket, WebSocketSubject } from 'rxjs/webSocket';\nimport { Observable, Subject,map } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SocketService {\n private socket$: WebSocketSubject;\n private newMessageSubject: Subject = new Subject();\n private onlineUsersSubject: Subject = new Subject();\n private isConnected: boolean = false;\n private userId: number;\n\n constructor() {\n this.userId = 0;\n }\n\n async connectWebSocket(userId: number) {\n const authKey = '4a7b9c2e-f1d8-4f96-8b39-7c31e18c5a23';\n this.socket$ = webSocket(`wss://api.recarrega.app.br:3000?authKey=${authKey}&userId=${userId}`);\n\n this.socket$.subscribe(\n () => {\n this.isConnected = true;\n },\n (error) => {\n this.isConnected = false;\n console.error('Falha ao conectar ao servidor WebSocket:', error);\n }\n );\n\n this.socket$.subscribe(\n (message: any) => {\n this.newMessageSubject.next(message);\n },\n (error: any) => {\n this.isConnected = false;\n console.error('Erro ao receber mensagem do servidor WebSocket:', error);\n },\n () => {\n this.isConnected = false;\n }\n );\n }\n\n getSocket() {\n return this.socket$;\n }\n\n async sendMessage(message: any): Promise {\n try {\n const messageJSON = JSON.stringify(message);\n this.socket$.next(message);\n return true;\n } catch (error) {\n console.error('Erro ao enviar mensagem para o servidor WebSocket:', error);\n return false;\n }\n }\n\n getNewMessageObservable(): Observable {\n return this.newMessageSubject.asObservable();\n }\n\n getConnectionStatus(): boolean {\n return this.isConnected;\n }\n\n // Método para obter a lista de usuários online\n getOnlineUsersList(): Observable {\n return this.socket$.pipe(\n map((message: any) => {\n if (message.type == 'updateUserList') {\n return message.users;\n }\n return []; // Retorna uma lista vazia se a mensagem não for de atualização\n })\n );\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient ,HttpHeaders} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from '../environments/environment';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n private apiUrl: string;\n private headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n private userInfoSource = new BehaviorSubject(null);\n userInfo$ = this.userInfoSource.asObservable();\n constructor(private http: HttpClient) {\n this.apiUrl = environment.apiUrl;\n}\nsetUserInfo(userInfo: any) {\n this.userInfoSource.next(userInfo);\n}\n verificarCamposUsuario(idusuario: number): Observable {\n const url = `${this.apiUrl}/verificar_users/${idusuario}`;\n return this.http.get(url);\n }\n\n getUserData(token: string): Observable {\n const headers = new HttpHeaders().set('Authorization', `Bearer ${token}`);\n return this.http.get(`${this.apiUrl}/auth/me`, { headers });\n }\n}\n","/* (ignored) */"],"names":["RouterModule","LoginComponent","HomePageComponent","AuthGuard","CadastrarUsuarioComponent","chatIndexComponent","IndexComponent","EmailCheckComponent","AtualizarCadastroComponent","UsuarioComponent","AprendaComponent","MonitoreComponent","MapeieComponent","NovidadesComponent","ModalNovidadesComponent","EmailComponent","AlterarSenhaComponent","EmailCheckEsqueciSenhaComponent","ModelComponent","AprendaStorysComponent","HomeSpComponent","HomeCeComponent","RotaHomeComponent","HortasComponent","MapaComponent","MonitoreFormsComponent","routes","path","redirectTo","pathMatch","component","canActivate","AppRoutingModule","forRoot","scrollPositionRestoration","imports","exports","AppComponent","constructor","translate","addLangs","setDefaultLang","browserLang","getBrowserLang","use","match","selectors","decls","vars","template","i0","BrowserModule","BrowserAnimationsModule","HttpClientModule","HttpClient","TranslateHttpLoader","TranslateModule","TranslateLoader","ChatModule","NgbModule","NgbDatepickerI18n","PatrocinadoresComponent","NovidadeComponent","AtividadesComponent","TecnologiasSociasComponent","CarregamentoPadraoComponent","FormsModule","ReactiveFormsModule","MenuComponent","ModalRecarregarHidricasComponent","TesteComponent","ModalAtividadesUsuariosComponent","registerLocaleData","ptBr","CustomDatepickerI18nService","TextMaskModule","MaskPhoneNumberDirective","environment","initializeApp","ModalNotificationComponent","SobreRecarregaSpComponent","TecnologiasSociasSpComponent","PatrocinadoresSpComponent","PatrocinadoresCeComponent","SobreRecarregaCeComponent","TecnologiasSociaisCeComponent","ModalMuralComponent","MenuDeskComponent","CaireComponent","createTranslateLoader","http","firebaseConfig","AppModule","bootstrap","provide","useClass","loader","useFactory","deps","declarations","Validators","router","formBuilder","cadastroService","route","atualizarSenha","loginForm","group","password","required","confirmPassword","ngOnInit","irParaTelaHome","navigate","resetErrors","showPasswordError","showConfirmPassword","onInput","field","get","setErrors","onSubmit","value","trim","passwordErrorMessage","length","confirmPasswordErrorMessage","isLoading","id","snapshot","paramMap","token","alterarSenha","subscribe","response","alert","error","console","message","validateEmail","email","includes","consts","ctx","take","opcoesGenero","currentDate","Date","minDate","year","getFullYear","month","day","nome","genero","celular","idade","showIdadeError","transformDateToString","liberarPoridade","verificarIdade","estaMarcada","verificarCheckbox","log","IdadeErrorMessage","atualizarUsuario","sessionStorage","getItem","pipe","dateInfo","formatDateControlValue","dataNascimento","partes","split","dia","parseInt","mes","ano","dataNasc","dataAtual","diferencaEmMilissegundos","getTime","diferencaEmAnos","Math","floor","checkbox","document","getElementById","checked","EventEmitter","dataService","showNomeError","showEmailError","setEmail","nomeErrorMessage","emailErrorMessage","cadastrarUsuario","errors","onNavigate","event","newDate","setValue","transformStringToDate","dateString","parts","outputs","emailEnviado","getEmail","redirectToEmailProvider","domain","emailProviderUrl","window","open","irParaTelaLogin","emailService","dataservice","enviarEmailRedefinicaoSenha","chat","modalService","offcanvasService","datePipe","lightbox","forumService","socketService","atividade_service","userService","changeDetectorRef","foto_perfil","fotoPerfil","urlUpload","params","TipoColabore","groups","TipoChat","loadGroupsByGrupo","loadGroupsBySuporte","body","setAttribute","formData","username","user","senderName","JSON","parse","senderProfile","lang","currentLang","onListScroll","connectWebSocket","userID","getNewMessageObservable","dados_message","type","novasmessages","push","groupToUpdate","find","id_forum","unread","isimage","CarregaMensagensa","id_user","getOnlineUsersList","users","onlineUsers","getIconForExtension","extension","extensionIcons","pdf","docx","toLowerCase","isUserOnline","isOnline","toString","getConversationsInForum","forEach","messages","imageContent","image","src","thumb","getConversationsInForumBySuporte","RefazRequisicaoDosGrupos","grupoId","name","profile","time","align","replayName","replaymsg","classe_referencia","elementIndexClicked","ngAfterViewInit","scrollRef","SimpleBar","getScrollElement","scrollTop","showUserProfile","style","display","closeUserChat","array_id_menssagens","unreadMessages","filter","is_read","unreadMessageIds","map","markMessagesAsRead","classList","remove","logout","setLanguage","openCallModal","content","centered","openVideoModal","videoContent","showChat","removeClass","querySelectorAll","element","querySelector","add","target","closest","data","userName","userStatus","status","userProfile","profilePicture","ContactSearch","input","ul","li","a","i","txtValue","toUpperCase","item","getElementsByTagName","innerText","indexOf","MessageSearch","onChatInfoClicked","position","form","controls","messageSave","groupMsg","innerHTML","img","dateTime","chatReplyUser","isreplyMessage","chatReplyMessage","formValue","conteudo_menssage","forumId","conversationData","user_id","fotoperfil","postConversationInForum","newMessage","messageJSON","stringify","sendMessageToServer","emoji","undefined","setTimeout","scrollHeight","scrollToDiv","divId","targetDiv","scrollIntoView","behavior","toggleEmojiPicker","showEmojiPicker","addEmoji","text","native","onFocus","onBlur","closeReplay","copyMessage","navigator","clipboard","writeText","deleteMessage","DeleteMessagesById","deleteAllMessage","allMsgDelete","editMessage","messageToEdit","editedMessage","isEditing","saveEditedMessage","novamessage","updateMessage","findIndex","EditMessagesById","replyMessage","copyText","msgOwnerName","contains","onElementClick","index","centerModal","centerDataModal","fileChange","fileList","imagemFile","files","nomeDoArquivo","reader","FileReader","tamanhoMaximo","size","partesDoNomeDoArquivo","extensaoDoArquivo","extensoesValidas","salvarImagemServidor","onload","imageURL","result","readAsDataURL","closeImage","handleImageURLChange","FormData","append","postConversationInForumDocumentos","url_documento_salvo","imageUrl","caption","changeMode","mode","showGroupChat","separateMessages","getUsersByForum","getAtividadesByIdgrupotipos","id_grupo_tipos","Localevento","horario","DescricaoCompletaEevento","grupo_tipo_descrisao","HorarioEvento","img_evento","baseUrl","today","messagesToday","messagesYesterday","messageTime","isToday","sort","b","mergedMessages","messageIds","openGroupModal","GroupSearch","openImage","showZoom","isImage","url","imageExtensions","substring","lastIndexOf","getFileExtension","pop","success","sendMessage","irParaTelamodulosIndex","listaUsuarios","quantidadeUsuarios","formatName","word","charAt","slice","join","processarMensagem","mensagem","pattern","replace","viewQuery","factory","providedIn","lastMessage","isActive","getData","ChatRoutingModule","forChild","CommonModule","NgbTooltipModule","NgbDropdownModule","NgbAccordionModule","NgbModalModule","NgbCollapseModule","PerfectScrollbarModule","LightboxModule","TabsModule","DatePipe","PickerModule","SimplebarAngularModule","contacts","ContactsComponent","sorted","grouped","reduce","contact","letter","instant","contactsList","Object","keys","key","openContactsModal","HttpHeaders","MenuChatComponent","elementRef","apiUrl","CarregaMensagensNaolidas","MessagesUnReadByUserid","arr","values","AlertColabore","AlertSuporte","targetElement","nativeElement","irParaChat","irParaMural","irParaaprenda","irParaMonitore","irParaMapeia","irParausuarios","irParaColabore","tipo","irParaRotaHome","cookie","removeItem","headers","set","post","userInfo","location","reload","toggleSubMenu","showSubMenu","closeSubMenu","ProfileComponent","localStorage","SettingsComponent","playerName","file","edit_userName","toggle","userNameChange","PERFECT_SCROLLBAR_CONFIG","CarouselModule","DEFAULT_PERFECT_SCROLLBAR_CONFIG","suppressScrollX","useValue","L","pwaInstallService","estouLogado","mapa","center","zoom","maxBounds","latLngBounds","tileLayer","attribution","subdomains","maxZoom","addTo","marcador","marker","bindPopup","openPopup","marcador2","marcador3","marcador4","marcador5","marcador6","marcador7","marcador8","marcador9","installPWA","isPWAInstalled","getCookie","cookies","startsWith","irParaCadastro","IrParaCadastro","atividadesService","uploadCaminho","caminho","caminhoCompleto","baseUploadUrl","getAtividades","eventos","carregarTemaInicial","getCidadeTema","cidadesMockadas","cidadeSelecionada","formatarDataHora","dataHora","dataHoraObj","transform","temas","getTemasCidadeSelecionada","temaSelecionado","carregarEventosRecentes","eventosRecentes","cidade","selecionarTema","tema","getEventosRecentes","eventosFiltrados","evento","id_tema","cidade_id","horarioA","horarioB","openModal","idAtividade","id_Atividades","setAtividadeId","showModal","closeModal","Resetclick","onOutsideClick","modalContent","clickCount","clickedElement","incrementClick","onRequisitarNovamente","irParaNovidades","setupInstallBanner","tokenCache","setItem","buttonNumber","selectedButton","share","isWebShareSupported","compartilharLink","titulo","title","then","catch","openComponenteModal","button","irParahomeSp","irParahomeCe","marcador1","marcadorLayer1","layerGroup","overlayMaps","control","layers","IrParaHortas","authService","queryParams","oneMonthInMilliseconds","now","toUTCString","irParaTelaCadastroUser","irParaAlterasenha","inputEmail","inputPassword","login","access_token","errorMessage","loginWithGoogle","scrollWheelZoom","disable","on","getZoom","setZoom","botaoExterno","createElement","addEventListener","flyTo","appendChild","ngOnDestroy","invalidateSize","urlAtual","SelecionarItem","Item","irParaORecarrega","forum","subscription","atividadeId$","atividadeId","unsubscribe","getEventoSelecionado","id_Atividade","fecharmodal","addForumToUser","Cadastrar_UserAtividade","postUsersAtividade","FazerRequisicaoUsers","emit","MinhdasAtividades","inputs","modalPosition","showModalMural","getStyle","notificationtipo","background","getDadosMural","DadosMural","forkJoin","notificationService","observables","DadosNotification","notification","updateNotification","lida","confirm","responses","irParaComponente","Componente","getDadosNotification","legenda","imagensComLegendasPorOpcao","imagem","imageLoadStatus","imageElement","Image","onImageLoad","ElementoClicadoGlobal","irParaHomeENovidades","navigateByUrl","onDocumentClick","onTouchStart","touchStartX","touches","clientX","onTouchEnd","touchEndX","changedTouches","parseFloat","getAttribute","detectSwipe","onMouseDown","onMouseUp","mouseEndX","mouseStartX","direction","carousel","next","prev","imagesLoaded","renderer","el","sanitizer","serviceAPrenda","adicionarClasseAoH1","addSizeClassToImages","id_contudo_aprenda","carrega_sub_modulos","getAprendaSubConteudoById","textohtml","idconteudoaprenda","id_aprenda_conteudo","convertedText","splitContentIntoPages","addFixedStyleToClass","obejetoS3","objetosS3","newold","touchStartY","clientY","touchStartTime","timeStamp","touchEndY","touchEndTime","deltaX","deltaY","deltaTime","horizontalThreshold","verticalThreshold","timeThreshold","horizontalSwipe","abs","verticalSwipe","elements","imgElements","imgElement","alt","addClass","className","HTMLElement","pagesArray","pageContent","iframeRegex","tamanhoDaImagem","getTamanhoDaImagem","tamanhoClass","pages","bypassSecurityTrustHtml","legend","html","processConvertedText","exec","iframeUrl","videoUrl","irParaTelaModelAprenda","CarregaConteudoAprenda","getAprendaConteudo","conteudos_aprenda","carrega_modulos","atualizarConteudo","subconteudo","conteudosubModulo","descricao_conteudo","conteudoDescricao","idsubconteudo","botaoSelecionado","selecionado","getAprendaSubConteudo","sub_conteudos_aprenda","getAprendaConteudoById","conteudoTitulo","corbackground","cor","imgConteudo","imagemUrl","irParaTelaModelStorysAprenda","irParaTelaAprenda","escola","DadosMocados","localeCompare","IrParaRotaHome","authServiceFCM","obterTamanhoDaTela","onResize","larguraDaTela","innerWidth","alturaDaTela","innerHeight","getUserInfo","eventos_usuario","requestPermission","getNotification","OpenModalNotification","showModalNotification","closeModalNotification","getUserNotification","NotificationAtiva","gettUserData","getUserData","userData","setUserInfo","verificarCamposUsuario","Carrega_cidade_tema_full","getUsersAtividade","usuariosAtividades","temaId","getEventosRecentesDoUsuario","usuarioAtualAtividades","userAtividades","id_users","atividadesFiltradas","atividadesCadastradas","idusuario","isCamposVazios","offset","offsetTop","top","scrollTo","hostBindings","monitoreService","DBpwa","id_forms","formid","getByIDPerguntasFormulario","onLine","getOfflineDados","getAll","Array","isArray","rows","row","doc","respostas","resposta","pergunta","Forms","pergunta_id","resposta_id","inicializarFormData","getByIDRespostasFormulario","ListarRespostasByIdForm","dynamicValues","offlineData","formControls","onCheckboxChange","isChecked","opcao","perguntaId","opcoesSelecionadas","splice","enviarRespostas","enviandoDados","camposVazios","payload","usuario_id","formulario_id","formHasValue","addTask","obterGeolocalizacao","geolocation","getCurrentPosition","latitude","coords","longitude","localizacao","removerFoto","imagemUrls","onFileSelected","maxSize","e","imageSrc","fileImagem","cancelUpload","confirmUpload","uploadImagemAws","clearImage","fileInput","inputFile","f","ListarFormulario","DadosMonitore","processarDadosMonitoreOffline","enviarRespostasOffline","respostaKey","File","clearTask","_id","objsParaAtualizar","obj","respondidoOffline","irParaTelaMonitore","irParaTelaMonitoreForms","novidades_service","CarregaAtividades","getUsersNovidades","novidades","numeroDeItensLidos","novidade","lerAtividades","novidadeId","lido","postUsersNovidades","deleteNovidade","lido_ID","deleteUsersNovidades","toggleEstadoBotao","estado_botao","irParaAtividades","NovasNotification","abrirModal","mostrarModal","fecharModal","ngbDateParserFormatter","imageLoaded","irParaTelaHomeInterna","startEditing","fieldName","editField","saveEdit","editedFields","idadeTemp","toggleEdit","saveAllEdits","editedData","fieldsToCheck","profileImageFile","atualizarUsuarioWithfoto","onProfileImageSelected","telefone","onKeyDown","selectionStart","selectionEnd","production","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","vapidKey","enableProdMode","serviceWorker","register","registration","__NgCli_bootstrap_1","bootstrapModule","err","AprendaService","Atividades_service","idusers","getAtividadesById","id_atividade","idgrupotipos","iduser","AtualizarSenha","AuthService","newTab","source","CadastroService","numero_celular","I18N_VALUES","weekdays","months","getWeekdayLabel","weekday","getMonthShortName","getMonthFullName","getDayAriaLabel","date","ForumService","atividade","message_ids","messageId","getMessaging","getToken","Tokenfcm","messaging","storedToken","sessionStorageKey","currentToken","sendTokenToBackend","userId","id_usuario","tokenjwt","BehaviorSubject","DataService","atividadeIdSource","asObservable","PouchDB","DbPwaService","toISOString","db","assign","put","Promise","resolve","reject","allDocs","include_docs","attachaments","docToDelete","Error","label","MonitoreService","enviarRespostaUnica","NotificationService","novidadesServices","novidade_id","delete","PwaInstallService","preventDefault","deferredPrompt","prompt","userChoice","choiceResult","outcome","navigatorAny","isInStandaloneMode","standalone","matchMedia","matches","webSocket","Subject","SocketService","authKey","socket$","isConnected","newMessageSubject","getSocket","getConnectionStatus","UserService","userInfoSource"],"sourceRoot":"webpack:///","x_google_ignoreList":[124]}