{"version":3,"file":"vendor.js","mappings":"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,EAA4C;IACxC,OAAO,IAAIzB,mDAAJ,CAAe+E,4CAAf,CAAP;EACH;;EACD,OAAO,IAAI/E,mDAAJ,CAAe2R,cAAf,EAA+BnR,KAA/B,EAAsCiB,QAAtC,CAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB,sCAAsC,kBAAkB;AACnF,0BAA0B;AAC1B;AACA;AACA;AACO;AACP;AACA,oBAAoB;AACpB;AACA;AACA;AACO;AACP;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,6DAA6D,cAAc;AAC3E;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACO;AACP,oCAAoC;AACpC;AACA;AACO;AACP;AACA;AACA;AACO;AACP,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACO;AACP,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACO;AACP,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACO;AACP,kDAAkD,QAAQ;AAC1D,yCAAyC,QAAQ;AACjD,yDAAyD,QAAQ;AACjE;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA,iBAAiB,uFAAuF,cAAc;AACtH,uBAAuB,gCAAgC,qCAAqC,2CAA2C;AACvI,4BAA4B,MAAM,iBAAiB,YAAY;AAC/D,uBAAuB;AACvB,8BAA8B;AAC9B,6BAA6B;AAC7B,4BAA4B;AAC5B;AACA;AACO;AACP;AACA,iBAAiB,6CAA6C,UAAU,sDAAsD,cAAc;AAC5I,0BAA0B,6BAA6B,oBAAoB,gDAAgD,kBAAkB;AAC7I;AACA;AACO;AACP;AACA;AACA,2GAA2G,uFAAuF,cAAc;AAChN,uBAAuB,8BAA8B,gDAAgD,wDAAwD;AAC7J,6CAA6C,sCAAsC,UAAU,mBAAmB,IAAI;AACpH;AACA;AACO;AACP,iCAAiC,uCAAuC,YAAY,KAAK,OAAO;AAChG;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6CAA6C;AAC7C;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzNA;AACA;AACA;AACA;AACA;;AAEA;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,MAAMiU,gBAAN,CAAuB;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAN,CAAuB;AAGvB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,UAAU,GAAG,GAAnB;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,SAASC,OAAT,CAAiB/gB,IAAjB,EAAuBghB,WAAvB,EAAoC;EAChC,OAAO;IAAE/gB,IAAI,EAAE;IAAE;IAAV;IAA+CD,IAA/C;IAAqDghB,WAArD;IAAkEC,OAAO,EAAE;EAA3E,CAAP;AACH;AACD;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,SAASC,OAAT,CAAiBC,OAAjB,EAA0BvZ,MAAM,GAAG,IAAnC,EAAyC;EACrC,OAAO;IAAE3H,IAAI,EAAE;IAAE;IAAV;IAA+C2H,MAA/C;IAAuDuZ;EAAvD,CAAP;AACH;AACD;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,SAASC,KAAT,CAAeC,KAAf,EAAsBJ,OAAO,GAAG,IAAhC,EAAsC;EAClC,OAAO;IAAEhhB,IAAI,EAAE;IAAE;IAAV;IAA6CohB,KAA7C;IAAoDJ;EAApD,CAAP;AACH;AACD;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,SAASK,QAAT,CAAkBD,KAAlB,EAAyBJ,OAAO,GAAG,IAAnC,EAAyC;EACrC,OAAO;IAAEhhB,IAAI,EAAE;IAAE;IAAV;IAAgDohB,KAAhD;IAAuDJ;EAAvD,CAAP;AACH;AACD;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,SAASM,KAAT,CAAeC,MAAf,EAAuB;EACnB,OAAO;IAAEvhB,IAAI,EAAE;IAAE;IAAV;IAA6C2H,MAAM,EAAE4Z,MAArD;IAA6DC,MAAM,EAAE;EAArE,CAAP;AACH;AACD;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,SAAS1S,KAAT,CAAe/O,IAAf,EAAqB4H,MAArB,EAA6BqZ,OAA7B,EAAsC;EAClC,OAAO;IAAEhhB,IAAI,EAAE;IAAE;IAAV;IAA6CD,IAA7C;IAAmD4H,MAAnD;IAA2DqZ;EAA3D,CAAP;AACH;AACD;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,SAASS,SAAT,CAAmBL,KAAnB,EAA0B;EACtB,OAAO;IAAEphB,IAAI,EAAE;IAAE;IAAV;IAAiDohB;EAAjD,CAAP;AACH;AACD;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,SAASM,UAAT,CAAoBC,eAApB,EAAqCP,KAArC,EAA4CJ,OAAO,GAAG,IAAtD,EAA4D;EACxD,OAAO;IAAEhhB,IAAI,EAAE;IAAE;IAAV;IAAkD4hB,IAAI,EAAED,eAAxD;IAAyEE,SAAS,EAAET,KAApF;IAA2FJ;EAA3F,CAAP;AACH;AACD;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,SAASa,SAAT,CAAmBT,KAAnB,EAA0BJ,OAAO,GAAG,IAApC,EAA0C;EACtC,OAAO;IAAEhhB,IAAI,EAAE;IAAE;IAAV;IAAiD6hB,SAAS,EAAET,KAA5D;IAAmEJ;EAAnE,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASc,YAAT,CAAsBd,OAAO,GAAG,IAAhC,EAAsC;EAClC,OAAO;IAAEhhB,IAAI,EAAE;IAAE;IAAV;IAAoDghB;EAApD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASe,YAAT,CAAsBF,SAAtB,EAAiCb,OAAO,GAAG,IAA3C,EAAiD;EAC7C,OAAO;IAAEhhB,IAAI,EAAE;IAAG;IAAX;IAAmD6hB,SAAnD;IAA8Db;EAA9D,CAAP;AACH;AACD;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,SAASgB,KAAT,CAAepY,QAAf,EAAyBiY,SAAzB,EAAoCb,OAAO,GAAG,IAA9C,EAAoD;EAChD,OAAO;IAAEhhB,IAAI,EAAE;IAAG;IAAX;IAA8C4J,QAA9C;IAAwDiY,SAAxD;IAAmEb;EAAnE,CAAP;AACH;AACD;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,SAASiB,OAAT,CAAiBf,OAAjB,EAA0BW,SAA1B,EAAqC;EACjC,OAAO;IAAE7hB,IAAI,EAAE;IAAG;IAAX;IAAgDkhB,OAAhD;IAAyDW;EAAzD,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;A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EACjC,MAAMU,cAAc,GAAGV,QAAQ,CAACpsC,GAAT,CAAa8vB,sDAAb,CAAvB;EACA,OAAOgd,cAAc,CAACV,QAAtB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMljC,WAAW,GAAG,OAAOxpB,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAA1D;AACA;AACA;AACA;;AACA,MAAMqtD,cAAN,CAAqB;EACjB/3D,WAAW,CAACvD,SAAD,EAAYu7D,OAAZ,EAAqBl7D,KAArB,EAA4Boc,KAA5B,EAAmC;IAC1C,KAAKzc,SAAL,GAAiBA,SAAjB;IACA,KAAKu7D,OAAL,GAAeA,OAAf;IACA,KAAKl7D,KAAL,GAAaA,KAAb;IACA,KAAKoc,KAAL,GAAaA,KAAb;EACH;;EACQ,IAALlD,KAAK,GAAG;IACR,OAAO,KAAKlZ,KAAL,KAAe,CAAtB;EACH;;EACO,IAAJka,IAAI,GAAG;IACP,OAAO,KAAKla,KAAL,KAAe,KAAKoc,KAAL,GAAa,CAAnC;EACH;;EACO,IAAJ++C,IAAI,GAAG;IACP,OAAO,KAAKn7D,KAAL,GAAa,CAAb,KAAmB,CAA1B;EACH;;EACM,IAAHo7D,GAAG,GAAG;IACN,OAAO,CAAC,KAAKD,IAAb;EACH;;AAlBgB;AAoBrB;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,MAAM3vD,OAAN,CAAc;EACVtI,WAAW,CAACm4D,cAAD,EAAiBC,SAAjB,EAA4BC,QAA5B,EAAsC;IAC7C,KAAKF,cAAL,GAAsBA,cAAtB;IACA,KAAKC,SAAL,GAAiBA,SAAjB;IACA,KAAKC,QAAL,GAAgBA,QAAhB;IACA,KAAKC,QAAL,GAAgB,IAAhB;IACA,KAAKC,aAAL,GAAqB,IAArB;IACA,KAAKC,OAAL,GAAe,IAAf;EACH;EACD;AACJ;AACA;AACA;;;EACe,IAAPR,OAAO,CAACA,OAAD,EAAU;IACjB,KAAKM,QAAL,GAAgBN,OAAhB;IACA,KAAKO,aAAL,GAAqB,IAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACoB,IAAZE,YAAY,CAAC1zD,EAAD,EAAK;IACjB,IAAImvB,WAAW,IAAInvB,EAAE,IAAI,IAArB,IAA6B,OAAOA,EAAP,KAAc,UAA/C,EAA2D;MACvD;MACA,IAAIsJ,OAAO,IAAIA,OAAO,CAACC,IAAvB,EAA6B;QACzBD,OAAO,CAACC,IAAR,CAAc,4CAA2CoqD,IAAI,CAACC,SAAL,CAAe5zD,EAAf,CAAmB,IAA/D,GACR,oFADL;MAEH;IACJ;;IACD,KAAK6zD,UAAL,GAAkB7zD,EAAlB;EACH;;EACe,IAAZ0zD,YAAY,GAAG;IACf,OAAO,KAAKG,UAAZ;EACH;EACD;AACJ;AACA;AACA;;;EACqB,IAAbC,aAAa,CAACn1D,KAAD,EAAQ;IACrB;IACA;IACA;IACA,IAAIA,KAAJ,EAAW;MACP,KAAK00D,SAAL,GAAiB10D,KAAjB;IACH;EACJ;EACD;AACJ;AACA;AACA;;;EACIgyD,SAAS,GAAG;IACR,IAAI,KAAK6C,aAAT,EAAwB;MACpB,KAAKA,aAAL,GAAqB,KAArB,CADoB,CAEpB;;MACA,MAAM70D,KAAK,GAAG,KAAK40D,QAAnB;;MACA,IAAI,CAAC,KAAKE,OAAN,IAAiB90D,KAArB,EAA4B;QACxB,IAAIwwB,WAAJ,EAAiB;UACb,IAAI;YACA;YACA;YACA,KAAKskC,OAAL,GAAe,KAAKH,QAAL,CAAcj+B,IAAd,CAAmB12B,KAAnB,EAA0BqL,MAA1B,CAAiC,KAAK0pD,YAAtC,CAAf;UACH,CAJD,CAKA,MAAM;YACF,IAAIK,YAAY,GAAI,2CAA0Cp1D,KAAM,aAAjD,GACd,GAAEq1D,WAAW,CAACr1D,KAAD,CAAQ,8DAD1B;;YAEA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;cAC3Bo1D,YAAY,IAAI,yCAAhB;YACH;;YACD,MAAM,IAAIpyC,2DAAJ,CAAkB,CAAC;YAAK;YAAxB,EAAsEoyC,YAAtE,CAAN;UACH;QACJ,CAdD,MAeK;UACD;UACA;UACA,KAAKN,OAAL,GAAe,KAAKH,QAAL,CAAcj+B,IAAd,CAAmB12B,KAAnB,EAA0BqL,MAA1B,CAAiC,KAAK0pD,YAAtC,CAAf;QACH;MACJ;IACJ;;IACD,IAAI,KAAKD,OAAT,EAAkB;MACd,MAAMzC,OAAO,GAAG,KAAKyC,OAAL,CAAa3L,IAAb,CAAkB,KAAKyL,QAAvB,CAAhB;;MACA,IAAIvC,OAAJ,EACI,KAAKiD,aAAL,CAAmBjD,OAAnB;IACP;EACJ;;EACDiD,aAAa,CAACjD,OAAD,EAAU;IACnB,MAAMkD,aAAa,GAAG,KAAKd,cAA3B;IACApC,OAAO,CAACmD,gBAAR,CAAyB,CAAC54D,IAAD,EAAO64D,qBAAP,EAA8BC,YAA9B,KAA+C;MACpE,IAAI94D,IAAI,CAAC+4D,aAAL,IAAsB,IAA1B,EAAgC;QAC5B;QACA;QACA;QACAJ,aAAa,CAACK,kBAAd,CAAiC,KAAKlB,SAAtC,EAAiD,IAAIL,cAAJ,CAAmBz3D,IAAI,CAACA,IAAxB,EAA8B,KAAKg4D,QAAnC,EAA6C,CAAC,CAA9C,EAAiD,CAAC,CAAlD,CAAjD,EAAuGc,YAAY,KAAK,IAAjB,GAAwB10D,SAAxB,GAAoC00D,YAA3I;MACH,CALD,MAMK,IAAIA,YAAY,IAAI,IAApB,EAA0B;QAC3BH,aAAa,CAAC9mD,MAAd,CAAqBgnD,qBAAqB,KAAK,IAA1B,GAAiCz0D,SAAjC,GAA6Cy0D,qBAAlE;MACH,CAFI,MAGA,IAAIA,qBAAqB,KAAK,IAA9B,EAAoC;QACrC,MAAMI,IAAI,GAAGN,aAAa,CAACjuC,GAAd,CAAkBmuC,qBAAlB,CAAb;QACAF,aAAa,CAACO,IAAd,CAAmBD,IAAnB,EAAyBH,YAAzB;QACAK,eAAe,CAACF,IAAD,EAAOj5D,IAAP,CAAf;MACH;IACJ,CAfD;;IAgBA,KAAK,IAAIsQ,CAAC,GAAG,CAAR,EAAW8oD,IAAI,GAAGT,aAAa,CAAC50D,MAArC,EAA6CuM,CAAC,GAAG8oD,IAAjD,EAAuD9oD,CAAC,EAAxD,EAA4D;MACxD,MAAM+oD,OAAO,GAAGV,aAAa,CAACjuC,GAAd,CAAkBpa,CAAlB,CAAhB;MACA,MAAMY,OAAO,GAAGmoD,OAAO,CAACnoD,OAAxB;MACAA,OAAO,CAAC1U,KAAR,GAAgB8T,CAAhB;MACAY,OAAO,CAAC0H,KAAR,GAAgBwgD,IAAhB;MACAloD,OAAO,CAACwmD,OAAR,GAAkB,KAAKM,QAAvB;IACH;;IACDvC,OAAO,CAAC6D,qBAAR,CAA+B3D,MAAD,IAAY;MACtC,MAAM0D,OAAO,GAAGV,aAAa,CAACjuC,GAAd,CAAkBirC,MAAM,CAACmD,YAAzB,CAAhB;MACAK,eAAe,CAACE,OAAD,EAAU1D,MAAV,CAAf;IACH,CAHD;EAIH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACiC,OAAtB4D,sBAAsB,CAACC,GAAD,EAAMv+D,GAAN,EAAW;IACpC,OAAO,IAAP;EACH;;AAxIS;;AA0Id+M,OAAO,CAAC3H,IAAR;EAAA,iBAAqG2H,OAArG,EAhmGoGme,+DAgmGpG,CAA8HA,2DAA9H,GAhmGoGA,+DAgmGpG,CAA8JA,sDAA9J,GAhmGoGA,+DAgmGpG,CAAyLA,0DAAzL;AAAA;;AACAne,OAAO,CAACmB,IAAR,kBAjmGoGgd,+DAimGpG;EAAA,MAAyFne,OAAzF;EAAA;EAAA;IAAA;IAAA;IAAA;EAAA;EAAA;AAAA;;AACA;EAAA,mDAlmGoGme,+DAkmGpG,CAA4Fne,OAA5F,EAAiH,CAAC;IACtGrH,IAAI,EAAEpG,oDADgG;IAEtG+P,IAAI,EAAE,CAAC;MACCC,QAAQ,EAAE,kBADX;MAEC6rD,UAAU,EAAE;IAFb,CAAD;EAFgG,CAAD,CAAjH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEz1D,IAAI,EAAEwlB,2DAAmBoxC;IAA3B,CAAD,EAAgC;MAAE52D,IAAI,EAAEwlB,sDAAcszC;IAAtB,CAAhC,EAA0D;MAAE94D,IAAI,EAAEwlB,0DAAkB+vC;IAA1B,CAA1D,CAAP;EAAiG,CAN3I,EAM6J;IAAEwB,OAAO,EAAE,CAAC;MACzJ/2D,IAAI,EAAE1G,gDAAKA;IAD8I,CAAD,CAAX;IAE7Ik+D,YAAY,EAAE,CAAC;MACfx3D,IAAI,EAAE1G,gDAAKA;IADI,CAAD,CAF+H;IAI7Is+D,aAAa,EAAE,CAAC;MAChB53D,IAAI,EAAE1G,gDAAKA;IADK,CAAD;EAJ8H,CAN7J;AAAA;;AAaA,SAASk/D,eAAT,CAAyBF,IAAzB,EAA+BtD,MAA/B,EAAuC;EACnCsD,IAAI,CAAC/nD,OAAL,CAAa/U,SAAb,GAAyBw5D,MAAM,CAAC31D,IAAhC;AACH;;AACD,SAASy4D,WAAT,CAAqB93D,IAArB,EAA2B;EACvB,OAAOA,IAAI,CAAC,MAAD,CAAJ,IAAgB,OAAOA,IAA9B;AACH;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;AA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ACA;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,MAAM4lB,QAAN,CAAe;EACX5/D,WAAW,CAAC2hD,MAAD,EAASke,eAAT,EAA0B;IACjC,KAAKle,MAAL,GAAcA,MAAd;IACA,KAAKke,eAAL,GAAuBA,eAAvB;EACH;;EACDz/D,SAAS,CAACsD,KAAD,EAAQqiD,MAAM,GAAG,YAAjB,EAA+Ba,QAA/B,EAAyCjF,MAAzC,EAAiD;IACtD,IAAIj+C,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA3B,IAAiCA,KAAK,KAAKA,KAA/C,EACI,OAAO,IAAP;;IACJ,IAAI;MACA,OAAOijD,UAAU,CAACjjD,KAAD,EAAQqiD,MAAR,EAAgBpE,MAAM,IAAI,KAAKA,MAA/B,EAAuCiF,QAAQ,IAAI,KAAKiZ,eAAjB,IAAoCn7D,SAA3E,CAAjB;IAC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CC,IAAR,CAAaitC,qEAAmB,CAAC;EAAK;EAAN,EAAwD,GAAE8tB,gBAAiB,oDAApB,GAClF,qEADkF,GAElF,iDAFkF,GAGlF,4CAH2B,CAAhC;AAIH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,8BAA8B,GAAG,EAAvC;AACA;AACA;AACA;AACA;;AACA,MAAMC,6BAA6B,GAAG,2BAAtC;AACA;AACA;AACA;AACA;;AACA,MAAMC,+BAA+B,GAAG,mCAAxC;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,2BAA2B,GAAG,CAApC;AACA;AACA;AACA;AACA;;AACA,MAAMC,8BAA8B,GAAG,CAAvC;AACA;AACA;AACA;;AACA,MAAMC,sBAAsB,GAAG,EAA/B;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,yBAAyB,GAAG,IAAlC;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,MAAMC,gBAAN,CAAuB;EACnB7pE,WAAW,GAAG;IACV,KAAK8pE,WAAL,GAAmB3vB,qDAAM,CAAC+sB,YAAD,CAAzB;IACA,KAAK6C,QAAL,GAAgB5vB,qDAAM,CAACqB,oDAAD,CAAtB;IACA,KAAKwuB,UAAL,GAAkB7vB,qDAAM,CAACv/C,qDAAD,CAAN,CAAmB0O,aAArC;IACA,KAAK8tD,QAAL,GAAgBjd,qDAAM,CAACsB,mDAAD,CAAtB,CAJU,CAKV;;IACA,KAAKwuB,WAAL,GAAmBv/D,SAAS,GAAG,KAAK0sD,QAAL,CAAcpsC,GAAd,CAAkBq9C,gBAAlB,CAAH,GAAyC,IAArE;IACA;AACR;AACA;AACA;AACA;AACA;;IACQ,KAAK6B,YAAL,GAAoB,IAApB;IACA,KAAKC,SAAL,GAAiB,KAAjB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACc,IAANC,MAAM,CAAC1mE,KAAD,EAAQ;IACd,IAAIgH,SAAJ,EAAe;MACX,MAAM,IAAIgc,2DAAJ,CAAkB;MAAK;MAAvB,EAA8D,GAAEw+C,mBAAmB,CAACxhE,KAAD,EAAQ,KAAR,CAAe,qCAArC,GAC9D,+EAD8D,GAE9D,kEAF8D,GAG9D,gEAH8D,GAI9D,6BAJC,CAAN;IAKH;EACJ;EACD;AACJ;AACA;;;EACa,IAALq+C,KAAK,CAACr+C,KAAD,EAAQ;IACbgH,SAAS,IAAI2/D,qBAAqB,CAAC,IAAD,EAAO3mE,KAAP,EAAc,OAAd,CAAlC;IACA,KAAK4mE,MAAL,GAAcC,cAAc,CAAC7mE,KAAD,CAA5B;EACH;;EACQ,IAALq+C,KAAK,GAAG;IACR,OAAO,KAAKuoB,MAAZ;EACH;EACD;AACJ;AACA;;;EACc,IAANE,MAAM,CAAC9mE,KAAD,EAAQ;IACdgH,SAAS,IAAI2/D,qBAAqB,CAAC,IAAD,EAAO3mE,KAAP,EAAc,QAAd,CAAlC;IACA,KAAK+mE,OAAL,GAAeF,cAAc,CAAC7mE,KAAD,CAA7B;EACH;;EACS,IAAN8mE,MAAM,GAAG;IACT,OAAO,KAAKC,OAAZ;EACH;EACD;AACJ;AACA;;;EACgB,IAARC,QAAQ,CAAChnE,KAAD,EAAQ;IAChB,KAAKymE,SAAL,GAAiBQ,cAAc,CAACjnE,KAAD,CAA/B;EACH;;EACW,IAARgnE,QAAQ,GAAG;IACX,OAAO,KAAKP,SAAZ;EACH;;EACDS,QAAQ,GAAG;IACP,IAAIlgE,SAAJ,EAAe;MACXmgE,mBAAmB,CAAC,IAAD,EAAO,OAAP,EAAgB,KAAK1F,KAArB,CAAnB;MACA2F,mBAAmB,CAAC,IAAD,EAAO,KAAKC,QAAZ,CAAnB;MACAC,sBAAsB,CAAC,IAAD,CAAtB;MACAC,yBAAyB,CAAC,IAAD,CAAzB;MACAC,oBAAoB,CAAC,IAAD,CAApB;MACAC,gBAAgB,CAAC,IAAD,CAAhB;MACAC,4BAA4B,CAAC,IAAD,CAA5B;MACAC,uBAAuB,CAAC,IAAD,CAAvB;MACAC,uBAAuB,CAAC,IAAD,EAAO,KAAKtB,UAAZ,EAAwB,KAAKD,QAA7B,CAAvB;;MACA,IAAI,KAAKW,QAAT,EAAmB;QACf,MAAMa,OAAO,GAAG,KAAKnU,QAAL,CAAcpsC,GAAd,CAAkBk7C,qBAAlB,CAAhB;QACAqF,OAAO,CAAC9E,gBAAR,CAAyB,KAAK+E,eAAL,EAAzB,EAAiD,KAAKrG,KAAtD;MACH,CAHD,MAIK;QACD;QACA;QACA;QACA,IAAI,KAAK8E,WAAL,KAAqB,IAAzB,EAA+B;UAC3B,MAAMwB,MAAM,GAAG,KAAKrU,QAAL,CAAcpsC,GAAd,CAAkB0wB,iDAAlB,CAAf;UACA+vB,MAAM,CAACC,iBAAP,CAAyB,MAAM;YAC3B,KAAKzB,WAAL,CAAiBf,aAAjB,CAA+B,KAAKsC,eAAL,EAA/B,EAAuD,KAAKrG,KAA5D;UACH,CAFD;QAGH;MACJ;IACJ;;IACD,KAAKwG,iBAAL;EACH;;EACDA,iBAAiB,GAAG;IAChB;IACA;IACA,KAAKC,gBAAL,CAAsB,OAAtB,EAA+B,KAAK7pB,KAAL,CAAWrhD,QAAX,EAA/B;IACA,KAAKkrE,gBAAL,CAAsB,QAAtB,EAAgC,KAAKpB,MAAL,CAAY9pE,QAAZ,EAAhC;IACA,KAAKkrE,gBAAL,CAAsB,SAAtB,EAAiC,KAAKC,kBAAL,EAAjC;IACA,KAAKD,gBAAL,CAAsB,eAAtB,EAAuC,KAAKE,gBAAL,EAAvC,EANgB,CAOhB;IACA;;IACA,KAAKF,gBAAL,CAAsB,KAAtB,EAA6B,KAAKJ,eAAL,EAA7B;;IACA,IAAI,KAAKT,QAAT,EAAmB;MACf,KAAKa,gBAAL,CAAsB,QAAtB,EAAgC,KAAKG,kBAAL,EAAhC;IACH;EACJ;;EACDjV,WAAW,CAACf,OAAD,EAAU;IACjB,IAAIrrD,SAAJ,EAAe;MACXshE,2BAA2B,CAAC,IAAD,EAAOjW,OAAP,EAAgB,CAAC,OAAD,EAAU,UAAV,EAAsB,OAAtB,EAA+B,QAA/B,EAAyC,UAAzC,CAAhB,CAA3B;IACH;EACJ;;EACD8V,kBAAkB,GAAG;IACjB,IAAI,CAAC,KAAKnB,QAAN,IAAkB,KAAKuB,OAAL,KAAiBvnE,SAAvC,EAAkD;MAC9C,OAAO,KAAKunE,OAAZ;IACH;;IACD,OAAO,KAAKvB,QAAL,GAAgB,OAAhB,GAA0B,MAAjC;EACH;;EACDoB,gBAAgB,GAAG;IACf,OAAO,KAAKpB,QAAL,GAAgB,MAAhB,GAAyB,MAAhC;EACH;;EACDc,eAAe,GAAG;IACd;IACA;IACA;IACA,IAAI,CAAC,KAAKtB,YAAV,EAAwB;MACpB,MAAMgC,SAAS,GAAG;QAAE3G,GAAG,EAAE,KAAKJ;MAAZ,CAAlB,CADoB,CAEpB;;MACA,KAAK+E,YAAL,GAAoB,KAAKJ,WAAL,CAAiBoC,SAAjB,CAApB;IACH;;IACD,OAAO,KAAKhC,YAAZ;EACH;;EACD6B,kBAAkB,GAAG;IACjB,MAAMI,WAAW,GAAG5C,6BAA6B,CAACtb,IAA9B,CAAmC,KAAK8c,QAAxC,CAApB;IACA,MAAMqB,SAAS,GAAG,KAAKrB,QAAL,CAAc/1C,KAAd,CAAoB,GAApB,EAAyBt2B,MAAzB,CAAgC6mE,GAAG,IAAIA,GAAG,KAAK,EAA/C,EAAmDvhE,GAAnD,CAAuDqoE,MAAM,IAAI;MAC/EA,MAAM,GAAGA,MAAM,CAACzoC,IAAP,EAAT;MACA,MAAMme,KAAK,GAAGoqB,WAAW,GAAGv8C,UAAU,CAACy8C,MAAD,CAAb,GAAwBz8C,UAAU,CAACy8C,MAAD,CAAV,GAAqB,KAAKtqB,KAA3E;MACA,OAAQ,GAAE,KAAK+nB,WAAL,CAAiB;QAAEvE,GAAG,EAAE,KAAKJ,KAAZ;QAAmBpjB;MAAnB,CAAjB,CAA6C,IAAGsqB,MAAO,EAAjE;IACH,CAJiB,CAAlB;IAKA,OAAOD,SAAS,CAACrrD,IAAV,CAAe,IAAf,CAAP;EACH;;EACDw+B,WAAW,GAAG;IACV,IAAI70C,SAAJ,EAAe;MACX,IAAI,CAAC,KAAKggE,QAAN,IAAkB,KAAKR,YAAL,KAAsB,IAAxC,IAAgD,KAAKD,WAAL,KAAqB,IAAzE,EAA+E;QAC3E,KAAKA,WAAL,CAAiBd,eAAjB,CAAiC,KAAKe,YAAtC;MACH;IACJ;EACJ;;EACD0B,gBAAgB,CAAC5qE,IAAD,EAAO0C,KAAP,EAAc;IAC1B,KAAKqmE,QAAL,CAAcz4C,YAAd,CAA2B,KAAK04C,UAAhC,EAA4ChpE,IAA5C,EAAkD0C,KAAlD;EACH;;AAvJkB;;AAyJvBmmE,gBAAgB,CAAClpE,IAAjB;EAAA,iBAA8GkpE,gBAA9G;AAAA;;AACAA,gBAAgB,CAACpgE,IAAjB,kBA7mMoGgd,+DA6mMpG;EAAA,MAAkGojD,gBAAlG;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;EAAA,WA7mMoGpjD,kEA6mMpG;AAAA;;AACA;EAAA,mDA9mMoGA,+DA8mMpG,CAA4FojD,gBAA5F,EAA0H,CAAC;IAC/G5oE,IAAI,EAAEpG,oDADyG;IAE/G+P,IAAI,EAAE,CAAC;MACC8rD,UAAU,EAAE,IADb;MAEC7rD,QAAQ,EAAE;IAFX,CAAD;EAFyG,CAAD,CAA1H,QAM4B;IAAEu/D,MAAM,EAAE,CAAC;MACvBnpE,IAAI,EAAE1G,gDAAKA;IADY,CAAD,CAAV;IAEZ4qE,KAAK,EAAE,CAAC;MACRlkE,IAAI,EAAE1G,gDAAKA;IADH,CAAD,CAFK;IAIZwwE,QAAQ,EAAE,CAAC;MACX9pE,IAAI,EAAE1G,gDAAKA;IADA,CAAD,CAJE;IAMZwnD,KAAK,EAAE,CAAC;MACR9gD,IAAI,EAAE1G,gDAAKA;IADH,CAAD,CANK;IAQZiwE,MAAM,EAAE,CAAC;MACTvpE,IAAI,EAAE1G,gDAAKA;IADF,CAAD,CARI;IAUZ0xE,OAAO,EAAE,CAAC;MACVhrE,IAAI,EAAE1G,gDAAKA;IADD,CAAD,CAVG;IAYZmwE,QAAQ,EAAE,CAAC;MACXzpE,IAAI,EAAE1G,gDAAKA;IADA,CAAD,CAZE;IAcZgrE,GAAG,EAAE,CAAC;MACNtkE,IAAI,EAAE1G,gDAAKA;IADL,CAAD,CAdO;IAgBZ+xE,MAAM,EAAE,CAAC;MACTrrE,IAAI,EAAE1G,gDAAKA;IADF,CAAD;EAhBI,CAN5B;AAAA;AAyBA;;AACA;AACA;AACA;;;AACA,SAASgwE,cAAT,CAAwB7mE,KAAxB,EAA+B;EAC3B,OAAO,OAAOA,KAAP,KAAiB,QAAjB,GAA4B6vD,QAAQ,CAAC7vD,KAAD,EAAQ,EAAR,CAApC,GAAkDA,KAAzD;AACH;AACD;AACA;AACA;;;AACA,SAASinE,cAAT,CAAwBjnE,KAAxB,EAA+B;EAC3B,OAAOA,KAAK,IAAI,IAAT,IAAkB,GAAEA,KAAM,EAAT,KAAe,OAAvC;AACH;AACD;;AACA;AACA;AACA;;;AACA,SAASsnE,sBAAT,CAAgClR,GAAhC,EAAqC;EACjC,IAAIA,GAAG,CAACyL,GAAR,EAAa;IACT,MAAM,IAAI7+C,2DAAJ,CAAkB;IAAK;IAAvB,EAAoE,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,6CAAlC,GACpE,0DADoE,GAEpE,sFAFoE,GAGpE,mDAHC,CAAN;EAIH;AACJ;AACD;AACA;AACA;;;AACA,SAAS8F,yBAAT,CAAmCnR,GAAnC,EAAwC;EACpC,IAAIA,GAAG,CAACwS,MAAR,EAAgB;IACZ,MAAM,IAAI5lD,2DAAJ,CAAkB;IAAK;IAAvB,EAAuE,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,mDAAlC,GACvE,0DADuE,GAEvE,8EAFuE,GAGvE,oEAHC,CAAN;EAIH;AACJ;AACD;AACA;AACA;;;AACA,SAAS+F,oBAAT,CAA8BpR,GAA9B,EAAmC;EAC/B,IAAIqL,KAAK,GAAGrL,GAAG,CAACqL,KAAJ,CAAUvhC,IAAV,EAAZ;;EACA,IAAIuhC,KAAK,CAACh0C,UAAN,CAAiB,OAAjB,CAAJ,EAA+B;IAC3B,IAAIg0C,KAAK,CAAC9gE,MAAN,GAAeilE,8BAAnB,EAAmD;MAC/CnE,KAAK,GAAGA,KAAK,CAACh5C,SAAN,CAAgB,CAAhB,EAAmBm9C,8BAAnB,IAAqD,KAA7D;IACH;;IACD,MAAM,IAAI5iD,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,EAAY,KAAZ,CAAmB,wCAAzC,GAC9D,IAAGA,KAAM,+DADqD,GAE9D,uEAF8D,GAG9D,uEAHC,CAAN;EAIH;AACJ;AACD;AACA;AACA;;;AACA,SAASgG,gBAAT,CAA0BrR,GAA1B,EAA+B;EAC3B,MAAMqL,KAAK,GAAGrL,GAAG,CAACqL,KAAJ,CAAUvhC,IAAV,EAAd;;EACA,IAAIuhC,KAAK,CAACh0C,UAAN,CAAiB,OAAjB,CAAJ,EAA+B;IAC3B,MAAM,IAAIzK,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,qCAAoCA,KAAM,KAA5E,GAC9D,iEAD8D,GAE9D,uEAF8D,GAG9D,sEAHC,CAAN;EAIH;AACJ;AACD;AACA;AACA;;;AACA,SAAS0F,mBAAT,CAA6B/Q,GAA7B,EAAkC94D,IAAlC,EAAwC0C,KAAxC,EAA+C;EAC3C,MAAMmiE,QAAQ,GAAG,OAAOniE,KAAP,KAAiB,QAAlC;EACA,MAAM6oE,aAAa,GAAG1G,QAAQ,IAAIniE,KAAK,CAACkgC,IAAN,OAAiB,EAAnD;;EACA,IAAI,CAACiiC,QAAD,IAAa0G,aAAjB,EAAgC;IAC5B,MAAM,IAAI7lD,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,MAAKnkE,IAAK,0BAA5C,GAC9D,MAAK0C,KAAM,2DADV,CAAN;EAEH;AACJ;AACD;AACA;AACA;;;AACA,SAASonE,mBAAT,CAA6BhR,GAA7B,EAAkCp2D,KAAlC,EAAyC;EACrC,IAAIA,KAAK,IAAI,IAAb,EACI;EACJmnE,mBAAmB,CAAC/Q,GAAD,EAAM,UAAN,EAAkBp2D,KAAlB,CAAnB;EACA,MAAM8oE,SAAS,GAAG9oE,KAAlB;EACA,MAAM+oE,sBAAsB,GAAGlD,6BAA6B,CAACtb,IAA9B,CAAmCue,SAAnC,CAA/B;EACA,MAAME,wBAAwB,GAAGlD,+BAA+B,CAACvb,IAAhC,CAAqCue,SAArC,CAAjC;;EACA,IAAIE,wBAAJ,EAA8B;IAC1BC,qBAAqB,CAAC7S,GAAD,EAAM0S,SAAN,CAArB;EACH;;EACD,MAAMI,aAAa,GAAGH,sBAAsB,IAAIC,wBAAhD;;EACA,IAAI,CAACE,aAAL,EAAoB;IAChB,MAAM,IAAIlmD,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,yCAAwCzhE,KAAM,OAAhF,GAC9D,qFAD8D,GAE9D,yEAFC,CAAN;EAGH;AACJ;;AACD,SAASipE,qBAAT,CAA+B7S,GAA/B,EAAoCp2D,KAApC,EAA2C;EACvC,MAAMmpE,eAAe,GAAGnpE,KAAK,CAACsxB,KAAN,CAAY,GAAZ,EAAiBi8B,KAAjB,CAAuBjI,GAAG,IAAIA,GAAG,KAAK,EAAR,IAAcp5B,UAAU,CAACo5B,GAAD,CAAV,IAAmBygB,2BAA/D,CAAxB;;EACA,IAAI,CAACoD,eAAL,EAAsB;IAClB,MAAM,IAAInmD,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,0DAAlC,GAC9D,KAAIzhE,KAAM,mEADoD,GAE9D,GAAEgmE,8BAA+B,uCAF6B,GAG9D,GAAED,2BAA4B,8DAHgC,GAI9D,gBAAeC,8BAA+B,uCAJgB,GAK9D,0FAL8D,GAM9D,GAAED,2BAA4B,oEAN7B,CAAN;EAOH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASqD,wBAAT,CAAkChT,GAAlC,EAAuCiT,SAAvC,EAAkD;EAC9C,OAAO,IAAIrmD,2DAAJ,CAAkB;EAAK;EAAvB,EAAwE,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,MAAK4H,SAAU,uCAAjD,GACzE,sEADyE,GAEzE,yBAAwBA,SAAU,8CAFuC,GAGzE,mDAHE,CAAP;AAIH;AACD;AACA;AACA;;;AACA,SAASf,2BAAT,CAAqClS,GAArC,EAA0C/D,OAA1C,EAAmD7uD,MAAnD,EAA2D;EACvDA,MAAM,CAAC9B,OAAP,CAAewQ,KAAK,IAAI;IACpB,MAAMo3D,SAAS,GAAGjX,OAAO,CAAC/lC,cAAR,CAAuBpa,KAAvB,CAAlB;;IACA,IAAIo3D,SAAS,IAAI,CAACjX,OAAO,CAACngD,KAAD,CAAP,CAAeq3D,aAAf,EAAlB,EAAkD;MAC9C,IAAIr3D,KAAK,KAAK,OAAd,EAAuB;QACnB;QACA;QACA;QACA;QACAkkD,GAAG,GAAG;UAAEqL,KAAK,EAAEpP,OAAO,CAACngD,KAAD,CAAP,CAAeu7B;QAAxB,CAAN;MACH;;MACD,MAAM27B,wBAAwB,CAAChT,GAAD,EAAMlkD,KAAN,CAA9B;IACH;EACJ,CAZD;AAaH;AACD;AACA;AACA;;;AACA,SAASy0D,qBAAT,CAA+BvQ,GAA/B,EAAoCoT,UAApC,EAAgDH,SAAhD,EAA2D;EACvD,MAAMI,WAAW,GAAG,OAAOD,UAAP,KAAsB,QAAtB,IAAkCA,UAAU,GAAG,CAAnE;EACA,MAAME,WAAW,GAAG,OAAOF,UAAP,KAAsB,QAAtB,IAAkC,QAAQjf,IAAR,CAAaif,UAAU,CAACtpC,IAAX,EAAb,CAAlC,IAAqE2vB,QAAQ,CAAC2Z,UAAD,CAAR,GAAuB,CAAhH;;EACA,IAAI,CAACC,WAAD,IAAgB,CAACC,WAArB,EAAkC;IAC9B,MAAM,IAAI1mD,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,MAAK4H,SAAU,0BAAjD,GAC9D,MAAKG,UAAW,+BAA8BH,SAAU,KADM,GAE9D,6BAFC,CAAN;EAGH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASzB,uBAAT,CAAiCxR,GAAjC,EAAsCuT,GAAtC,EAA2CtD,QAA3C,EAAqD;EACjD,MAAMuD,gBAAgB,GAAGvD,QAAQ,CAAC9hC,MAAT,CAAgBolC,GAAhB,EAAqB,MAArB,EAA6B,MAAM;IACxDC,gBAAgB,GADwC,CAExD;IACA;IACA;;IACA,MAAMC,aAAa,GAAG39C,UAAU,CAACy9C,GAAG,CAACG,WAAL,CAAhC;IACA,MAAMC,cAAc,GAAG79C,UAAU,CAACy9C,GAAG,CAACK,YAAL,CAAjC;IACA,MAAMC,mBAAmB,GAAGJ,aAAa,GAAGE,cAA5C;IACA,MAAMG,yBAAyB,GAAGL,aAAa,KAAK,CAAlB,IAAuBE,cAAc,KAAK,CAA5E;IACA,MAAMI,cAAc,GAAGj+C,UAAU,CAACy9C,GAAG,CAACS,YAAL,CAAjC;IACA,MAAMC,eAAe,GAAGn+C,UAAU,CAACy9C,GAAG,CAACW,aAAL,CAAlC;IACA,MAAMC,oBAAoB,GAAGJ,cAAc,GAAGE,eAA9C;IACA,MAAMG,aAAa,GAAGpU,GAAG,CAAC/X,KAA1B;IACA,MAAMosB,cAAc,GAAGrU,GAAG,CAAC0Q,MAA3B;IACA,MAAM4D,mBAAmB,GAAGF,aAAa,GAAGC,cAA5C,CAdwD,CAexD;IACA;IACA;IACA;IACA;;IACA,MAAME,oBAAoB,GAAG9tD,IAAI,CAACye,GAAL,CAASovC,mBAAmB,GAAGH,oBAA/B,IAAuDtE,sBAApF;IACA,MAAM2E,iBAAiB,GAAGV,yBAAyB,IAC/CrtD,IAAI,CAACye,GAAL,CAASivC,oBAAoB,GAAGN,mBAAhC,IAAuDhE,sBAD3D;;IAEA,IAAI0E,oBAAJ,EAA0B;MACtBhgE,OAAO,CAACC,IAAR,CAAaitC,qEAAmB,CAAC;MAAK;MAAN,EAA6C,GAAE2pB,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,gDAAlC,GACvE,iEADuE,GAEvE,2BAA0B0I,cAAe,OAAME,eAAgB,IAFQ,GAGvE,kBAAiBE,oBAAqB,6CAHiC,GAIvE,GAAEC,aAAc,OAAMC,cAAe,oBAAmBC,mBAAoB,KAJL,GAKvE,wDAL2B,CAAhC;IAMH,CAPD,MAQK,IAAIE,iBAAJ,EAAuB;MACxBjgE,OAAO,CAACC,IAAR,CAAaitC,qEAAmB,CAAC;MAAK;MAAN,EAA6C,GAAE2pB,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,0CAAlC,GACvE,qDADuE,GAEvE,2BAA0B0I,cAAe,OAAME,eAAgB,IAFQ,GAGvE,kBAAiBE,oBAAqB,4BAHiC,GAIvE,GAAEV,aAAc,OAAME,cAAe,mBAJkC,GAKvE,GAAEE,mBAAoB,oDALiD,GAMvE,sEANuE,GAOvE,mEAPuE,GAQvE,uEARuE,GASvE,aAT2B,CAAhC;IAUH,CAXI,MAYA,IAAI,CAAC7T,GAAG,CAACiR,QAAL,IAAiB6C,yBAArB,EAAgD;MACjD;MACA,MAAMW,gBAAgB,GAAG7E,8BAA8B,GAAG6D,aAA1D;MACA,MAAMiB,iBAAiB,GAAG9E,8BAA8B,GAAG+D,cAA3D;MACA,MAAMgB,cAAc,GAAIZ,cAAc,GAAGU,gBAAlB,IAAuC3E,yBAA9D;MACA,MAAM8E,eAAe,GAAIX,eAAe,GAAGS,iBAAnB,IAAyC5E,yBAAjE;;MACA,IAAI6E,cAAc,IAAIC,eAAtB,EAAuC;QACnCrgE,OAAO,CAACC,IAAR,CAAaitC,qEAAmB,CAAC;QAAK;QAAN,EAA+C,GAAE2pB,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,wCAAlC,GACzE,yBADyE,GAEzE,0BAAyBoI,aAAc,OAAME,cAAe,KAFa,GAGzE,2BAA0BI,cAAe,OAAME,eAAgB,KAHU,GAIzE,uCAAsCQ,gBAAiB,OAAMC,iBAAkB,KAJN,GAKzE,mFALyE,GAMzE,GAAE9E,8BAA+B,8CANwC,GAOzE,0DAP2B,CAAhC;MAQH;IACJ;EACJ,CA5DwB,CAAzB;AA6DH;AACD;AACA;AACA;;;AACA,SAAS0B,4BAAT,CAAsCtR,GAAtC,EAA2C;EACvC,IAAI6U,iBAAiB,GAAG,EAAxB;EACA,IAAI7U,GAAG,CAAC/X,KAAJ,KAAcr9C,SAAlB,EACIiqE,iBAAiB,CAACnpE,IAAlB,CAAuB,OAAvB;EACJ,IAAIs0D,GAAG,CAAC0Q,MAAJ,KAAe9lE,SAAnB,EACIiqE,iBAAiB,CAACnpE,IAAlB,CAAuB,QAAvB;;EACJ,IAAImpE,iBAAiB,CAACtqE,MAAlB,GAA2B,CAA/B,EAAkC;IAC9B,MAAM,IAAIqiB,2DAAJ,CAAkB;IAAK;IAAvB,EAAuE,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,6BAAlC,GACvE,gBAAewJ,iBAAiB,CAAC3qE,GAAlB,CAAsB4qE,IAAI,IAAK,IAAGA,IAAK,GAAvC,EAA2C7tD,IAA3C,CAAgD,IAAhD,CAAsD,IADE,GAEvE,sFAFuE,GAGvE,wEAHC,CAAN;EAIH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASsqD,uBAAT,CAAiCvR,GAAjC,EAAsC;EAClC,IAAIA,GAAG,CAACmS,OAAJ,IAAenS,GAAG,CAAC4Q,QAAvB,EAAiC;IAC7B,MAAM,IAAIhkD,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,6BAAlC,GAC9D,mDAD8D,GAE9D,wDAF8D,GAG9D,sDAH8D,GAI9D,sEAJC,CAAN;EAKH;;EACD,MAAM0J,WAAW,GAAG,CAAC,MAAD,EAAS,OAAT,EAAkB,MAAlB,CAApB;;EACA,IAAI,OAAO/U,GAAG,CAACmS,OAAX,KAAuB,QAAvB,IAAmC,CAAC4C,WAAW,CAAC5oE,QAAZ,CAAqB6zD,GAAG,CAACmS,OAAzB,CAAxC,EAA2E;IACvE,MAAM,IAAIvlD,2DAAJ,CAAkB;IAAK;IAAvB,EAA8D,GAAEw+C,mBAAmB,CAACpL,GAAG,CAACqL,KAAL,CAAY,6BAAlC,GAC9D,2BAA0BrL,GAAG,CAACmS,OAAQ,OADwB,GAE9D,kEAFC,CAAN;EAGH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7/MA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM2D,WAAN,CAAkB;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,WAAN,CAAkB;AAGlB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,WAAN,CAAkB;EACd;EACA9vE,WAAW,CAAC+vE,OAAD,EAAU;IACjB;AACR;AACA;AACA;IACQ,KAAKC,eAAL,GAAuB,IAAItlD,GAAJ,EAAvB;IACA;AACR;AACA;;IACQ,KAAKulD,UAAL,GAAkB,IAAlB;;IACA,IAAI,CAACF,OAAL,EAAc;MACV,KAAKA,OAAL,GAAe,IAAIrlD,GAAJ,EAAf;IACH,CAFD,MAGK,IAAI,OAAOqlD,OAAP,KAAmB,QAAvB,EAAiC;MAClC,KAAKG,QAAL,GAAgB,MAAM;QAClB,KAAKH,OAAL,GAAe,IAAIrlD,GAAJ,EAAf;QACAqlD,OAAO,CAAC/6C,KAAR,CAAc,IAAd,EAAoB5vB,OAApB,CAA4B+qE,IAAI,IAAI;UAChC,MAAMrzE,KAAK,GAAGqzE,IAAI,CAAC1vE,OAAL,CAAa,GAAb,CAAd;;UACA,IAAI3D,KAAK,GAAG,CAAZ,EAAe;YACX,MAAMkE,IAAI,GAAGmvE,IAAI,CAAC7pE,KAAL,CAAW,CAAX,EAAcxJ,KAAd,CAAb;YACA,MAAMsZ,GAAG,GAAGpV,IAAI,CAACR,WAAL,EAAZ;YACA,MAAMkD,KAAK,GAAGysE,IAAI,CAAC7pE,KAAL,CAAWxJ,KAAK,GAAG,CAAnB,EAAsB8mC,IAAtB,EAAd;YACA,KAAKwsC,sBAAL,CAA4BpvE,IAA5B,EAAkCoV,GAAlC;;YACA,IAAI,KAAK25D,OAAL,CAAapiD,GAAb,CAAiBvX,GAAjB,CAAJ,EAA2B;cACvB,KAAK25D,OAAL,CAAa/kD,GAAb,CAAiB5U,GAAjB,EAAsB5Q,IAAtB,CAA2B9B,KAA3B;YACH,CAFD,MAGK;cACD,KAAKqsE,OAAL,CAAaxkD,GAAb,CAAiBnV,GAAjB,EAAsB,CAAC1S,KAAD,CAAtB;YACH;UACJ;QACJ,CAdD;MAeH,CAjBD;IAkBH,CAnBI,MAoBA;MACD,KAAKwsE,QAAL,GAAgB,MAAM;QAClB,IAAI,OAAOxlE,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;UAC/C2lE,kBAAkB,CAACN,OAAD,CAAlB;QACH;;QACD,KAAKA,OAAL,GAAe,IAAIrlD,GAAJ,EAAf;QACA9mB,MAAM,CAACuS,IAAP,CAAY45D,OAAZ,EAAqB3qE,OAArB,CAA6BpE,IAAI,IAAI;UACjC,IAAIgU,MAAM,GAAG+6D,OAAO,CAAC/uE,IAAD,CAApB;UACA,MAAMoV,GAAG,GAAGpV,IAAI,CAACR,WAAL,EAAZ;;UACA,IAAI,OAAOwU,MAAP,KAAkB,QAAtB,EAAgC;YAC5BA,MAAM,GAAG,CAACA,MAAD,CAAT;UACH;;UACD,IAAIA,MAAM,CAAC3Q,MAAP,GAAgB,CAApB,EAAuB;YACnB,KAAK0rE,OAAL,CAAaxkD,GAAb,CAAiBnV,GAAjB,EAAsBpB,MAAtB;YACA,KAAKo7D,sBAAL,CAA4BpvE,IAA5B,EAAkCoV,GAAlC;UACH;QACJ,CAVD;MAWH,CAhBD;IAiBH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIuX,GAAG,CAAC3sB,IAAD,EAAO;IACN,KAAKujB,IAAL;IACA,OAAO,KAAKwrD,OAAL,CAAapiD,GAAb,CAAiB3sB,IAAI,CAACR,WAAL,EAAjB,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIwqB,GAAG,CAAChqB,IAAD,EAAO;IACN,KAAKujB,IAAL;IACA,MAAMvP,MAAM,GAAG,KAAK+6D,OAAL,CAAa/kD,GAAb,CAAiBhqB,IAAI,CAACR,WAAL,EAAjB,CAAf;IACA,OAAOwU,MAAM,IAAIA,MAAM,CAAC3Q,MAAP,GAAgB,CAA1B,GAA8B2Q,MAAM,CAAC,CAAD,CAApC,GAA0C,IAAjD;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACImB,IAAI,GAAG;IACH,KAAKoO,IAAL;IACA,OAAO1e,KAAK,CAAC4P,IAAN,CAAW,KAAKu6D,eAAL,CAAqBh7D,MAArB,EAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIs7D,MAAM,CAACtvE,IAAD,EAAO;IACT,KAAKujB,IAAL;IACA,OAAO,KAAKwrD,OAAL,CAAa/kD,GAAb,CAAiBhqB,IAAI,CAACR,WAAL,EAAjB,KAAwC,IAA/C;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI26B,MAAM,CAACn6B,IAAD,EAAO0C,KAAP,EAAc;IAChB,OAAO,KAAK6sE,KAAL,CAAW;MAAEvvE,IAAF;MAAQ0C,KAAR;MAAe8sE,EAAE,EAAE;IAAnB,CAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIjlD,GAAG,CAACvqB,IAAD,EAAO0C,KAAP,EAAc;IACb,OAAO,KAAK6sE,KAAL,CAAW;MAAEvvE,IAAF;MAAQ0C,KAAR;MAAe8sE,EAAE,EAAE;IAAnB,CAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI53C,MAAM,CAAC53B,IAAD,EAAO0C,KAAP,EAAc;IAChB,OAAO,KAAK6sE,KAAL,CAAW;MAAEvvE,IAAF;MAAQ0C,KAAR;MAAe8sE,EAAE,EAAE;IAAnB,CAAX,CAAP;EACH;;EACDJ,sBAAsB,CAACpvE,IAAD,EAAOyvE,MAAP,EAAe;IACjC,IAAI,CAAC,KAAKT,eAAL,CAAqBriD,GAArB,CAAyB8iD,MAAzB,CAAL,EAAuC;MACnC,KAAKT,eAAL,CAAqBzkD,GAArB,CAAyBklD,MAAzB,EAAiCzvE,IAAjC;IACH;EACJ;;EACDujB,IAAI,GAAG;IACH,IAAI,CAAC,CAAC,KAAK2rD,QAAX,EAAqB;MACjB,IAAI,KAAKA,QAAL,YAAyBJ,WAA7B,EAA0C;QACtC,KAAKY,QAAL,CAAc,KAAKR,QAAnB;MACH,CAFD,MAGK;QACD,KAAKA,QAAL;MACH;;MACD,KAAKA,QAAL,GAAgB,IAAhB;;MACA,IAAI,CAAC,CAAC,KAAKD,UAAX,EAAuB;QACnB,KAAKA,UAAL,CAAgB7qE,OAAhB,CAAwBurE,MAAM,IAAI,KAAKC,WAAL,CAAiBD,MAAjB,CAAlC;QACA,KAAKV,UAAL,GAAkB,IAAlB;MACH;IACJ;EACJ;;EACDS,QAAQ,CAACG,KAAD,EAAQ;IACZA,KAAK,CAACtsD,IAAN;IACA1e,KAAK,CAAC4P,IAAN,CAAWo7D,KAAK,CAACd,OAAN,CAAc55D,IAAd,EAAX,EAAiC/Q,OAAjC,CAAyCgR,GAAG,IAAI;MAC5C,KAAK25D,OAAL,CAAaxkD,GAAb,CAAiBnV,GAAjB,EAAsBy6D,KAAK,CAACd,OAAN,CAAc/kD,GAAd,CAAkB5U,GAAlB,CAAtB;MACA,KAAK45D,eAAL,CAAqBzkD,GAArB,CAAyBnV,GAAzB,EAA8By6D,KAAK,CAACb,eAAN,CAAsBhlD,GAAtB,CAA0B5U,GAA1B,CAA9B;IACH,CAHD;EAIH;;EACDm6D,KAAK,CAACI,MAAD,EAAS;IACV,MAAMJ,KAAK,GAAG,IAAIT,WAAJ,EAAd;IACAS,KAAK,CAACL,QAAN,GACK,CAAC,CAAC,KAAKA,QAAP,IAAmB,KAAKA,QAAL,YAAyBJ,WAA7C,GAA4D,KAAKI,QAAjE,GAA4E,IADhF;IAEAK,KAAK,CAACN,UAAN,GAAmB,CAAC,KAAKA,UAAL,IAAmB,EAApB,EAAwB39D,MAAxB,CAA+B,CAACq+D,MAAD,CAA/B,CAAnB;IACA,OAAOJ,KAAP;EACH;;EACDK,WAAW,CAACD,MAAD,EAAS;IAChB,MAAMv6D,GAAG,GAAGu6D,MAAM,CAAC3vE,IAAP,CAAYR,WAAZ,EAAZ;;IACA,QAAQmwE,MAAM,CAACH,EAAf;MACI,KAAK,GAAL;MACA,KAAK,GAAL;QACI,IAAI9sE,KAAK,GAAGitE,MAAM,CAACjtE,KAAnB;;QACA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;UAC3BA,KAAK,GAAG,CAACA,KAAD,CAAR;QACH;;QACD,IAAIA,KAAK,CAACW,MAAN,KAAiB,CAArB,EAAwB;UACpB;QACH;;QACD,KAAK+rE,sBAAL,CAA4BO,MAAM,CAAC3vE,IAAnC,EAAyCoV,GAAzC;QACA,MAAM06D,IAAI,GAAG,CAACH,MAAM,CAACH,EAAP,KAAc,GAAd,GAAoB,KAAKT,OAAL,CAAa/kD,GAAb,CAAiB5U,GAAjB,CAApB,GAA4C1R,SAA7C,KAA2D,EAAxE;QACAosE,IAAI,CAACtrE,IAAL,CAAU,GAAG9B,KAAb;QACA,KAAKqsE,OAAL,CAAaxkD,GAAb,CAAiBnV,GAAjB,EAAsB06D,IAAtB;QACA;;MACJ,KAAK,GAAL;QACI,MAAMC,QAAQ,GAAGJ,MAAM,CAACjtE,KAAxB;;QACA,IAAI,CAACqtE,QAAL,EAAe;UACX,KAAKhB,OAAL,CAAan3C,MAAb,CAAoBxiB,GAApB;UACA,KAAK45D,eAAL,CAAqBp3C,MAArB,CAA4BxiB,GAA5B;QACH,CAHD,MAIK;UACD,IAAI46D,QAAQ,GAAG,KAAKjB,OAAL,CAAa/kD,GAAb,CAAiB5U,GAAjB,CAAf;;UACA,IAAI,CAAC46D,QAAL,EAAe;YACX;UACH;;UACDA,QAAQ,GAAGA,QAAQ,CAACtyE,MAAT,CAAgBgF,KAAK,IAAIqtE,QAAQ,CAACtwE,OAAT,CAAiBiD,KAAjB,MAA4B,CAAC,CAAtD,CAAX;;UACA,IAAIstE,QAAQ,CAAC3sE,MAAT,KAAoB,CAAxB,EAA2B;YACvB,KAAK0rE,OAAL,CAAan3C,MAAb,CAAoBxiB,GAApB;YACA,KAAK45D,eAAL,CAAqBp3C,MAArB,CAA4BxiB,GAA5B;UACH,CAHD,MAIK;YACD,KAAK25D,OAAL,CAAaxkD,GAAb,CAAiBnV,GAAjB,EAAsB46D,QAAtB;UACH;QACJ;;QACD;IAnCR;EAqCH;EACD;AACJ;AACA;;;EACI5rE,OAAO,CAACL,EAAD,EAAK;IACR,KAAKwf,IAAL;IACA1e,KAAK,CAAC4P,IAAN,CAAW,KAAKu6D,eAAL,CAAqB75D,IAArB,EAAX,EACK/Q,OADL,CACagR,GAAG,IAAIrR,EAAE,CAAC,KAAKirE,eAAL,CAAqBhlD,GAArB,CAAyB5U,GAAzB,CAAD,EAAgC,KAAK25D,OAAL,CAAa/kD,GAAb,CAAiB5U,GAAjB,CAAhC,CADtB;EAEH;;AAvNa;AAyNlB;AACA;AACA;AACA;AACA;;;AACA,SAASi6D,kBAAT,CAA4BN,OAA5B,EAAqC;EACjC,KAAK,MAAM,CAAC35D,GAAD,EAAM1S,KAAN,CAAX,IAA2BE,MAAM,CAACoiC,OAAP,CAAe+pC,OAAf,CAA3B,EAAoD;IAChD,IAAI,OAAOrsE,KAAP,KAAiB,QAAjB,IAA6B,CAACmC,KAAK,CAACC,OAAN,CAAcpC,KAAd,CAAlC,EAAwD;MACpD,MAAM,IAAIuL,KAAJ,CAAW,6BAA4BmH,GAAI,sBAAjC,GACX,qDAAoD1S,KAAM,KADzD,CAAN;IAEH;EACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMutE,oBAAN,CAA2B;EACvB;AACJ;AACA;AACA;AACA;EACIC,SAAS,CAAC96D,GAAD,EAAM;IACX,OAAO+6D,gBAAgB,CAAC/6D,GAAD,CAAvB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACIg7D,WAAW,CAAC1tE,KAAD,EAAQ;IACf,OAAOytE,gBAAgB,CAACztE,KAAD,CAAvB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACI2tE,SAAS,CAACj7D,GAAD,EAAM;IACX,OAAOy+C,kBAAkB,CAACz+C,GAAD,CAAzB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACIk7D,WAAW,CAAC5tE,KAAD,EAAQ;IACf,OAAOmxD,kBAAkB,CAACnxD,KAAD,CAAzB;EACH;;AAhCsB;;AAkC3B,SAAS6tE,WAAT,CAAqBC,SAArB,EAAgCC,KAAhC,EAAuC;EACnC,MAAMztE,GAAG,GAAG,IAAI0mB,GAAJ,EAAZ;;EACA,IAAI8mD,SAAS,CAACntE,MAAV,GAAmB,CAAvB,EAA0B;IACtB;IACA;IACA;IACA,MAAMytB,MAAM,GAAG0/C,SAAS,CAACrjD,OAAV,CAAkB,KAAlB,EAAyB,EAAzB,EAA6B6G,KAA7B,CAAmC,GAAnC,CAAf;IACAlD,MAAM,CAAC1sB,OAAP,CAAgBssE,KAAD,IAAW;MACtB,MAAMC,KAAK,GAAGD,KAAK,CAACjxE,OAAN,CAAc,GAAd,CAAd;MACA,MAAM,CAAC2V,GAAD,EAAMzQ,GAAN,IAAagsE,KAAK,IAAI,CAAC,CAAV,GACf,CAACF,KAAK,CAACJ,SAAN,CAAgBK,KAAhB,CAAD,EAAyB,EAAzB,CADe,GAEf,CAACD,KAAK,CAACJ,SAAN,CAAgBK,KAAK,CAACprE,KAAN,CAAY,CAAZ,EAAeqrE,KAAf,CAAhB,CAAD,EAAyCF,KAAK,CAACH,WAAN,CAAkBI,KAAK,CAACprE,KAAN,CAAYqrE,KAAK,GAAG,CAApB,CAAlB,CAAzC,CAFJ;MAGA,MAAMC,IAAI,GAAG5tE,GAAG,CAACgnB,GAAJ,CAAQ5U,GAAR,KAAgB,EAA7B;MACAw7D,IAAI,CAACpsE,IAAL,CAAUG,GAAV;MACA3B,GAAG,CAACunB,GAAJ,CAAQnV,GAAR,EAAaw7D,IAAb;IACH,CARD;EASH;;EACD,OAAO5tE,GAAP;AACH;AACD;AACA;AACA;;;AACA,MAAM6tE,uBAAuB,GAAG,iBAAhC;AACA,MAAMC,8BAA8B,GAAG;EACnC,MAAM,GAD6B;EAEnC,MAAM,GAF6B;EAGnC,MAAM,GAH6B;EAInC,MAAM,GAJ6B;EAKnC,MAAM,GAL6B;EAMnC,MAAM,GAN6B;EAOnC,MAAM,GAP6B;EAQnC,MAAM;AAR6B,CAAvC;;AAUA,SAASX,gBAAT,CAA0Bv3D,CAA1B,EAA6B;EACzB,OAAO46C,kBAAkB,CAAC56C,CAAD,CAAlB,CAAsBuU,OAAtB,CAA8B0jD,uBAA9B,EAAuD,CAACl6C,CAAD,EAAI92B,CAAJ,KAAUixE,8BAA8B,CAACjxE,CAAD,CAA9B,IAAqC82B,CAAtG,CAAP;AACH;;AACD,SAASo6C,aAAT,CAAuBruE,KAAvB,EAA8B;EAC1B,OAAQ,GAAEA,KAAM,EAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMsuE,UAAN,CAAiB;EACbhyE,WAAW,CAACiiB,OAAO,GAAG,EAAX,EAAe;IACtB,KAAKgwD,OAAL,GAAe,IAAf;IACA,KAAKC,SAAL,GAAiB,IAAjB;IACA,KAAKC,OAAL,GAAelwD,OAAO,CAACkwD,OAAR,IAAmB,IAAIlB,oBAAJ,EAAlC;;IACA,IAAI,CAAC,CAAChvD,OAAO,CAACmwD,UAAd,EAA0B;MACtB,IAAI,CAAC,CAACnwD,OAAO,CAACowD,UAAd,EAA0B;QACtB,MAAM,IAAIpjE,KAAJ,CAAW,gDAAX,CAAN;MACH;;MACD,KAAKjL,GAAL,GAAWutE,WAAW,CAACtvD,OAAO,CAACmwD,UAAT,EAAqB,KAAKD,OAA1B,CAAtB;IACH,CALD,MAMK,IAAI,CAAC,CAAClwD,OAAO,CAACowD,UAAd,EAA0B;MAC3B,KAAKruE,GAAL,GAAW,IAAI0mB,GAAJ,EAAX;MACA9mB,MAAM,CAACuS,IAAP,CAAY8L,OAAO,CAACowD,UAApB,EAAgCjtE,OAAhC,CAAwCgR,GAAG,IAAI;QAC3C,MAAM1S,KAAK,GAAGue,OAAO,CAACowD,UAAR,CAAmBj8D,GAAnB,CAAd,CAD2C,CAE3C;;QACA,MAAMpB,MAAM,GAAGnP,KAAK,CAACC,OAAN,CAAcpC,KAAd,IAAuBA,KAAK,CAACM,GAAN,CAAU+tE,aAAV,CAAvB,GAAkD,CAACA,aAAa,CAACruE,KAAD,CAAd,CAAjE;QACA,KAAKM,GAAL,CAASunB,GAAT,CAAanV,GAAb,EAAkBpB,MAAlB;MACH,CALD;IAMH,CARI,MASA;MACD,KAAKhR,GAAL,GAAW,IAAX;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACI2pB,GAAG,CAAC+jD,KAAD,EAAQ;IACP,KAAKntD,IAAL;IACA,OAAO,KAAKvgB,GAAL,CAAS2pB,GAAT,CAAa+jD,KAAb,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACI1mD,GAAG,CAAC0mD,KAAD,EAAQ;IACP,KAAKntD,IAAL;IACA,MAAMw/B,GAAG,GAAG,KAAK//C,GAAL,CAASgnB,GAAT,CAAa0mD,KAAb,CAAZ;IACA,OAAO,CAAC,CAAC3tB,GAAF,GAAQA,GAAG,CAAC,CAAD,CAAX,GAAiB,IAAxB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIusB,MAAM,CAACoB,KAAD,EAAQ;IACV,KAAKntD,IAAL;IACA,OAAO,KAAKvgB,GAAL,CAASgnB,GAAT,CAAa0mD,KAAb,KAAuB,IAA9B;EACH;EACD;AACJ;AACA;AACA;;;EACIv7D,IAAI,GAAG;IACH,KAAKoO,IAAL;IACA,OAAO1e,KAAK,CAAC4P,IAAN,CAAW,KAAKzR,GAAL,CAASmS,IAAT,EAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIglB,MAAM,CAACu2C,KAAD,EAAQhuE,KAAR,EAAe;IACjB,OAAO,KAAK6sE,KAAL,CAAW;MAAEmB,KAAF;MAAShuE,KAAT;MAAgB8sE,EAAE,EAAE;IAApB,CAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACI8B,SAAS,CAACxgD,MAAD,EAAS;IACd,MAAMmgD,OAAO,GAAG,EAAhB;IACAruE,MAAM,CAACuS,IAAP,CAAY2b,MAAZ,EAAoB1sB,OAApB,CAA4BssE,KAAK,IAAI;MACjC,MAAMhuE,KAAK,GAAGouB,MAAM,CAAC4/C,KAAD,CAApB;;MACA,IAAI7rE,KAAK,CAACC,OAAN,CAAcpC,KAAd,CAAJ,EAA0B;QACtBA,KAAK,CAAC0B,OAAN,CAAcqG,MAAM,IAAI;UACpBwmE,OAAO,CAACzsE,IAAR,CAAa;YAAEksE,KAAF;YAAShuE,KAAK,EAAE+H,MAAhB;YAAwB+kE,EAAE,EAAE;UAA5B,CAAb;QACH,CAFD;MAGH,CAJD,MAKK;QACDyB,OAAO,CAACzsE,IAAR,CAAa;UAAEksE,KAAF;UAAShuE,KAAK,EAAEA,KAAhB;UAAuB8sE,EAAE,EAAE;QAA3B,CAAb;MACH;IACJ,CAVD;IAWA,OAAO,KAAKD,KAAL,CAAW0B,OAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACI1mD,GAAG,CAACmmD,KAAD,EAAQhuE,KAAR,EAAe;IACd,OAAO,KAAK6sE,KAAL,CAAW;MAAEmB,KAAF;MAAShuE,KAAT;MAAgB8sE,EAAE,EAAE;IAApB,CAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI53C,MAAM,CAAC84C,KAAD,EAAQhuE,KAAR,EAAe;IACjB,OAAO,KAAK6sE,KAAL,CAAW;MAAEmB,KAAF;MAAShuE,KAAT;MAAgB8sE,EAAE,EAAE;IAApB,CAAX,CAAP;EACH;EACD;AACJ;AACA;AACA;;;EACI9vE,QAAQ,GAAG;IACP,KAAK6jB,IAAL;IACA,OAAO,KAAKpO,IAAL,GACFnS,GADE,CACEoS,GAAG,IAAI;MACZ,MAAMm8D,IAAI,GAAG,KAAKJ,OAAL,CAAajB,SAAb,CAAuB96D,GAAvB,CAAb,CADY,CAEZ;MACA;MACA;;MACA,OAAO,KAAKpS,GAAL,CAASgnB,GAAT,CAAa5U,GAAb,EAAkBpS,GAAlB,CAAsBN,KAAK,IAAI6uE,IAAI,GAAG,GAAP,GAAa,KAAKJ,OAAL,CAAaf,WAAb,CAAyB1tE,KAAzB,CAA5C,EACFqd,IADE,CACG,GADH,CAAP;IAEH,CARM,EASH;IACA;IAVG,CAWFriB,MAXE,CAWKgzE,KAAK,IAAIA,KAAK,KAAK,EAXxB,EAYF3wD,IAZE,CAYG,GAZH,CAAP;EAaH;;EACDwvD,KAAK,CAACI,MAAD,EAAS;IACV,MAAMJ,KAAK,GAAG,IAAIyB,UAAJ,CAAe;MAAEG,OAAO,EAAE,KAAKA;IAAhB,CAAf,CAAd;IACA5B,KAAK,CAAC2B,SAAN,GAAkB,KAAKA,SAAL,IAAkB,IAApC;IACA3B,KAAK,CAAC0B,OAAN,GAAgB,CAAC,KAAKA,OAAL,IAAgB,EAAjB,EAAqB3/D,MAArB,CAA4Bq+D,MAA5B,CAAhB;IACA,OAAOJ,KAAP;EACH;;EACDhsD,IAAI,GAAG;IACH,IAAI,KAAKvgB,GAAL,KAAa,IAAjB,EAAuB;MACnB,KAAKA,GAAL,GAAW,IAAI0mB,GAAJ,EAAX;IACH;;IACD,IAAI,KAAKwnD,SAAL,KAAmB,IAAvB,EAA6B;MACzB,KAAKA,SAAL,CAAe3tD,IAAf;MACA,KAAK2tD,SAAL,CAAe/7D,IAAf,GAAsB/Q,OAAtB,CAA8BgR,GAAG,IAAI,KAAKpS,GAAL,CAASunB,GAAT,CAAanV,GAAb,EAAkB,KAAK87D,SAAL,CAAeluE,GAAf,CAAmBgnB,GAAnB,CAAuB5U,GAAvB,CAAlB,CAArC;MACA,KAAK67D,OAAL,CAAa7sE,OAAb,CAAqBurE,MAAM,IAAI;QAC3B,QAAQA,MAAM,CAACH,EAAf;UACI,KAAK,GAAL;UACA,KAAK,GAAL;YACI,MAAMM,IAAI,GAAG,CAACH,MAAM,CAACH,EAAP,KAAc,GAAd,GAAoB,KAAKxsE,GAAL,CAASgnB,GAAT,CAAa2lD,MAAM,CAACe,KAApB,CAApB,GAAiDhtE,SAAlD,KAAgE,EAA7E;YACAosE,IAAI,CAACtrE,IAAL,CAAUusE,aAAa,CAACpB,MAAM,CAACjtE,KAAR,CAAvB;YACA,KAAKM,GAAL,CAASunB,GAAT,CAAaolD,MAAM,CAACe,KAApB,EAA2BZ,IAA3B;YACA;;UACJ,KAAK,GAAL;YACI,IAAIH,MAAM,CAACjtE,KAAP,KAAiBgB,SAArB,EAAgC;cAC5B,IAAIosE,IAAI,GAAG,KAAK9sE,GAAL,CAASgnB,GAAT,CAAa2lD,MAAM,CAACe,KAApB,KAA8B,EAAzC;cACA,MAAM70D,GAAG,GAAGi0D,IAAI,CAACrwE,OAAL,CAAasxE,aAAa,CAACpB,MAAM,CAACjtE,KAAR,CAA1B,CAAZ;;cACA,IAAImZ,GAAG,KAAK,CAAC,CAAb,EAAgB;gBACZi0D,IAAI,CAAClsE,MAAL,CAAYiY,GAAZ,EAAiB,CAAjB;cACH;;cACD,IAAIi0D,IAAI,CAACzsE,MAAL,GAAc,CAAlB,EAAqB;gBACjB,KAAKL,GAAL,CAASunB,GAAT,CAAaolD,MAAM,CAACe,KAApB,EAA2BZ,IAA3B;cACH,CAFD,MAGK;gBACD,KAAK9sE,GAAL,CAAS40B,MAAT,CAAgB+3C,MAAM,CAACe,KAAvB;cACH;YACJ,CAZD,MAaK;cACD,KAAK1tE,GAAL,CAAS40B,MAAT,CAAgB+3C,MAAM,CAACe,KAAvB;cACA;YACH;;QAxBT;MA0BH,CA3BD;MA4BA,KAAKQ,SAAL,GAAiB,KAAKD,OAAL,GAAe,IAAhC;IACH;EACJ;;AA9KY;AAiLjB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMO,gBAAN,CAAuB;EACnBxyE,WAAW,CAACyY,YAAD,EAAe;IACtB,KAAKA,YAAL,GAAoBA,YAApB;EACH;;AAHkB;AAKvB;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,MAAMg6D,WAAN,CAAkB;EACdzyE,WAAW,GAAG;IACV,KAAKgE,GAAL,GAAW,IAAI0mB,GAAJ,EAAX;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIa,GAAG,CAAC8O,KAAD,EAAQ32B,KAAR,EAAe;IACd,KAAKM,GAAL,CAASunB,GAAT,CAAa8O,KAAb,EAAoB32B,KAApB;IACA,OAAO,IAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIsnB,GAAG,CAACqP,KAAD,EAAQ;IACP,IAAI,CAAC,KAAKr2B,GAAL,CAAS2pB,GAAT,CAAa0M,KAAb,CAAL,EAA0B;MACtB,KAAKr2B,GAAL,CAASunB,GAAT,CAAa8O,KAAb,EAAoBA,KAAK,CAAC5hB,YAAN,EAApB;IACH;;IACD,OAAO,KAAKzU,GAAL,CAASgnB,GAAT,CAAaqP,KAAb,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIzB,MAAM,CAACyB,KAAD,EAAQ;IACV,KAAKr2B,GAAL,CAAS40B,MAAT,CAAgByB,KAAhB;IACA,OAAO,IAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI1M,GAAG,CAAC0M,KAAD,EAAQ;IACP,OAAO,KAAKr2B,GAAL,CAAS2pB,GAAT,CAAa0M,KAAb,CAAP;EACH;EACD;AACJ;AACA;;;EACIlkB,IAAI,GAAG;IACH,OAAO,KAAKnS,GAAL,CAASmS,IAAT,EAAP;EACH;;AAvDa;AA0DlB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASu8D,aAAT,CAAuBC,MAAvB,EAA+B;EAC3B,QAAQA,MAAR;IACI,KAAK,QAAL;IACA,KAAK,KAAL;IACA,KAAK,MAAL;IACA,KAAK,SAAL;IACA,KAAK,OAAL;MACI,OAAO,KAAP;;IACJ;MACI,OAAO,IAAP;EARR;AAUH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,aAAT,CAAuBlvE,KAAvB,EAA8B;EAC1B,OAAO,OAAOmvE,WAAP,KAAuB,WAAvB,IAAsCnvE,KAAK,YAAYmvE,WAA9D;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,MAAT,CAAgBpvE,KAAhB,EAAuB;EACnB,OAAO,OAAOqvE,IAAP,KAAgB,WAAhB,IAA+BrvE,KAAK,YAAYqvE,IAAvD;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,UAAT,CAAoBtvE,KAApB,EAA2B;EACvB,OAAO,OAAOuvE,QAAP,KAAoB,WAApB,IAAmCvvE,KAAK,YAAYuvE,QAA3D;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,iBAAT,CAA2BxvE,KAA3B,EAAkC;EAC9B,OAAO,OAAOyvE,eAAP,KAA2B,WAA3B,IAA0CzvE,KAAK,YAAYyvE,eAAlE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,WAAN,CAAkB;EACdpzE,WAAW,CAAC2yE,MAAD,EAAS50B,GAAT,EAAcs1B,KAAd,EAAqBC,MAArB,EAA6B;IACpC,KAAKv1B,GAAL,GAAWA,GAAX;IACA;AACR;AACA;AACA;AACA;AACA;AACA;;IACQ,KAAKnwB,IAAL,GAAY,IAAZ;IACA;AACR;AACA;AACA;AACA;AACA;;IACQ,KAAK2lD,cAAL,GAAsB,KAAtB;IACA;AACR;AACA;;IACQ,KAAKC,eAAL,GAAuB,KAAvB;IACA;AACR;AACA;AACA;AACA;AACA;;IACQ,KAAKC,YAAL,GAAoB,MAApB;IACA,KAAKd,MAAL,GAAcA,MAAM,CAACllD,WAAP,EAAd,CA5BoC,CA6BpC;IACA;;IACA,IAAIxL,OAAJ,CA/BoC,CAgCpC;IACA;;IACA,IAAIywD,aAAa,CAAC,KAAKC,MAAN,CAAb,IAA8B,CAAC,CAACW,MAApC,EAA4C;MACxC;MACA,KAAK1lD,IAAL,GAAaylD,KAAK,KAAK3uE,SAAX,GAAwB2uE,KAAxB,GAAgC,IAA5C;MACApxD,OAAO,GAAGqxD,MAAV;IACH,CAJD,MAKK;MACD;MACArxD,OAAO,GAAGoxD,KAAV;IACH,CA1CmC,CA2CpC;;;IACA,IAAIpxD,OAAJ,EAAa;MACT;MACA,KAAKsxD,cAAL,GAAsB,CAAC,CAACtxD,OAAO,CAACsxD,cAAhC;MACA,KAAKC,eAAL,GAAuB,CAAC,CAACvxD,OAAO,CAACuxD,eAAjC,CAHS,CAIT;;MACA,IAAI,CAAC,CAACvxD,OAAO,CAACwxD,YAAd,EAA4B;QACxB,KAAKA,YAAL,GAAoBxxD,OAAO,CAACwxD,YAA5B;MACH,CAPQ,CAQT;;;MACA,IAAI,CAAC,CAACxxD,OAAO,CAAC8tD,OAAd,EAAuB;QACnB,KAAKA,OAAL,GAAe9tD,OAAO,CAAC8tD,OAAvB;MACH;;MACD,IAAI,CAAC,CAAC9tD,OAAO,CAACzQ,OAAd,EAAuB;QACnB,KAAKA,OAAL,GAAeyQ,OAAO,CAACzQ,OAAvB;MACH;;MACD,IAAI,CAAC,CAACyQ,OAAO,CAAC6P,MAAd,EAAsB;QAClB,KAAKA,MAAL,GAAc7P,OAAO,CAAC6P,MAAtB;MACH;IACJ,CA9DmC,CA+DpC;;;IACA,IAAI,CAAC,KAAKi+C,OAAV,EAAmB;MACf,KAAKA,OAAL,GAAe,IAAID,WAAJ,EAAf;IACH,CAlEmC,CAmEpC;;;IACA,IAAI,CAAC,KAAKt+D,OAAV,EAAmB;MACf,KAAKA,OAAL,GAAe,IAAIihE,WAAJ,EAAf;IACH,CAtEmC,CAuEpC;;;IACA,IAAI,CAAC,KAAK3gD,MAAV,EAAkB;MACd,KAAKA,MAAL,GAAc,IAAIkgD,UAAJ,EAAd;MACA,KAAK0B,aAAL,GAAqB31B,GAArB;IACH,CAHD,MAIK;MACD;MACA,MAAMjsB,MAAM,GAAG,KAAKA,MAAL,CAAYpxB,QAAZ,EAAf;;MACA,IAAIoxB,MAAM,CAACztB,MAAP,KAAkB,CAAtB,EAAyB;QACrB;QACA,KAAKqvE,aAAL,GAAqB31B,GAArB;MACH,CAHD,MAIK;QACD;QACA,MAAM41B,IAAI,GAAG51B,GAAG,CAACt9C,OAAJ,CAAY,GAAZ,CAAb,CAFC,CAGD;QACA;QACA;QACA;QACA;QACA;QACA;;QACA,MAAMmzE,GAAG,GAAGD,IAAI,KAAK,CAAC,CAAV,GAAc,GAAd,GAAqBA,IAAI,GAAG51B,GAAG,CAAC15C,MAAJ,GAAa,CAApB,GAAwB,GAAxB,GAA8B,EAA/D;QACA,KAAKqvE,aAAL,GAAqB31B,GAAG,GAAG61B,GAAN,GAAY9hD,MAAjC;MACH;IACJ;EACJ;EACD;AACJ;AACA;AACA;;;EACI+hD,aAAa,GAAG;IACZ;IACA,IAAI,KAAKjmD,IAAL,KAAc,IAAlB,EAAwB;MACpB,OAAO,IAAP;IACH,CAJW,CAKZ;IACA;;;IACA,IAAIglD,aAAa,CAAC,KAAKhlD,IAAN,CAAb,IAA4BklD,MAAM,CAAC,KAAKllD,IAAN,CAAlC,IAAiDolD,UAAU,CAAC,KAAKplD,IAAN,CAA3D,IACAslD,iBAAiB,CAAC,KAAKtlD,IAAN,CADjB,IACgC,OAAO,KAAKA,IAAZ,KAAqB,QADzD,EACmE;MAC/D,OAAO,KAAKA,IAAZ;IACH,CAVW,CAWZ;;;IACA,IAAI,KAAKA,IAAL,YAAqBokD,UAAzB,EAAqC;MACjC,OAAO,KAAKpkD,IAAL,CAAUltB,QAAV,EAAP;IACH,CAdW,CAeZ;;;IACA,IAAI,OAAO,KAAKktB,IAAZ,KAAqB,QAArB,IAAiC,OAAO,KAAKA,IAAZ,KAAqB,SAAtD,IACA/nB,KAAK,CAACC,OAAN,CAAc,KAAK8nB,IAAnB,CADJ,EAC8B;MAC1B,OAAO8qC,IAAI,CAACC,SAAL,CAAe,KAAK/qC,IAApB,CAAP;IACH,CAnBW,CAoBZ;;;IACA,OAAO,KAAKA,IAAL,CAAUltB,QAAV,EAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIozE,uBAAuB,GAAG;IACtB;IACA,IAAI,KAAKlmD,IAAL,KAAc,IAAlB,EAAwB;MACpB,OAAO,IAAP;IACH,CAJqB,CAKtB;;;IACA,IAAIolD,UAAU,CAAC,KAAKplD,IAAN,CAAd,EAA2B;MACvB,OAAO,IAAP;IACH,CARqB,CAStB;IACA;;;IACA,IAAIklD,MAAM,CAAC,KAAKllD,IAAN,CAAV,EAAuB;MACnB,OAAO,KAAKA,IAAL,CAAU3sB,IAAV,IAAkB,IAAzB;IACH,CAbqB,CActB;;;IACA,IAAI2xE,aAAa,CAAC,KAAKhlD,IAAN,CAAjB,EAA8B;MAC1B,OAAO,IAAP;IACH,CAjBqB,CAkBtB;IACA;;;IACA,IAAI,OAAO,KAAKA,IAAZ,KAAqB,QAAzB,EAAmC;MAC/B,OAAO,YAAP;IACH,CAtBqB,CAuBtB;;;IACA,IAAI,KAAKA,IAAL,YAAqBokD,UAAzB,EAAqC;MACjC,OAAO,iDAAP;IACH,CA1BqB,CA2BtB;;;IACA,IAAI,OAAO,KAAKpkD,IAAZ,KAAqB,QAArB,IAAiC,OAAO,KAAKA,IAAZ,KAAqB,QAAtD,IACA,OAAO,KAAKA,IAAZ,KAAqB,SADzB,EACoC;MAChC,OAAO,kBAAP;IACH,CA/BqB,CAgCtB;;;IACA,OAAO,IAAP;EACH;;EACD2iD,KAAK,CAACI,MAAM,GAAG,EAAV,EAAc;IACf;IACA;IACA,MAAMgC,MAAM,GAAGhC,MAAM,CAACgC,MAAP,IAAiB,KAAKA,MAArC;IACA,MAAM50B,GAAG,GAAG4yB,MAAM,CAAC5yB,GAAP,IAAc,KAAKA,GAA/B;IACA,MAAM01B,YAAY,GAAG9C,MAAM,CAAC8C,YAAP,IAAuB,KAAKA,YAAjD,CALe,CAMf;IACA;IACA;IACA;;IACA,MAAM7lD,IAAI,GAAI+iD,MAAM,CAAC/iD,IAAP,KAAgBlpB,SAAjB,GAA8BisE,MAAM,CAAC/iD,IAArC,GAA4C,KAAKA,IAA9D,CAVe,CAWf;IACA;;IACA,MAAM4lD,eAAe,GAAI7C,MAAM,CAAC6C,eAAP,KAA2B9uE,SAA5B,GAAyCisE,MAAM,CAAC6C,eAAhD,GAAkE,KAAKA,eAA/F;IACA,MAAMD,cAAc,GAAI5C,MAAM,CAAC4C,cAAP,KAA0B7uE,SAA3B,GAAwCisE,MAAM,CAAC4C,cAA/C,GAAgE,KAAKA,cAA5F,CAde,CAef;IACA;;IACA,IAAIxD,OAAO,GAAGY,MAAM,CAACZ,OAAP,IAAkB,KAAKA,OAArC;IACA,IAAIj+C,MAAM,GAAG6+C,MAAM,CAAC7+C,MAAP,IAAiB,KAAKA,MAAnC,CAlBe,CAmBf;;IACA,MAAMtgB,OAAO,GAAGm/D,MAAM,CAACn/D,OAAP,IAAkB,KAAKA,OAAvC,CApBe,CAqBf;;IACA,IAAIm/D,MAAM,CAACoD,UAAP,KAAsBrvE,SAA1B,EAAqC;MACjC;MACAqrE,OAAO,GACHnsE,MAAM,CAACuS,IAAP,CAAYw6D,MAAM,CAACoD,UAAnB,EACKphE,MADL,CACY,CAACo9D,OAAD,EAAU/uE,IAAV,KAAmB+uE,OAAO,CAACxkD,GAAR,CAAYvqB,IAAZ,EAAkB2vE,MAAM,CAACoD,UAAP,CAAkB/yE,IAAlB,CAAlB,CAD/B,EAC2E+uE,OAD3E,CADJ;IAGH,CA3Bc,CA4Bf;;;IACA,IAAIY,MAAM,CAACqD,SAAX,EAAsB;MAClB;MACAliD,MAAM,GAAGluB,MAAM,CAACuS,IAAP,CAAYw6D,MAAM,CAACqD,SAAnB,EACJrhE,MADI,CACG,CAACmf,MAAD,EAAS4/C,KAAT,KAAmB5/C,MAAM,CAACvG,GAAP,CAAWmmD,KAAX,EAAkBf,MAAM,CAACqD,SAAP,CAAiBtC,KAAjB,CAAlB,CADtB,EACkE5/C,MADlE,CAAT;IAEH,CAjCc,CAkCf;;;IACA,OAAO,IAAIshD,WAAJ,CAAgBT,MAAhB,EAAwB50B,GAAxB,EAA6BnwB,IAA7B,EAAmC;MACtCkE,MADsC;MAEtCi+C,OAFsC;MAGtCv+D,OAHsC;MAItC+hE,cAJsC;MAKtCE,YALsC;MAMtCD;IANsC,CAAnC,CAAP;EAQH;;AAlNa;AAqNlB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIS,aAAJ;;AACA,CAAC,UAAUA,aAAV,EAAyB;EACtB;AACJ;AACA;EACIA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;EACA;AACJ;AACA;;EACIA,aAAa,CAACA,aAAa,CAAC,gBAAD,CAAb,GAAkC,CAAnC,CAAb,GAAqD,gBAArD;EACA;AACJ;AACA;;EACIA,aAAa,CAACA,aAAa,CAAC,gBAAD,CAAb,GAAkC,CAAnC,CAAb,GAAqD,gBAArD;EACA;AACJ;AACA;;EACIA,aAAa,CAACA,aAAa,CAAC,kBAAD,CAAb,GAAoC,CAArC,CAAb,GAAuD,kBAAvD;EACA;AACJ;AACA;;EACIA,aAAa,CAACA,aAAa,CAAC,UAAD,CAAb,GAA4B,CAA7B,CAAb,GAA+C,UAA/C;EACA;AACJ;AACA;;EACIA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACH,CAzBD,EAyBGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CAzBhB;AA0BA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAN,CAAuB;EACnB;AACJ;AACA;AACA;AACA;AACA;EACIl0E,WAAW,CAACukB,IAAD,EAAO4vD,aAAa,GAAG;EAAI;EAA3B,EAAoDC,iBAAiB,GAAG,IAAxE,EAA8E;IACrF;IACA;IACA,KAAKrE,OAAL,GAAexrD,IAAI,CAACwrD,OAAL,IAAgB,IAAID,WAAJ,EAA/B;IACA,KAAKuE,MAAL,GAAc9vD,IAAI,CAAC8vD,MAAL,KAAgB3vE,SAAhB,GAA4B6f,IAAI,CAAC8vD,MAAjC,GAA0CF,aAAxD;IACA,KAAKG,UAAL,GAAkB/vD,IAAI,CAAC+vD,UAAL,IAAmBF,iBAArC;IACA,KAAKr2B,GAAL,GAAWx5B,IAAI,CAACw5B,GAAL,IAAY,IAAvB,CANqF,CAOrF;;IACA,KAAKw2B,EAAL,GAAU,KAAKF,MAAL,IAAe,GAAf,IAAsB,KAAKA,MAAL,GAAc,GAA9C;EACH;;AAhBkB;AAkBvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMG,kBAAN,SAAiCN,gBAAjC,CAAkD;EAC9C;AACJ;AACA;EACIl0E,WAAW,CAACukB,IAAI,GAAG,EAAR,EAAY;IACnB,MAAMA,IAAN;IACA,KAAKtjB,IAAL,GAAYgzE,aAAa,CAACQ,cAA1B;EACH;EACD;AACJ;AACA;AACA;;;EACIlE,KAAK,CAACI,MAAM,GAAG,EAAV,EAAc;IACf;IACA;IACA,OAAO,IAAI6D,kBAAJ,CAAuB;MAC1BzE,OAAO,EAAEY,MAAM,CAACZ,OAAP,IAAkB,KAAKA,OADN;MAE1BsE,MAAM,EAAE1D,MAAM,CAAC0D,MAAP,KAAkB3vE,SAAlB,GAA8BisE,MAAM,CAAC0D,MAArC,GAA8C,KAAKA,MAFjC;MAG1BC,UAAU,EAAE3D,MAAM,CAAC2D,UAAP,IAAqB,KAAKA,UAHZ;MAI1Bv2B,GAAG,EAAE4yB,MAAM,CAAC5yB,GAAP,IAAc,KAAKA,GAAnB,IAA0Br5C;IAJL,CAAvB,CAAP;EAMH;;AArB6C;AAuBlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgwE,YAAN,SAA2BR,gBAA3B,CAA4C;EACxC;AACJ;AACA;EACIl0E,WAAW,CAACukB,IAAI,GAAG,EAAR,EAAY;IACnB,MAAMA,IAAN;IACA,KAAKtjB,IAAL,GAAYgzE,aAAa,CAACU,QAA1B;IACA,KAAK/mD,IAAL,GAAYrJ,IAAI,CAACqJ,IAAL,KAAclpB,SAAd,GAA0B6f,IAAI,CAACqJ,IAA/B,GAAsC,IAAlD;EACH;;EACD2iD,KAAK,CAACI,MAAM,GAAG,EAAV,EAAc;IACf,OAAO,IAAI+D,YAAJ,CAAiB;MACpB9mD,IAAI,EAAG+iD,MAAM,CAAC/iD,IAAP,KAAgBlpB,SAAjB,GAA8BisE,MAAM,CAAC/iD,IAArC,GAA4C,KAAKA,IADnC;MAEpBmiD,OAAO,EAAEY,MAAM,CAACZ,OAAP,IAAkB,KAAKA,OAFZ;MAGpBsE,MAAM,EAAG1D,MAAM,CAAC0D,MAAP,KAAkB3vE,SAAnB,GAAgCisE,MAAM,CAAC0D,MAAvC,GAAgD,KAAKA,MAHzC;MAIpBC,UAAU,EAAE3D,MAAM,CAAC2D,UAAP,IAAqB,KAAKA,UAJlB;MAKpBv2B,GAAG,EAAE4yB,MAAM,CAAC5yB,GAAP,IAAc,KAAKA,GAAnB,IAA0Br5C;IALX,CAAjB,CAAP;EAOH;;AAjBuC;AAmB5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkwE,iBAAN,SAAgCV,gBAAhC,CAAiD;EAC7Cl0E,WAAW,CAACukB,IAAD,EAAO;IACd;IACA,MAAMA,IAAN,EAAY,CAAZ,EAAe,eAAf;IACA,KAAKvjB,IAAL,GAAY,mBAAZ;IACA;AACR;AACA;;IACQ,KAAKuzE,EAAL,GAAU,KAAV,CAPc,CAQd;IACA;IACA;;IACA,IAAI,KAAKF,MAAL,IAAe,GAAf,IAAsB,KAAKA,MAAL,GAAc,GAAxC,EAA6C;MACzC,KAAK1zD,OAAL,GAAgB,mCAAkC4D,IAAI,CAACw5B,GAAL,IAAY,eAAgB,EAA9E;IACH,CAFD,MAGK;MACD,KAAKp9B,OAAL,GAAgB,6BAA4B4D,IAAI,CAACw5B,GAAL,IAAY,eAAgB,KAAIx5B,IAAI,CAAC8vD,MAAO,IAAG9vD,IAAI,CAAC+vD,UAAW,EAA3G;IACH;;IACD,KAAK5nE,KAAL,GAAa6X,IAAI,CAAC7X,KAAL,IAAc,IAA3B;EACH;;AAnB4C;AAsBjD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmoE,OAAT,CAAiB5yD,OAAjB,EAA0B2L,IAA1B,EAAgC;EAC5B,OAAO;IACHA,IADG;IAEHmiD,OAAO,EAAE9tD,OAAO,CAAC8tD,OAFd;IAGHv+D,OAAO,EAAEyQ,OAAO,CAACzQ,OAHd;IAIHw3D,OAAO,EAAE/mD,OAAO,CAAC+mD,OAJd;IAKHl3C,MAAM,EAAE7P,OAAO,CAAC6P,MALb;IAMHyhD,cAAc,EAAEtxD,OAAO,CAACsxD,cANrB;IAOHE,YAAY,EAAExxD,OAAO,CAACwxD,YAPnB;IAQHD,eAAe,EAAEvxD,OAAO,CAACuxD;EARtB,CAAP;AAUH;AACD;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,MAAMsB,UAAN,CAAiB;EACb90E,WAAW,CAAC+0E,OAAD,EAAU;IACjB,KAAKA,OAAL,GAAeA,OAAf;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI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Y,CAAC,IAAD,CADC;EAErBC,eAAe,EAAE;AAFI,CAAzB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIC,uBAAuB,GAAG,KAA9B;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,+BAAT,GAA2C;EACvC,OAAOL,gBAAgB,CAACC,MAAjB,CAAwBxhF,MAAxB,KAAmC,IAA1C;AACH;;AACD,SAAS6hF,oBAAT,GAAgC;EAC5B,OAAON,gBAAgB,CAACC,MAAjB,CAAwBM,iBAA/B;AACH;;AACD,SAASC,yBAAT,GAAqC;EACjCR,gBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASE,yBAAT,GAAqC;EACjCT,gBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASG,kBAAT,GAA8B;EAC1B,OAAOV,gBAAgB,CAACG,eAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASQ,gBAAT,GAA4B;EACxBX,gBAAgB,CAACG,eAAjB,GAAmC,IAAnC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,iBAAT,GAA6B;EACzBZ,gBAAgB,CAACG,eAAjB,GAAmC,KAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASU,QAAT,GAAoB;EAChB,OAAOb,gBAAgB,CAACC,MAAjB,CAAwBrF,KAA/B;AACH;AACD;AACA;AACA;;;AACA,SAASkG,QAAT,GAAoB;EAChB,OAAOd,gBAAgB,CAACC,MAAjB,CAAwBtM,KAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS/kF,aAAT,CAAuBmyF,aAAvB,EAAsC;EAClCf,gBAAgB,CAACC,MAAjB,CAAwBe,YAAxB,GAAuCD,aAAvC;EACA,OAAOA,aAAa,CAACnI,OAAD,CAApB;AACH;AA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GAAGgyF,aAAR;IACH;EACJ;;EACDhyF,KAAK,GAAGyhD,iBAAiB,CAACzhD,KAAD,CAAzB;;EACA,IAAIA,KAAK,IAAI,IAAb,EAAmB;IACf,OAAO+xF,iBAAiB,CAAC/xF,KAAD,EAAQJ,QAAR,EAAkB2wF,UAAlB,CAAxB;EACH,CAFD,MAGK;IACD,MAAMf,iBAAiB,CAACvnB,UAAD,EAAaxwE,MAAb,CAAvB;EACH;AACJ;;AACD,SAASs6F,iBAAT,CAA2B/xF,KAA3B,EAAkCJ,QAAlC,EAA4C2wF,UAA5C,EAAwD;EACpD,OAAO,IAAID,oBAAJ,CAAyBP,aAAa,CAACp/F,GAAd,CAAkBqP,KAAlB,CAAzB,EAAmDJ,QAAnD,EAA6D2wF,UAA7D,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0B,SAAS,GAAG,EAAlB;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,MAAMC,kBAAN,CAAyB;EACrB;AACJ;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;EACkB,OAAP99G,OAAO,CAACjE,SAAD,EAAY;IACtB,OAAOmhH,0BAA0B,CAACnhH,SAAD,CAAjC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EAC2B,OAAhBgiH,gBAAgB,CAAChiH,SAAD,EAAY4B,MAAZ,EAAoB;IACvC,MAAMqgH,2BAA2B,GAAGF,kBAAkB,CAAC99G,OAAnB,CAA2BjE,SAA3B,CAApC;IACA,OA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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIvU,YAAY,GAAG;IACX65H,aAAa,CAAC,KAAKuB,mBAAL,IAA4B,KAAKxkC,MAAlC,CAAb;EACH;EACD;AACJ;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;;;EACI6kC,MAAM,GAAG;IACL,KAAK7kC,MAAL,CAAYxV,KAAZ,KAAsB,CAAC;IAAG;IAA1B;EACH;EACD;AACJ;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;;;EACIs6C,QAAQ,GAAG;IACP,KAAK9kC,MAAL,CAAYxV,KAAZ,KAAsB;IAAG;IAAzB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIu6C,aAAa,GAAG;IACZ7B,qBAAqB,CAAC,KAAKljC,MAAL,CAAYzV,KAAZ,CAAD,EAAqB,KAAKyV,MAA1B,EAAkC,KAAKjqF,OAAvC,CAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIivH,cAAc,GAAG;IACb,IAAI/1H,SAAJ,EAAe;MACXo0H,sBAAsB,CAAC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A;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,IAAIC,mEAAJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,qBAAT,CAA+Bp8C,KAA/B,EAAsClP,KAAtC,EAA6CurD,qBAA7C,EAAoE9vI,KAApE,EAA2E+vI,aAA3E,EAA0FC,cAA1F,EAA0G;EACtGpiI,SAAS,IAAI++E,qBAAqB,CAACgF,QAAQ,EAAT,CAAlC;EACA,IAAIs+C,SAAS,GAAGD,cAAc,GAAGzrD,KAAK,CAACywC,aAAT,GAAyBzwC,KAAK,CAAC0wC,aAA7D;EACA,IAAIib,QAAQ,GAAGxe,oBAAoB,CAACue,SAAD,CAAnC;EACA,IAAIE,QAAQ,GAAGpe,oBAAoB,CAACke,SAAD,CAAnC;EACAx8C,KAAK,CAACzzF,KAAD,CAAL,GAAe8vI,qBAAf;EACA,IAAIM,sBAAsB,GAAG,KAA7B;EACA,IAAIC,WAAJ;;EACA,IAAItnI,KAAK,CAACC,OAAN,CAAc8mI,qBAAd,CAAJ,EAA0C;IACtC;IACA,MAAMQ,mBAAmB,GAAGR,qBAA5B;IACAO,WAAW,GAAGC,mBAAmB,CAAC,CAAD,CAAjC,CAHsC,CAGA;IACtC;;IACA,IAAID,WAAW,KAAK,IAAhB,IACArsC,oBAAoB,CAACssC,mBAAD,EAAsBD,WAAtB,CAApB,GAAyD,CAD7D,EACgE;MAC5D;MACAD,sBAAsB,GAAG,IAAzB;IACH;EACJ,CAVD,MAWK;IACDC,WAAW,GAAGP,qBAAd;EACH;;EACD,IAAIC,aAAJ,EAAmB;IACf;IACA;IACA,MAAMQ,mBAAmB,GAAGJ,QAAQ,KAAK,CAAzC,CAHe,CAIf;IACA;;IACA,IAAII,mBAAJ,EAAyB;MACrB;MACA,MAAMnwG,YAAY,GAAGsxF,oBAAoB,CAACj+B,KAAK,CAACy8C,QAAQ,GAAG,CAAZ,CAAN,CAAzC;MACAz8C,KAAK,CAACzzF,KAAK,GAAG,CAAT,CAAL,GAAmByxH,eAAe,CAACrxF,YAAD,EAAe8vG,QAAf,CAAlC,CAHqB,CAIrB;MACA;;MACA,IAAI9vG,YAAY,KAAK,CAArB,EAAwB;QACpB;QACAqzD,KAAK,CAACrzD,YAAY,GAAG,CAAhB,CAAL,GACI4xF,oBAAoB,CAACv+B,KAAK,CAACrzD,YAAY,GAAG,CAAhB,CAAN,EAA0BpgC,KAA1B,CADxB;MAEH,CAVoB,CAWrB;;;MACAyzF,KAAK,CAACy8C,QAAQ,GAAG,CAAZ,CAAL,GAAsBre,oBAAoB,CAACp+B,KAAK,CAACy8C,QAAQ,GAAG,CAAZ,CAAN,EAAsBlwI,KAAtB,CAA1C;IACH,CAbD,MAcK;MACDyzF,KAAK,CAACzzF,KAAK,GAAG,CAAT,CAAL,GAAmByxH,eAAe,CAACye,QAAD,EAAW,CAAX,CAAlC,CADC,CAED;MACA;;MACA,IAAIA,QAAQ,KAAK,CAAjB,EAAoB;QAChB;QACAz8C,KAAK,CAACy8C,QAAQ,GAAG,CAAZ,CAAL,GAAsBle,oBAAoB,CAACv+B,KAAK,CAACy8C,QAAQ,GAAG,CAAZ,CAAN,EAAsBlwI,KAAtB,CAA1C;MACH,CAPA,CAQD;;;MACAkwI,QAAQ,GAAGlwI,KAAX;IACH;EACJ,CA/BD,MAgCK;IACD;IACA;IACAyzF,KAAK,CAACzzF,KAAK,GAAG,CAAT,CAAL,GAAmByxH,eAAe,CAAC0e,QAAD,EAAW,CAAX,CAAlC;IACAviI,SAAS,IACLizE,WAAW,CAACqvD,QAAQ,KAAK,CAAb,IAAkBC,QAAQ,KAAK,CAAhC,EAAmC,KAAnC,EAA0C,6DAA1C,CADf;;IAEA,IAAID,QAAQ,KAAK,CAAjB,EAAoB;MAChBA,QAAQ,GAAGlwI,KAAX;IACH,CAFD,MAGK;MACD;MACAyzF,KAAK,CAAC08C,QAAQ,GAAG,CAAZ,CAAL,GAAsBne,oBAAoB,CAACv+B,KAAK,CAAC08C,QAAQ,GAAG,CAAZ,CAAN,EAAsBnwI,KAAtB,CAA1C;IACH;;IACDmwI,QAAQ,GAAGnwI,KAAX;EACH,CApEqG,CAqEtG;EACA;;;EACA,IAAIowI,sBAAJ,EAA4B;IACxB38C,KAAK,CAACzzF,KAAK,GAAG,CAAT,CAAL,GAAmB8xH,6BAA6B,CAACr+B,KAAK,CAACzzF,KAAK,GAAG,CAAT,CAAN,CAAhD;EACH;;EACDwwI,cAAc,CAAC/8C,KAAD,EAAQ48C,WAAR,EAAqBrwI,KAArB,EAA4B,IAA5B,EAAkCgwI,cAAlC,CAAd;EACAQ,cAAc,CAAC/8C,KAAD,EAAQ48C,WAAR,EAAqBrwI,KAArB,EAA4B,KAA5B,EAAmCgwI,cAAnC,CAAd;EACAS,8BAA8B,CAAClsD,KAAD,EAAQ8rD,WAAR,EAAqB58C,KAArB,EAA4BzzF,KAA5B,EAAmCgwI,cAAnC,CAA9B;EACAC,SAAS,GAAGxe,eAAe,CAACye,QAAD,EAAWC,QAAX,CAA3B;;EACA,IAAIH,cAAJ,EAAoB;IAChBzrD,KAAK,CAACywC,aAAN,GAAsBib,SAAtB;EACH,CAFD,MAGK;IACD1rD,KAAK,CAAC0wC,aAAN,GAAsBgb,SAAtB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASQ,8BAAT,CAAwClsD,KAAxC,EAA+C8rD,WAA/C,EAA4D58C,KAA5D,EAAmEzzF,KAAnE,EAA0EgwI,cAA1E,EAA0F;EACtF,MAAMU,QAAQ,GAAGV,cAAc,GAAGzrD,KAAK,CAACwwC,eAAT,GAA2BxwC,KAAK,CAACswC,cAAhE;;EACA,IAAI6b,QAAQ,IAAI;EAAK;EAAjB,GAAuC,OAAOL,WAAP,IAAsB,QAA7D,IACArsC,oBAAoB,CAAC0sC,QAAD,EAAWL,WAAX,CAApB,IAA+C,CADnD,EACsD;IAClD;IACA58C,KAAK,CAACzzF,KAAK,GAAG,CAAT,CAAL,GAAmBkyH,6BAA6B,CAACz+B,KAAK,CAACzzF,KAAK,GAAG,CAAT,CAAN,CAAhD;EACH;AACJ;AACD;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,SAASwwI,cAAT,CAAwB/8C,KAAxB,EAA+B48C,WAA/B,EAA4CrwI,KAA5C,EAAmD2wI,SAAnD,EAA8DX,cAA9D,EAA8E;EAC1E,MAAMY,eAAe,GAAGn9C,KAAK,CAACzzF,KAAK,GAAG,CAAT,CAA7B;EACA,MAAM6wI,KAAK,GAAGR,WAAW,KAAK,IAA9B;EACA,IAAIva,MAAM,GAAG6a,SAAS,GAAGjf,oBAAoB,CAACkf,eAAD,CAAvB,GAA2C7e,oBAAoB,CAAC6e,eAAD,CAArF;EACA,IAAIE,cAAc,GAAG,KAArB,CAJ0E,CAK1E;EACA;EACA;EACA;EACA;;EACA,OAAOhb,MAAM,KAAK,CAAX,KAAiBgb,cAAc,KAAK,KAAnB,IAA4BD,KAA7C,CAAP,EAA4D;IACxDjjI,SAAS,IAAI6zE,kBAAkB,CAACgS,KAAD,EAAQqiC,MAAR,CAA/B;IACA,MAAMib,qBAAqB,GAAGt9C,KAAK,CAACqiC,MAAD,CAAnC;IACA,MAAMkb,mBAAmB,GAAGv9C,KAAK,CAACqiC,MAAM,GAAG,CAAV,CAAjC;;IACA,IAAImb,cAAc,CAACF,qBAAD,EAAwBV,WAAxB,CAAlB,EAAwD;MACpDS,cAAc,GAAG,IAAjB;MACAr9C,KAAK,CAACqiC,MAAM,GAAG,CAAV,CAAL,GAAoB6a,SAAS,GAAGze,6BAA6B,CAAC8e,mBAAD,CAAhC,GACzBlf,6BAA6B,CAACkf,mBAAD,CADjC;IAEH;;IACDlb,MAAM,GAAG6a,SAAS,GAAGjf,oBAAoB,CAACsf,mBAAD,CAAvB,GACdjf,oBAAoB,CAACif,mBAAD,CADxB;EAEH;;EACD,IAAIF,cAAJ,EAAoB;IAChB;IACAr9C,KAAK,CAACzzF,KAAK,GAAG,CAAT,CAAL,GAAmB2wI,SAAS,GAAG7e,6BAA6B,CAAC8e,eAAD,CAAhC,GACxB1e,6BAA6B,CAAC0e,eAAD,CADjC;EAEH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASK,cAAT,CAAwBC,iBAAxB,EAA2Cb,WAA3C,EAAwD;EACpDziI,SAAS,IACLmzE,cAAc,CAACh4E,KAAK,CAACC,OAAN,CAAcqnI,WAAd,CAAD,EAA6B,IAA7B,EAAmC,kDAAnC,CADlB;;EAEA,IAAIa,iBAAiB,KAAK,IAAtB,IAA8B;EAC9B;EACAb,WAAW,IAAI,IAFf,IAEuB;EACvB;EACA,CAACtnI,KAAK,CAACC,OAAN,CAAckoI,iBAAd,IAAmCA,iBAAiB,CAAC,CAAD,CAApD,GAA0DA,iBAA3D,MACIb,WALR,CAKoB;EALpB,EAME;IACE,OAAO,IAAP;EACH,CARD,MASK,IAAItnI,KAAK,CAACC,OAAN,CAAckoI,iBAAd,KAAoC,OAAOb,WAAP,KAAuB,QAA/D,EAAyE;IAC1E;IACA;IACA,OAAOrsC,oBAAoB,CAACktC,iBAAD,EAAoBb,WAApB,CAApB,IACH,CADJ,CAH0E,CAInE;EACV;;EACD,OAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMc,WAAW,GAAG;EAChBC,OAAO,EAAE,CADO;EAEhB93H,GAAG,EAAE,CAFW;EAGhB+3H,MAAM,EAAE,CAHQ;EAIhBzqI,KAAK,EAAE,CAJS;EAKhB0qI,QAAQ,EAAE;AALM,CAApB;AAOA;AACA;AACA;AACA;;AACA,SAASC,gBAAT,CAA0B/wI,IAA1B,EAAgC;EAC5B,OAAOA,IAAI,CAAC6uB,SAAL,CAAe8hH,WAAW,CAAC73H,GAA3B,EAAgC63H,WAAW,CAACE,MAA5C,CAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASG,kBAAT,CAA4BhxI,IAA5B,EAAkC;EAC9B,OAAOA,IAAI,CAAC6uB,SAAL,CAAe8hH,WAAW,CAACvqI,KAA3B,EAAkCuqI,WAAW,CAACG,QAA9C,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,cAAT,CAAwBjxI,IAAxB,EAA8B;EAC1BkxI,gBAAgB,CAAClxI,IAAD,CAAhB;EACA,OAAOmxI,kBAAkB,CAACnxI,IAAD,EAAOoxI,iBAAiB,CAACpxI,IAAD,EAAO,CAAP,EAAU2wI,WAAW,CAACC,OAAtB,CAAxB,CAAzB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,kBAAT,CAA4BnxI,IAA5B,EAAkCR,KAAlC,EAAyC;EACrC,MAAM2hD,GAAG,GAAGwvF,WAAW,CAACC,OAAxB;;EACA,IAAIzvF,GAAG,KAAK3hD,KAAZ,EAAmB;IACf,OAAO,CAAC,CAAR;EACH;;EACDA,KAAK,GAAGmxI,WAAW,CAACE,MAAZ,GAAqBQ,iBAAiB,CAACrxI,IAAD,EAAO2wI,WAAW,CAAC73H,GAAZ,GAAkBtZ,KAAzB,EAAgC2hD,GAAhC,CAA9C;EACA,OAAOiwF,iBAAiB,CAACpxI,IAAD,EAAOR,KAAP,EAAc2hD,GAAd,CAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmwF,UAAT,CAAoBtxI,IAApB,EAA0B;EACtBkxI,gBAAgB,CAAClxI,IAAD,CAAhB;EACA,OAAOuxI,cAAc,CAACvxI,IAAD,EAAOoxI,iBAAiB,CAACpxI,IAAD,EAAO,CAAP,EAAU2wI,WAAW,CAACC,OAAtB,CAAxB,CAArB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASW,cAAT,CAAwBvxI,IAAxB,EAA8BgzB,UAA9B,EAA0C;EACtC,MAAMmuB,GAAG,GAAGwvF,WAAW,CAACC,OAAxB;EACA,IAAIpxI,KAAK,GAAGmxI,WAAW,CAAC73H,GAAZ,GAAkBs4H,iBAAiB,CAACpxI,IAAD,EAAOgzB,UAAP,EAAmBmuB,GAAnB,CAA/C;;EACA,IAAIA,GAAG,KAAK3hD,KAAZ,EAAmB;IACf;IACA,OAAO,CAAC,CAAR;EACH;;EACDA,KAAK,GAAGmxI,WAAW,CAACE,MAAZ,GAAqBW,eAAe,CAACxxI,IAAD,EAAOR,KAAP,EAAc2hD,GAAd,CAA5C;EACA3hD,KAAK,GAAGiyI,gBAAgB,CAACzxI,IAAD,EAAOR,KAAP,EAAc2hD,GAAd,EAAmB;EAAG;EAAtB,CAAxB;EACA3hD,KAAK,GAAGmxI,WAAW,CAACvqI,KAAZ,GAAoBgrI,iBAAiB,CAACpxI,IAAD,EAAOR,KAAP,EAAc2hD,GAAd,CAA7C;EACA3hD,KAAK,GAAGmxI,WAAW,CAACG,QAAZ,GAAuBY,iBAAiB,CAAC1xI,IAAD,EAAOR,KAAP,EAAc2hD,GAAd,CAAhD;EACA,OAAOswF,gBAAgB,CAACzxI,IAAD,EAAOR,KAAP,EAAc2hD,GAAd,EAAmB;EAAG;EAAtB,CAAvB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS+vF,gBAAT,CAA0BlxI,IAA1B,EAAgC;EAC5B2wI,WAAW,CAAC73H,GAAZ,GAAkB,CAAlB;EACA63H,WAAW,CAACE,MAAZ,GAAqB,CAArB;EACAF,WAAW,CAACvqI,KAAZ,GAAoB,CAApB;EACAuqI,WAAW,CAACG,QAAZ,GAAuB,CAAvB;EACAH,WAAW,CAACC,OAAZ,GAAsB5wI,IAAI,CAAC+G,MAA3B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqqI,iBAAT,CAA2BpxI,IAA3B,EAAiCgzB,UAAjC,EAA6CwqE,QAA7C,EAAuD;EACnD,OAAOxqE,UAAU,GAAGwqE,QAAb,IAAyBx9F,IAAI,CAACg5F,UAAL,CAAgBhmE,UAAhB,KAA+B;EAAG;EAAlE,EAAwF;IACpFA,UAAU;EACb;;EACD,OAAOA,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASq+G,iBAAT,CAA2BrxI,IAA3B,EAAiCgzB,UAAjC,EAA6CwqE,QAA7C,EAAuD;EACnD,OAAOxqE,UAAU,GAAGwqE,QAAb,IAAyBx9F,IAAI,CAACg5F,UAAL,CAAgBhmE,UAAhB,IAA8B;EAAG;EAAjE,EAAuF;IACnFA,UAAU;EACb;;EACD,OAAOA,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw+G,eAAT,CAAyBxxI,IAAzB,EAA+BgzB,UAA/B,EAA2CwqE,QAA3C,EAAqD;EACjD,IAAIroC,EAAJ;;EACA,OAAOniC,UAAU,GAAGwqE,QAAb,KACF,CAACroC,EAAE,GAAGn1D,IAAI,CAACg5F,UAAL,CAAgBhmE,UAAhB,CAAN,MAAuC;EAAG;EAA1C,GAAiEmiC,EAAE,KAAK;EAAG;EAA3E,GACI,CAACA,EAAE,GAAG,CAAC;EAAG;EAAV,KAAwC;EAAG;EAA3C,GAA+D,CAACA,EAAE,GAAG,CAAC;EAAG;EAAV,KAAwC;EAAG;EAD9G,GAEIA,EAAE,IAAI;EAAG;EAAT,GAAgCA,EAAE,IAAI;EAAG;EAH3C,CAAP,EAGyE;IACrEniC,UAAU;EACb;;EACD,OAAOA,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy+G,gBAAT,CAA0BzxI,IAA1B,EAAgCgzB,UAAhC,EAA4CwqE,QAA5C,EAAsD1lE,SAAtD,EAAiE;EAC7D9E,UAAU,GAAGo+G,iBAAiB,CAACpxI,IAAD,EAAOgzB,UAAP,EAAmBwqE,QAAnB,CAA9B;;EACA,IAAIxqE,UAAU,GAAGwqE,QAAjB,EAA2B;IACvB,IAAIpwF,SAAS,IAAIpN,IAAI,CAACg5F,UAAL,CAAgBhmE,UAAhB,MAAgC8E,SAAjD,EAA4D;MACxD65G,mBAAmB,CAAC3xI,IAAD,EAAO+rD,MAAM,CAAC6lF,YAAP,CAAoB95G,SAApB,CAAP,EAAuC9E,UAAvC,CAAnB;IACH;;IACDA,UAAU;EACb;;EACD,OAAOA,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0+G,iBAAT,CAA2B1xI,IAA3B,EAAiCgzB,UAAjC,EAA6CwqE,QAA7C,EAAuD;EACnD,IAAIq0C,GAAG,GAAG,CAAC,CAAX,CADmD,CACrC;;EACd,IAAIC,GAAG,GAAG,CAAC,CAAX,CAFmD,CAErC;;EACd,IAAIC,GAAG,GAAG,CAAC,CAAX,CAHmD,CAGrC;;EACd,IAAIz+H,CAAC,GAAG0f,UAAR;EACA,IAAIg/G,WAAW,GAAG1+H,CAAlB;;EACA,OAAOA,CAAC,GAAGkqF,QAAX,EAAqB;IACjB,MAAMroC,EAAE,GAAGn1D,IAAI,CAACg5F,UAAL,CAAgB1lF,CAAC,EAAjB,CAAX;;IACA,IAAI6hD,EAAE,KAAK;IAAG;IAAd,EAAyC;MACrC,OAAO68E,WAAP;IACH,CAFD,MAGK,IAAI78E,EAAE,KAAK;IAAG;IAAV,GAAyCA,EAAE,KAAK;IAAG;IAAvD,EAAoF;MACrF68E,WAAW,GAAG1+H,CAAC,GAAG2+H,iBAAiB,CAACjyI,IAAD,EAAOm1D,EAAP,EAAW7hD,CAAX,EAAckqF,QAAd,CAAnC;IACH,CAFI,MAGA,IAAIxqE,UAAU,KACf1f,CAAC,GAAG,CADC,IACI;IACTy+H,GAAG,KAAK;IAAG;IAFN,GAGLD,GAAG,KAAK;IAAG;IAHN,GAG0BD,GAAG,KAAK;IAAG;IAHrC,GAGyD18E,EAAE,KAAK;IAAG;IAHvE,EAGkG;MACnG68E,WAAW,GAAG1+H,CAAC,GAAG2+H,iBAAiB,CAACjyI,IAAD,EAAO;MAAG;MAAV,EAAsCsT,CAAtC,EAAyCkqF,QAAzC,CAAnC;IACH,CALI,MAMA,IAAIroC,EAAE,GAAG;IAAG;IAAZ,EAAkC;MACnC;MACA68E,WAAW,GAAG1+H,CAAd;IACH;;IACDy+H,GAAG,GAAGD,GAAN;IACAA,GAAG,GAAGD,GAAN;IACAA,GAAG,GAAG18E,EAAE,GAAG,CAAC;IAAG;IAAf;EACH;;EACD,OAAO68E,WAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,iBAAT,CAA2BjyI,IAA3B,EAAiCkyI,aAAjC,EAAgDl/G,UAAhD,EAA4DwqE,QAA5D,EAAsE;EAClE,IAAIq0C,GAAG,GAAG,CAAC,CAAX,CADkE,CACpD;;EACd,IAAIryI,KAAK,GAAGwzB,UAAZ;;EACA,OAAOxzB,KAAK,GAAGg+F,QAAf,EAAyB;IACrB,MAAMroC,EAAE,GAAGn1D,IAAI,CAACg5F,UAAL,CAAgBx5F,KAAK,EAArB,CAAX;;IACA,IAAI21D,EAAE,IAAI+8E,aAAN,IAAuBL,GAAG,KAAK;IAAG;IAAtC,EAAiE;MAC7D,OAAOryI,KAAP;IACH;;IACD,IAAI21D,EAAE,IAAI;IAAG;IAAT,GAAsC08E,GAAG,KAAK;IAAG;IAArD,EAAgF;MAC5E;MACA;MACAA,GAAG,GAAG,CAAN;IACH,CAJD,MAKK;MACDA,GAAG,GAAG18E,EAAN;IACH;EACJ;;EACD,MAAM/nD,SAAS,GAAGukI,mBAAmB,CAAC3xI,IAAD,EAAO+rD,MAAM,CAAC6lF,YAAP,CAAoBM,aAApB,CAAP,EAA2C10C,QAA3C,CAAtB,GACX,IAAI7rF,KAAJ,EADJ;AAEH;;AACD,SAASggI,mBAAT,CAA6B3xI,IAA7B,EAAmCmyI,SAAnC,EAA8C3yI,KAA9C,EAAqD;EACjD4N,SAAS,IAAIizE,WAAW,CAAC,OAAOrgF,IAAP,KAAgB,QAAjB,EAA2B,IAA3B,EAAiC,sBAAjC,CAAxB;EACA,MAAM2Z,UAAU,CAAE,+BAA8Bna,KAAM,cAArC,GAAqDQ,IAAI,CAAC6uB,SAAL,CAAe,CAAf,EAAkBrvB,KAAlB,CAArD,GAAgF,KAAhF,GACbQ,IAAI,CAAC6uB,SAAL,CAAervB,KAAf,EAAsBA,KAAK,GAAG,CAA9B,CADa,GACsB,KADtB,GAC8BQ,IAAI,CAACgJ,KAAL,CAAWxJ,KAAK,GAAG,CAAnB,CAD9B,GAEZ,iBAAgB2yI,SAAU,IAFf,CAAhB;AAGH;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,SAASvnI,WAAT,CAAqBzB,IAArB,EAA2B/C,KAA3B,EAAkCgjI,MAAlC,EAA0C;EACtCgJ,oBAAoB,CAACjpI,IAAD,EAAO/C,KAAP,EAAcgjI,MAAd,EAAsB,KAAtB,CAApB;EACA,OAAOx+H,WAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASF,WAAT,CAAqB2oC,SAArB,EAAgCjtC,KAAhC,EAAuC;EACnCgsI,oBAAoB,CAAC/+F,SAAD,EAAYjtC,KAAZ,EAAmB,IAAnB,EAAyB,IAAzB,CAApB;EACA,OAAOsE,WAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2nI,UAAT,CAAoB/mI,MAApB,EAA4B;EACxBgnI,eAAe,CAACC,qBAAD,EAAwBC,iBAAxB,EAA2ClnI,MAA3C,EAAmD,KAAnD,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASknI,iBAAT,CAA2BjvC,aAA3B,EAA0CvjG,IAA1C,EAAgD;EAC5C,KAAK,IAAIsT,CAAC,GAAGg+H,UAAU,CAACtxI,IAAD,CAAvB,EAA+BsT,CAAC,IAAI,CAApC,EAAuCA,CAAC,GAAGi+H,cAAc,CAACvxI,IAAD,EAAOsT,CAAP,CAAzD,EAAoE;IAChEi/H,qBAAqB,CAAChvC,aAAD,EAAgBwtC,gBAAgB,CAAC/wI,IAAD,CAAhC,EAAwCgxI,kBAAkB,CAAChxI,IAAD,CAA1D,CAArB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyyI,UAAT,CAAoB/2C,OAApB,EAA6B;EACzB42C,eAAe,CAAChvC,gBAAD,EAAmBovC,iBAAnB,EAAsCh3C,OAAtC,EAA+C,IAA/C,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg3C,iBAAT,CAA2BnvC,aAA3B,EAA0CvjG,IAA1C,EAAgD;EAC5C,KAAK,IAAIsT,CAAC,GAAG29H,cAAc,CAACjxI,IAAD,CAA3B,EAAmCsT,CAAC,IAAI,CAAxC,EAA2CA,CAAC,GAAG69H,kBAAkB,CAACnxI,IAAD,EAAOsT,CAAP,CAAjE,EAA4E;IACxEgwF,gBAAgB,CAACC,aAAD,EAAgBwtC,gBAAgB,CAAC/wI,IAAD,CAAhC,EAAwC,IAAxC,CAAhB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoyI,oBAAT,CAA8BjpI,IAA9B,EAAoC/C,KAApC,EAA2CgjI,MAA3C,EAAmDzyB,YAAnD,EAAiE;EAC7D,MAAM1rB,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMlN,KAAK,GAAGmN,QAAQ,EAAtB,CAF6D,CAG7D;EACA;EACA;;EACA,MAAMkB,YAAY,GAAGG,qBAAqB,CAAC,CAAD,CAA1C;;EACA,IAAIxO,KAAK,CAACoI,eAAV,EAA2B;IACvBumD,sBAAsB,CAAC3uD,KAAD,EAAQ76E,IAAR,EAAckpF,YAAd,EAA4BskB,YAA5B,CAAtB;EACH;;EACD,IAAIvwG,KAAK,KAAK4jH,SAAV,IAAuBse,cAAc,CAACr9C,KAAD,EAAQoH,YAAR,EAAsBjsF,KAAtB,CAAzC,EAAuE;IACnE,MAAM29E,KAAK,GAAGC,KAAK,CAACr/E,IAAN,CAAWkwF,gBAAgB,EAA3B,CAAd;IACA+9C,aAAa,CAAC5uD,KAAD,EAAQD,KAAR,EAAekH,KAAf,EAAsBA,KAAK,CAAC7B,QAAD,CAA3B,EAAuCjgF,IAAvC,EAA6C8hF,KAAK,CAACoH,YAAY,GAAG,CAAhB,CAAL,GAA0BwgD,eAAe,CAACzsI,KAAD,EAAQgjI,MAAR,CAAtF,EAAuGzyB,YAAvG,EAAqHtkB,YAArH,CAAb;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASigD,eAAT,CAAyBhvC,gBAAzB,EAA2CwvC,YAA3C,EAAyD1sI,KAAzD,EAAgEuwG,YAAhE,EAA8E;EAC1E,MAAM3yB,KAAK,GAAGmN,QAAQ,EAAtB;EACA,MAAMkB,YAAY,GAAGG,qBAAqB,CAAC,CAAD,CAA1C;;EACA,IAAIxO,KAAK,CAACoI,eAAV,EAA2B;IACvBumD,sBAAsB,CAAC3uD,KAAD,EAAQ,IAAR,EAAcqO,YAAd,EAA4BskB,YAA5B,CAAtB;EACH;;EACD,MAAM1rB,KAAK,GAAGiG,QAAQ,EAAtB;;EACA,IAAI9qF,KAAK,KAAK4jH,SAAV,IAAuBse,cAAc,CAACr9C,KAAD,EAAQoH,YAAR,EAAsBjsF,KAAtB,CAAzC,EAAuE;IACnE;IACA;IACA,MAAM29E,KAAK,GAAGC,KAAK,CAACr/E,IAAN,CAAWkwF,gBAAgB,EAA3B,CAAd;;IACA,IAAIk+C,qBAAqB,CAAChvD,KAAD,EAAQ4yB,YAAR,CAArB,IAA8C,CAACq8B,gBAAgB,CAAChvD,KAAD,EAAQqO,YAAR,CAAnE,EAA0F;MACtF,IAAIjlF,SAAJ,EAAe;QACX;QACA;QACA,MAAMyiI,WAAW,GAAG7rD,KAAK,CAACr/E,IAAN,CAAW0tF,YAAX,CAApB;QACAhS,WAAW,CAAC93E,KAAK,CAACC,OAAN,CAAcqnI,WAAd,IAA6BA,WAAW,CAAC,CAAD,CAAxC,GAA8CA,WAA/C,EAA4D,KAA5D,EAAmE,gEAAnE,CAAX;MACH,CANqF,CAOtF;MACA;MACA;MACA;MACA;MACA;MACA;;;MACA,IAAIoD,YAAY,GAAGt8B,YAAY,GAAG5yB,KAAK,CAACuwC,kBAAT,GAA8BvwC,KAAK,CAACqwC,iBAAnE;MACAhnH,SAAS,IAAIupG,YAAY,KAAK,KAA9B,IAAuCs8B,YAAY,KAAK,IAAxD,IACI5yD,WAAW,CAAC4yD,YAAY,CAAC5xF,QAAb,CAAsB,GAAtB,CAAD,EAA6B,IAA7B,EAAmC,4CAAnC,CADf;;MAEA,IAAI4xF,YAAY,KAAK,IAArB,EAA2B;QACvB;QACA7sI,KAAK,GAAG+3E,sBAAsB,CAAC80D,YAAD,EAAe7sI,KAAK,GAAGA,KAAH,GAAW,EAA/B,CAA9B;MACH,CApBqF,CAqBtF;MACA;;;MACAulI,qCAAqC,CAAC3nD,KAAD,EAAQD,KAAR,EAAekH,KAAf,EAAsB7kF,KAAtB,EAA6BuwG,YAA7B,CAArC;IACH,CAxBD,MAyBK;MACDu8B,gBAAgB,CAAClvD,KAAD,EAAQD,KAAR,EAAekH,KAAf,EAAsBA,KAAK,CAAC7B,QAAD,CAA3B,EAAuC6B,KAAK,CAACoH,YAAY,GAAG,CAAhB,CAA5C,EAAgEpH,KAAK,CAACoH,YAAY,GAAG,CAAhB,CAAL,GAA0B8gD,sBAAsB,CAAC7vC,gBAAD,EAAmBwvC,YAAnB,EAAiC1sI,KAAjC,CAAhH,EAAyJuwG,YAAzJ,EAAuKtkB,YAAvK,CAAhB;IACH;EACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2gD,gBAAT,CAA0BhvD,KAA1B,EAAiCqO,YAAjC,EAA+C;EAC3C;EACA,OAAOA,YAAY,IAAIrO,KAAK,CAAC0I,iBAA7B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASimD,sBAAT,CAAgC3uD,KAAhC,EAAuC6rD,WAAvC,EAAoDx9C,YAApD,EAAkEskB,YAAlE,EAAgF;EAC5EvpG,SAAS,IAAI++E,qBAAqB,CAACnI,KAAD,CAAlC;EACA,MAAMiP,KAAK,GAAGjP,KAAK,CAACr/E,IAApB;;EACA,IAAIsuF,KAAK,CAACZ,YAAY,GAAG,CAAhB,CAAL,KAA4B,IAAhC,EAAsC;IAClC;IACA;IACA;IACA;IACA;IACA,MAAMtO,KAAK,GAAGkP,KAAK,CAAC4B,gBAAgB,EAAjB,CAAnB;IACAznF,SAAS,IAAIyzE,aAAa,CAACkD,KAAD,EAAQ,gBAAR,CAA1B;IACA,MAAMqvD,cAAc,GAAGJ,gBAAgB,CAAChvD,KAAD,EAAQqO,YAAR,CAAvC;;IACA,IAAI0gD,qBAAqB,CAAChvD,KAAD,EAAQ4yB,YAAR,CAArB,IAA8Ck5B,WAAW,KAAK,IAA9D,IAAsE,CAACuD,cAA3E,EAA2F;MACvF;MACA;MACA;MACA;MACAvD,WAAW,GAAG,KAAd;IACH;;IACDA,WAAW,GAAGwD,sBAAsB,CAACpgD,KAAD,EAAQlP,KAAR,EAAe8rD,WAAf,EAA4Bl5B,YAA5B,CAApC;IACA04B,qBAAqB,CAACp8C,KAAD,EAAQlP,KAAR,EAAe8rD,WAAf,EAA4Bx9C,YAA5B,EAA0C+gD,cAA1C,EAA0Dz8B,YAA1D,CAArB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS08B,sBAAT,CAAgCpgD,KAAhC,EAAuClP,KAAvC,EAA8CuvD,UAA9C,EAA0D38B,YAA1D,EAAwE;EACpE,MAAM48B,gBAAgB,GAAGvgD,sBAAsB,CAACC,KAAD,CAA/C;EACA,IAAIi9C,QAAQ,GAAGv5B,YAAY,GAAG5yB,KAAK,CAACwwC,eAAT,GAA2BxwC,KAAK,CAACswC,cAA5D;;EACA,IAAIkf,gBAAgB,KAAK,IAAzB,EAA+B;IAC3B;IACA;IACA;IACA;IACA,MAAMC,mCAAmC,GAAG,CAAC78B,YAAY,GAAG5yB,KAAK,CAACywC,aAAT,GAAyBzwC,KAAK,CAAC0wC,aAA5C,MAA+D,CAA3G;;IACA,IAAI+e,mCAAJ,EAAyC;MACrC;MACA;MACA;MACAF,UAAU,GAAGG,4BAA4B,CAAC,IAAD,EAAOxgD,KAAP,EAAclP,KAAd,EAAqBuvD,UAArB,EAAiC38B,YAAjC,CAAzC;MACA28B,UAAU,GAAGI,wBAAwB,CAACJ,UAAD,EAAavvD,KAAK,CAAC0U,KAAnB,EAA0Bke,YAA1B,CAArC,CALqC,CAMrC;;MACAu5B,QAAQ,GAAG,IAAX;IACH;EACJ,CAfD,MAgBK;IACD;IACA;IACA,MAAMnc,oBAAoB,GAAGhwC,KAAK,CAACgwC,oBAAnC;IACA,MAAM4f,sCAAsC,GAAG5f,oBAAoB,KAAK,CAAC,CAA1B,IAA+B9gC,KAAK,CAAC8gC,oBAAD,CAAL,KAAgCwf,gBAA9G;;IACA,IAAII,sCAAJ,EAA4C;MACxCL,UAAU,GACNG,4BAA4B,CAACF,gBAAD,EAAmBtgD,KAAnB,EAA0BlP,KAA1B,EAAiCuvD,UAAjC,EAA6C38B,YAA7C,CADhC;;MAEA,IAAIu5B,QAAQ,KAAK,IAAjB,EAAuB;QACnB;QACA;QACA;QACA;QACA;QACA;QACA,IAAI0D,kBAAkB,GAAGC,0BAA0B,CAAC5gD,KAAD,EAAQlP,KAAR,EAAe4yB,YAAf,CAAnD;;QACA,IAAIi9B,kBAAkB,KAAKxsI,SAAvB,IAAoCmB,KAAK,CAACC,OAAN,CAAcorI,kBAAd,CAAxC,EAA2E;UACvE;UACA;UACA;UACAA,kBAAkB,GAAGH,4BAA4B,CAAC,IAAD,EAAOxgD,KAAP,EAAclP,KAAd,EAAqB6vD,kBAAkB,CAAC,CAAD;UAAI;UAA3C,EAA0Ej9B,YAA1E,CAAjD;UACAi9B,kBAAkB,GACdF,wBAAwB,CAACE,kBAAD,EAAqB7vD,KAAK,CAAC0U,KAA3B,EAAkCke,YAAlC,CAD5B;UAEAm9B,0BAA0B,CAAC7gD,KAAD,EAAQlP,KAAR,EAAe4yB,YAAf,EAA6Bi9B,kBAA7B,CAA1B;QACH;MACJ,CAjBD,MAkBK;QACD;QACA;QACA;QACA;QACA;QACA1D,QAAQ,GAAG6D,eAAe,CAAC9gD,KAAD,EAAQlP,KAAR,EAAe4yB,YAAf,CAA1B;MACH;IACJ;EACJ;;EACD,IAAIu5B,QAAQ,KAAK9oI,SAAjB,EAA4B;IACxBuvG,YAAY,GAAI5yB,KAAK,CAACwwC,eAAN,GAAwB2b,QAA5B,GAAyCnsD,KAAK,CAACswC,cAAN,GAAuB6b,QAA5E;EACH;;EACD,OAAOoD,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,0BAAT,CAAoC5gD,KAApC,EAA2ClP,KAA3C,EAAkD4yB,YAAlD,EAAgE;EAC5D,MAAMwe,QAAQ,GAAGxe,YAAY,GAAG5yB,KAAK,CAACywC,aAAT,GAAyBzwC,KAAK,CAAC0wC,aAA5D;;EACA,IAAIlD,oBAAoB,CAAC4D,QAAD,CAApB,KAAmC,CAAvC,EAA0C;IACtC;IACA,OAAO/tH,SAAP;EACH;;EACD,OAAO6rF,KAAK,CAACi+B,oBAAoB,CAACiE,QAAD,CAArB,CAAZ;AACH;AACD;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,SAAS2e,0BAAT,CAAoC7gD,KAApC,EAA2ClP,KAA3C,EAAkD4yB,YAAlD,EAAgEk5B,WAAhE,EAA6E;EACzE,MAAM1a,QAAQ,GAAGxe,YAAY,GAAG5yB,KAAK,CAACywC,aAAT,GAAyBzwC,KAAK,CAAC0wC,aAA5D;EACArnH,SAAS,IACLmzE,cAAc,CAACgxC,oBAAoB,CAAC4D,QAAD,CAArB,EAAiC,CAAjC,EAAoC,0DAApC,CADlB;EAEAliC,KAAK,CAACi+B,oBAAoB,CAACiE,QAAD,CAArB,CAAL,GAAwC0a,WAAxC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkE,eAAT,CAAyB9gD,KAAzB,EAAgClP,KAAhC,EAAuC4yB,YAAvC,EAAqD;EACjD,IAAIu5B,QAAQ,GAAG9oI,SAAf;EACA,MAAMyuF,YAAY,GAAG9R,KAAK,CAAC8R,YAA3B;EACAzoF,SAAS,IACLmzE,cAAc,CAACwD,KAAK,CAACgwC,oBAAP,EAA6B,CAAC,CAA9B,EAAiC,8GAAjC,CADlB,CAHiD,CAKjD;EACA;;EACA,KAAK,IAAIzgH,CAAC,GAAG,IAAIywE,KAAK,CAACgwC,oBAAvB,EAA6CzgH,CAAC,GAAGuiF,YAAjD,EAA+DviF,CAAC,EAAhE,EAAoE;IAChE,MAAMmlF,KAAK,GAAGxF,KAAK,CAAC3/E,CAAD,CAAL,CAASgzE,SAAvB;IACA4pD,QAAQ,GAAGwD,wBAAwB,CAACxD,QAAD,EAAWz3C,KAAX,EAAkBke,YAAlB,CAAnC;EACH;;EACD,OAAO+8B,wBAAwB,CAACxD,QAAD,EAAWnsD,KAAK,CAAC0U,KAAjB,EAAwBke,YAAxB,CAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS88B,4BAAT,CAAsCF,gBAAtC,EAAwDtgD,KAAxD,EAA+DlP,KAA/D,EAAsEuvD,UAAtE,EAAkF38B,YAAlF,EAAgG;EAC5F;EACA;EACA,IAAIq9B,gBAAgB,GAAG,IAAvB;EACA,MAAMn+C,YAAY,GAAG9R,KAAK,CAAC8R,YAA3B;EACA,IAAIk+B,oBAAoB,GAAGhwC,KAAK,CAACgwC,oBAAjC;;EACA,IAAIA,oBAAoB,KAAK,CAAC,CAA9B,EAAiC;IAC7BA,oBAAoB,GAAGhwC,KAAK,CAAC6R,cAA7B;EACH,CAFD,MAGK;IACDm+B,oBAAoB;EACvB;;EACD,OAAOA,oBAAoB,GAAGl+B,YAA9B,EAA4C;IACxCm+C,gBAAgB,GAAG/gD,KAAK,CAAC8gC,oBAAD,CAAxB;IACA3mH,SAAS,IAAIyzE,aAAa,CAACmzD,gBAAD,EAAmB,wBAAnB,CAA1B;IACAV,UAAU,GAAGI,wBAAwB,CAACJ,UAAD,EAAaU,gBAAgB,CAAC1tD,SAA9B,EAAyCqwB,YAAzC,CAArC;IACA,IAAIq9B,gBAAgB,KAAKT,gBAAzB,EACI;IACJxf,oBAAoB;EACvB;;EACD,IAAIwf,gBAAgB,KAAK,IAAzB,EAA+B;IAC3B;IACA;IACA;IACAxvD,KAAK,CAACgwC,oBAAN,GAA6BA,oBAA7B;EACH;;EACD,OAAOuf,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,wBAAT,CAAkCJ,UAAlC,EAA8C76C,KAA9C,EAAqDke,YAArD,EAAmE;EAC/D,MAAMs9B,aAAa,GAAGt9B,YAAY,GAAG;EAAE;EAAL,EAAqC;EAAE;EAAzE;EACA,IAAIu9B,aAAa,GAAG,CAAC;EAAE;EAAvB;;EACA,IAAIz7C,KAAK,KAAK,IAAd,EAAoB;IAChB,KAAK,IAAInlF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmlF,KAAK,CAAC1xF,MAA1B,EAAkCuM,CAAC,EAAnC,EAAuC;MACnC,MAAMtQ,IAAI,GAAGy1F,KAAK,CAACnlF,CAAD,CAAlB;;MACA,IAAI,OAAOtQ,IAAP,KAAgB,QAApB,EAA8B;QAC1BkxI,aAAa,GAAGlxI,IAAhB;MACH,CAFD,MAGK;QACD,IAAIkxI,aAAa,KAAKD,aAAtB,EAAqC;UACjC,IAAI,CAAC1rI,KAAK,CAACC,OAAN,CAAc8qI,UAAd,CAAL,EAAgC;YAC5BA,UAAU,GAAGA,UAAU,KAAKlsI,SAAf,GAA2B,EAA3B,GAAgC,CAAC,EAAD,EAAKksI,UAAL,CAA7C;UACH;;UACDhwC,gBAAgB,CAACgwC,UAAD,EAAatwI,IAAb,EAAmB2zG,YAAY,GAAG,IAAH,GAAUle,KAAK,CAAC,EAAEnlF,CAAH,CAA9C,CAAhB;QACH;MACJ;IACJ;EACJ;;EACD,OAAOggI,UAAU,KAAKlsI,SAAf,GAA2B,IAA3B,GAAkCksI,UAAzC;AACH;AACD;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,SAASH,sBAAT,CAAgC7vC,gBAAhC,EAAkDwvC,YAAlD,EAAgE1sI,KAAhE,EAAuE;EACnE,IAAIA,KAAK,IAAI;EAAK;EAAd,GAA6CA,KAAK,KAAK,EAA3D,EACI,OAAOm/E,WAAP;EACJ,MAAM4uD,kBAAkB,GAAG,EAA3B;EACA,MAAMC,cAAc,GAAGn7B,eAAe,CAAC7yG,KAAD,CAAtC;;EACA,IAAImC,KAAK,CAACC,OAAN,CAAc4rI,cAAd,CAAJ,EAAmC;IAC/B,KAAK,IAAI9gI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8gI,cAAc,CAACrtI,MAAnC,EAA2CuM,CAAC,EAA5C,EAAgD;MAC5CgwF,gBAAgB,CAAC6wC,kBAAD,EAAqBC,cAAc,CAAC9gI,CAAD,CAAnC,EAAwC,IAAxC,CAAhB;IACH;EACJ,CAJD,MAKK,IAAI,OAAO8gI,cAAP,KAA0B,QAA9B,EAAwC;IACzC,KAAK,MAAMt7H,GAAX,IAAkBs7H,cAAlB,EAAkC;MAC9B,IAAIA,cAAc,CAAC1hH,cAAf,CAA8B5Z,GAA9B,CAAJ,EAAwC;QACpCwqF,gBAAgB,CAAC6wC,kBAAD,EAAqBr7H,GAArB,EAA0Bs7H,cAAc,CAACt7H,GAAD,CAAxC,CAAhB;MACH;IACJ;EACJ,CANI,MAOA,IAAI,OAAOs7H,cAAP,KAA0B,QAA9B,EAAwC;IACzCtB,YAAY,CAACqB,kBAAD,EAAqBC,cAArB,CAAZ;EACH,CAFI,MAGA;IACDhnI,SAAS,IACLuM,UAAU,CAAC,8BAA8B,OAAOy6H,cAArC,GAAsD,IAAtD,GAA6DA,cAA9D,CADd;EAEH;;EACD,OAAOD,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS5B,qBAAT,CAA+BhvC,aAA/B,EAA8CzqF,GAA9C,EAAmD1S,KAAnD,EAA0D;EACtDk9F,gBAAgB,CAACC,aAAD,EAAgBzqF,GAAhB,EAAqBmgG,eAAe,CAAC7yG,KAAD,CAApC,CAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8sI,gBAAT,CAA0BlvD,KAA1B,EAAiCD,KAAjC,EAAwCkH,KAAxC,EAA+Cxe,QAA/C,EAAyD4nE,gBAAzD,EAA2EC,gBAA3E,EAA6F39B,YAA7F,EAA2GtkB,YAA3G,EAAyH;EACrH,IAAIgiD,gBAAgB,KAAKrqB,SAAzB,EAAoC;IAChC;IACAqqB,gBAAgB,GAAG9uD,WAAnB;EACH;;EACD,IAAIgvD,QAAQ,GAAG,CAAf;EACA,IAAIC,QAAQ,GAAG,CAAf;EACA,IAAIC,MAAM,GAAG,IAAIJ,gBAAgB,CAACttI,MAArB,GAA8BstI,gBAAgB,CAAC,CAAD,CAA9C,GAAoD,IAAjE;EACA,IAAIjnB,MAAM,GAAG,IAAIknB,gBAAgB,CAACvtI,MAArB,GAA8ButI,gBAAgB,CAAC,CAAD,CAA9C,GAAoD,IAAjE;;EACA,OAAOG,MAAM,KAAK,IAAX,IAAmBrnB,MAAM,KAAK,IAArC,EAA2C;IACvChgH,SAAS,IAAIszE,cAAc,CAAC6zD,QAAD,EAAW,GAAX,EAAgB,gCAAhB,CAA3B;IACAnnI,SAAS,IAAIszE,cAAc,CAAC8zD,QAAD,EAAW,GAAX,EAAgB,gCAAhB,CAA3B;IACA,MAAM/8F,QAAQ,GAAG88F,QAAQ,GAAGF,gBAAgB,CAACttI,MAA5B,GAAqCstI,gBAAgB,CAACE,QAAQ,GAAG,CAAZ,CAArD,GAAsEntI,SAAvF;IACA,MAAM82D,QAAQ,GAAGs2E,QAAQ,GAAGF,gBAAgB,CAACvtI,MAA5B,GAAqCutI,gBAAgB,CAACE,QAAQ,GAAG,CAAZ,CAArD,GAAsEptI,SAAvF;IACA,IAAIstI,MAAM,GAAG,IAAb;IACA,IAAI1jC,QAAQ,GAAG5pG,SAAf;;IACA,IAAIqtI,MAAM,KAAKrnB,MAAf,EAAuB;MACnB;MACAmnB,QAAQ,IAAI,CAAZ;MACAC,QAAQ,IAAI,CAAZ;;MACA,IAAI/8F,QAAQ,KAAKymB,QAAjB,EAA2B;QACvBw2E,MAAM,GAAGtnB,MAAT;QACApc,QAAQ,GAAG9yC,QAAX;MACH;IACJ,CARD,MASK,IAAIkvD,MAAM,KAAK,IAAX,IAAmBqnB,MAAM,KAAK,IAAX,IAAmBA,MAAM,GAAGrnB,MAAnD,EAA2D;MAC5D;MACA;MACA;MACA;MACAmnB,QAAQ,IAAI,CAAZ;MACAG,MAAM,GAAGD,MAAT;IACH,CAPI,MAQA;MACD;MACA;MACA;MACArnI,SAAS,IAAIyzE,aAAa,CAACusC,MAAD,EAAS,+BAAT,CAA1B;MACAonB,QAAQ,IAAI,CAAZ;MACAE,MAAM,GAAGtnB,MAAT;MACApc,QAAQ,GAAG9yC,QAAX;IACH;;IACD,IAAIw2E,MAAM,KAAK,IAAf,EAAqB;MACjB9B,aAAa,CAAC5uD,KAAD,EAAQD,KAAR,EAAekH,KAAf,EAAsBxe,QAAtB,EAAgCioE,MAAhC,EAAwC1jC,QAAxC,EAAkD2F,YAAlD,EAAgEtkB,YAAhE,CAAb;IACH;;IACDoiD,MAAM,GAAGF,QAAQ,GAAGF,gBAAgB,CAACttI,MAA5B,GAAqCstI,gBAAgB,CAACE,QAAD,CAArD,GAAkE,IAA3E;IACAnnB,MAAM,GAAGonB,QAAQ,GAAGF,gBAAgB,CAACvtI,MAA5B,GAAqCutI,gBAAgB,CAACE,QAAD,CAArD,GAAkE,IAA3E;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS5B,aAAT,CAAuB5uD,KAAvB,EAA8BD,KAA9B,EAAqCkH,KAArC,EAA4Cxe,QAA5C,EAAsDtjE,IAAtD,EAA4D/C,KAA5D,EAAmEuwG,YAAnE,EAAiFtkB,YAAjF,EAA+F;EAC3F,IAAI,EAAEtO,KAAK,CAACpgF,IAAN,GAAa;EAAE;EAAjB,CAAJ,EAAgD;IAC5C;IACA;IACA;EACH;;EACD,MAAMsvF,KAAK,GAAGjP,KAAK,CAACr/E,IAApB;EACA,MAAMgwI,MAAM,GAAG1hD,KAAK,CAACZ,YAAY,GAAG,CAAhB,CAApB;EACA,MAAMuiD,mBAAmB,GAAGnjB,6BAA6B,CAACkjB,MAAD,CAA7B,GACxBE,gBAAgB,CAAC5hD,KAAD,EAAQlP,KAAR,EAAekH,KAAf,EAAsB9hF,IAAtB,EAA4BooH,oBAAoB,CAACojB,MAAD,CAAhD,EAA0Dh+B,YAA1D,CADQ,GAExBvvG,SAFJ;;EAGA,IAAI,CAAC0tI,qBAAqB,CAACF,mBAAD,CAA1B,EAAiD;IAC7C;IACA,IAAI,CAACE,qBAAqB,CAAC1uI,KAAD,CAA1B,EAAmC;MAC/B;MACA,IAAIgrH,6BAA6B,CAACujB,MAAD,CAAjC,EAA2C;QACvC;QACAvuI,KAAK,GAAGyuI,gBAAgB,CAAC5hD,KAAD,EAAQ,IAAR,EAAchI,KAAd,EAAqB9hF,IAArB,EAA2BkpF,YAA3B,EAAyCskB,YAAzC,CAAxB;MACH;IACJ;;IACD,MAAMpG,KAAK,GAAGphB,gBAAgB,CAAC0F,gBAAgB,EAAjB,EAAqB5J,KAArB,CAA9B;IACAyrB,YAAY,CAACjqC,QAAD,EAAWkqC,YAAX,EAAyBpG,KAAzB,EAAgCpnG,IAAhC,EAAsC/C,KAAtC,CAAZ;EACH;AACJ;AACD;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,SAASyuI,gBAAT,CAA0B5hD,KAA1B,EAAiClP,KAAjC,EAAwCkH,KAAxC,EAA+C9hF,IAA/C,EAAqD3J,KAArD,EAA4Dm3G,YAA5D,EAA0E;EACtE;EACA;EACA;EACA;EACA;EACA,MAAMo+B,eAAe,GAAGhxD,KAAK,KAAK,IAAlC;EACA,IAAI39E,KAAK,GAAGgB,SAAZ;;EACA,OAAO5H,KAAK,GAAG,CAAf,EAAkB;IACd,MAAMw1I,MAAM,GAAG/hD,KAAK,CAACzzF,KAAD,CAApB;IACA,MAAMy1I,eAAe,GAAG1sI,KAAK,CAACC,OAAN,CAAcwsI,MAAd,CAAxB,CAFc,CAGd;;IACA,MAAMl8H,GAAG,GAAGm8H,eAAe,GAAGD,MAAM,CAAC,CAAD,CAAT,GAAeA,MAA1C;IACA,MAAME,YAAY,GAAGp8H,GAAG,KAAK,IAA7B;IACA,IAAIq8H,iBAAiB,GAAGlqD,KAAK,CAACzrF,KAAK,GAAG,CAAT,CAA7B;;IACA,IAAI21I,iBAAiB,KAAKnrB,SAA1B,EAAqC;MACjC;MACA;MACA;MACA;MACA;MACA;MACA;MACAmrB,iBAAiB,GAAGD,YAAY,GAAG3vD,WAAH,GAAiBn+E,SAAjD;IACH;;IACD,IAAIyxD,YAAY,GAAGq8E,YAAY,GAAGzxC,gBAAgB,CAAC0xC,iBAAD,EAAoBhsI,IAApB,CAAnB,GAC1B2P,GAAG,KAAK3P,IAAR,GAAegsI,iBAAf,GAAmC/tI,SADxC;;IAEA,IAAI6tI,eAAe,IAAI,CAACH,qBAAqB,CAACj8E,YAAD,CAA7C,EAA6D;MACzDA,YAAY,GAAG4qC,gBAAgB,CAACuxC,MAAD,EAAS7rI,IAAT,CAA/B;IACH;;IACD,IAAI2rI,qBAAqB,CAACj8E,YAAD,CAAzB,EAAyC;MACrCzyD,KAAK,GAAGyyD,YAAR;;MACA,IAAIk8E,eAAJ,EAAqB;QACjB,OAAO3uI,KAAP;MACH;IACJ;;IACD,MAAMuuI,MAAM,GAAG1hD,KAAK,CAACzzF,KAAK,GAAG,CAAT,CAApB;IACAA,KAAK,GAAGu1I,eAAe,GAAG7jB,oBAAoB,CAACyjB,MAAD,CAAvB,GAAkCpjB,oBAAoB,CAACojB,MAAD,CAA7E;EACH;;EACD,IAAI5wD,KAAK,KAAK,IAAd,EAAoB;IAChB;IACA;IACA,IAAImsD,QAAQ,GAAGv5B,YAAY,GAAG5yB,KAAK,CAACwwC,eAAT,GAA2BxwC,KAAK,CAACswC,cAA5D;;IACA,IAAI6b,QAAQ,IAAI;IAAK;IAArB,EAAwD;MACpD9pI,KAAK,GAAGq9F,gBAAgB,CAACysC,QAAD,EAAW/mI,IAAX,CAAxB;IACH;EACJ;;EACD,OAAO/C,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0uI,qBAAT,CAA+B1uI,KAA/B,EAAsC;EAClC;EACA;EACA;EACA;EACA,OAAOA,KAAK,KAAKgB,SAAjB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyrI,eAAT,CAAyBzsI,KAAzB,EAAgCgjI,MAAhC,EAAwC;EACpC,IAAIhjI,KAAK,IAAI;EAAK;EAAlB,EAAiD,CAC7C;EACH,CAFD,MAGK,IAAI,OAAOgjI,MAAP,KAAkB,QAAtB,EAAgC;IACjChjI,KAAK,GAAGA,KAAK,GAAGgjI,MAAhB;EACH,CAFI,MAGA,IAAI,OAAOhjI,KAAP,KAAiB,QAArB,EAA+B;IAChCA,KAAK,GAAGi1D,SAAS,CAAC49C,eAAe,CAAC7yG,KAAD,CAAhB,CAAjB;EACH;;EACD,OAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2sI,qBAAT,CAA+BhvD,KAA/B,EAAsC4yB,YAAtC,EAAoD;EAChD,OAAO,CAAC5yB,KAAK,CAAC3jB,KAAN,IAAeu2C,YAAY,GAAG;EAAG;EAAN,EAAuC;EAAG;EAArE,CAAD,MAA2G,CAAlH;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASx4G,MAAT,CAAgBqB,KAAhB,EAAuB4G,KAAK,GAAG,EAA/B,EAAmC;EAC/B,MAAM6kF,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMlN,KAAK,GAAGmN,QAAQ,EAAtB;EACA,MAAMq6C,aAAa,GAAGhsI,KAAK,GAAGuqF,aAA9B;EACA38E,SAAS,IACLizE,WAAW,CAAC+R,eAAe,EAAhB,EAAoBpO,KAAK,CAACwI,iBAA1B,EAA6C,kDAA7C,CADf;EAEAp/E,SAAS,IAAI6zE,kBAAkB,CAACgK,KAAD,EAAQugD,aAAR,CAA/B;EACA,MAAMznD,KAAK,GAAGC,KAAK,CAACF,eAAN,GACVu2C,gBAAgB,CAACr2C,KAAD,EAAQwnD,aAAR,EAAuB;EAAE;EAAzB,EAA+CplI,KAA/C,EAAsD,IAAtD,CADN,GAEV49E,KAAK,CAACr/E,IAAN,CAAW6mI,aAAX,CAFJ;EAGA,MAAM4J,UAAU,GAAGnqD,KAAK,CAACugD,aAAD,CAAL,GAAuB36B,cAAc,CAAC5lB,KAAK,CAAC7B,QAAD,CAAN,EAAkBhjF,KAAlB,CAAxD;EACAszE,WAAW,CAACsK,KAAD,EAAQiH,KAAR,EAAemqD,UAAf,EAA2BrxD,KAA3B,CAAX,CAX+B,CAY/B;;EACA2N,eAAe,CAAC3N,KAAD,EAAQ,KAAR,CAAf;AACH;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,SAASvlF,iBAAT,CAA2B2qI,EAA3B,EAA+B;EAC3BppI,kBAAkB,CAAC,EAAD,EAAKopI,EAAL,EAAS,EAAT,CAAlB;EACA,OAAO3qI,iBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuB,kBAAT,CAA4BonH,MAA5B,EAAoCgiB,EAApC,EAAwCC,MAAxC,EAAgD;EAC5C,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMg6C,YAAY,GAAGhC,cAAc,CAACj+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBC,MAApB,CAAnC;;EACA,IAAI8B,YAAY,KAAKlhB,SAArB,EAAgC;IAC5BiY,mBAAmB,CAACh3C,KAAD,EAAQ4J,gBAAgB,EAAxB,EAA4Bq2C,YAA5B,CAAnB;EACH;;EACD,OAAOnrI,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASs1I,kBAAT,CAA4BluB,MAA5B,EAAoCgiB,EAApC,EAAwChgH,EAAxC,EAA4CmgH,EAA5C,EAAgDF,MAAhD,EAAwD;EACpD,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMg6C,YAAY,GAAG7B,cAAc,CAACp+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4BF,MAA5B,CAAnC;;EACA,IAAI8B,YAAY,KAAKlhB,SAArB,EAAgC;IAC5BiY,mBAAmB,CAACh3C,KAAD,EAAQ4J,gBAAgB,EAAxB,EAA4Bq2C,YAA5B,CAAnB;EACH;;EACD,OAAOmK,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BnuB,MAA5B,EAAoCgiB,EAApC,EAAwChgH,EAAxC,EAA4CmgH,EAA5C,EAAgDn3D,EAAhD,EAAoDq3D,EAApD,EAAwDJ,MAAxD,EAAgE;EAC5D,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMg6C,YAAY,GAAG3B,cAAc,CAACt+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCJ,MAApC,CAAnC;;EACA,IAAI8B,YAAY,KAAKlhB,SAArB,EAAgC;IAC5BiY,mBAAmB,CAACh3C,KAAD,EAAQ4J,gBAAgB,EAAxB,EAA4Bq2C,YAA5B,CAAnB;EACH;;EACD,OAAOoK,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BpuB,MAA5B,EAAoCgiB,EAApC,EAAwChgH,EAAxC,EAA4CmgH,EAA5C,EAAgDn3D,EAAhD,EAAoDq3D,EAApD,EAAwDE,EAAxD,EAA4DC,EAA5D,EAAgEP,MAAhE,EAAwE;EACpE,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMg6C,YAAY,GAAGzB,cAAc,CAACx+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CP,MAA5C,CAAnC;;EACA,IAAI8B,YAAY,KAAKlhB,SAArB,EAAgC;IAC5BiY,mBAAmB,CAACh3C,KAAD,EAAQ4J,gBAAgB,EAAxB,EAA4Bq2C,YAA5B,CAAnB;EACH;;EACD,OAAOqK,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BruB,MAA5B,EAAoCgiB,EAApC,EAAwChgH,EAAxC,EAA4CmgH,EAA5C,EAAgDn3D,EAAhD,EAAoDq3D,EAApD,EAAwDE,EAAxD,EAA4DC,EAA5D,EAAgEE,EAAhE,EAAoEC,EAApE,EAAwEV,MAAxE,EAAgF;EAC5E,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMg6C,YAAY,GAAGtB,cAAc,CAAC3+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDV,MAApD,CAAnC;;EACA,IAAI8B,YAAY,KAAKlhB,SAArB,EAAgC;IAC5BiY,mBAAmB,CAACh3C,KAAD,EAAQ4J,gBAAgB,EAAxB,EAA4Bq2C,YAA5B,CAAnB;EACH;;EACD,OAAOsK,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BtuB,MAA5B,EAAoCgiB,EAApC,EAAwChgH,EAAxC,EAA4CmgH,EAA5C,EAAgDn3D,EAAhD,EAAoDq3D,EAApD,EAAwDE,EAAxD,EAA4DC,EAA5D,EAAgEE,EAAhE,EAAoEC,EAApE,EAAwEE,EAAxE,EAA4EC,EAA5E,EAAgFb,MAAhF,EAAwF;EACpF,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMg6C,YAAY,GAAGnB,cAAc,CAAC9+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4Db,MAA5D,CAAnC;;EACA,IAAI8B,YAAY,KAAKlhB,SAArB,EAAgC;IAC5BiY,mBAAmB,CAACh3C,KAAD,EAAQ4J,gBAAgB,EAAxB,EAA4Bq2C,YAA5B,CAAnB;EACH;;EACD,OAAOuK,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BvuB,MAA5B,EAAoCgiB,EAApC,EAAwChgH,EAAxC,EAA4CmgH,EAA5C,EAAgDn3D,EAAhD,EAAoDq3D,EAApD,EAAwDE,EAAxD,EAA4DC,EAA5D,EAAgEE,EAAhE,EAAoEC,EAApE,EAAwEE,EAAxE,EAA4EC,EAA5E,EAAgFE,EAAhF,EAAoFC,EAApF,EAAwFhB,MAAxF,EAAgG;EAC5F,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMg6C,YAAY,GAAGhB,cAAc,CAACj/C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEhB,MAApE,CAAnC;;EACA,IAAI8B,YAAY,KAAKlhB,SAArB,EAAgC;IAC5BiY,mBAAmB,CAACh3C,KAAD,EAAQ4J,gBAAgB,EAAxB,EAA4Bq2C,YAA5B,CAAnB;EACH;;EACD,OAAOwK,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BxuB,MAA5B,EAAoCgiB,EAApC,EAAwChgH,EAAxC,EAA4CmgH,EAA5C,EAAgDn3D,EAAhD,EAAoDq3D,EAApD,EAAwDE,EAAxD,EAA4DC,EAA5D,EAAgEE,EAAhE,EAAoEC,EAApE,EAAwEE,EAAxE,EAA4EC,EAA5E,EAAgFE,EAAhF,EAAoFC,EAApF,EAAwFE,EAAxF,EAA4FC,EAA5F,EAAgGnB,MAAhG,EAAwG;EACpG,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMg6C,YAAY,GAAGb,cAAc,CAACp/C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EnB,MAA5E,CAAnC;;EACA,IAAI8B,YAAY,KAAKlhB,SAArB,EAAgC;IAC5BiY,mBAAmB,CAACh3C,KAAD,EAAQ4J,gBAAgB,EAAxB,EAA4Bq2C,YAA5B,CAAnB;EACH;;EACD,OAAOyK,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4Bl+H,MAA5B,EAAoC;EAChC,MAAMuzE,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMg6C,YAAY,GAAGlC,cAAc,CAAC/9C,KAAD,EAAQvzE,MAAR,CAAnC;;EACA,IAAIwzH,YAAY,KAAKlhB,SAArB,EAAgC;IAC5BiY,mBAAmB,CAACh3C,KAAD,EAAQ4J,gBAAgB,EAAxB,EAA4Bq2C,YAA5B,CAAnB;EACH;;EACD,OAAO0K,kBAAP;AACH;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,SAASC,sBAAT,CAAgC1uB,MAAhC,EAAwCgiB,EAAxC,EAA4CC,MAA5C,EAAoD;EAChD,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGvB,cAAc,CAACj+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBC,MAApB,CAAxC;EACAkJ,eAAe,CAAChvC,gBAAD,EAAmBovC,iBAAnB,EAAsCjI,iBAAtC,EAAyD,IAAzD,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqL,sBAAT,CAAgC3uB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDF,MAApD,EAA4D;EACxD,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGpB,cAAc,CAACp+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4BF,MAA5B,CAAxC;EACAkJ,eAAe,CAAChvC,gBAAD,EAAmBovC,iBAAnB,EAAsCjI,iBAAtC,EAAyD,IAAzD,CAAf;AACH;AACD;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,SAASsL,sBAAT,CAAgC5uB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DJ,MAA5D,EAAoE;EAChE,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGlB,cAAc,CAACt+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCJ,MAApC,CAAxC;EACAkJ,eAAe,CAAChvC,gBAAD,EAAmBovC,iBAAnB,EAAsCjI,iBAAtC,EAAyD,IAAzD,CAAf;AACH;AACD;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,SAASuL,sBAAT,CAAgC7uB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEP,MAApE,EAA4E;EACxE,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGhB,cAAc,CAACx+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CP,MAA5C,CAAxC;EACAkJ,eAAe,CAAChvC,gBAAD,EAAmBovC,iBAAnB,EAAsCjI,iBAAtC,EAAyD,IAAzD,CAAf;AACH;AACD;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,SAASwL,sBAAT,CAAgC9uB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EV,MAA5E,EAAoF;EAChF,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGb,cAAc,CAAC3+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDV,MAApD,CAAxC;EACAkJ,eAAe,CAAChvC,gBAAD,EAAmBovC,iBAAnB,EAAsCjI,iBAAtC,EAAyD,IAAzD,CAAf;AACH;AACD;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,SAASyL,sBAAT,CAAgC/uB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EE,EAA5E,EAAgFC,EAAhF,EAAoFb,MAApF,EAA4F;EACxF,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGV,cAAc,CAAC9+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4Db,MAA5D,CAAxC;EACAkJ,eAAe,CAAChvC,gBAAD,EAAmBovC,iBAAnB,EAAsCjI,iBAAtC,EAAyD,IAAzD,CAAf;AACH;AACD;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,SAAS0L,sBAAT,CAAgChvB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EE,EAA5E,EAAgFC,EAAhF,EAAoFE,EAApF,EAAwFC,EAAxF,EAA4FhB,MAA5F,EAAoG;EAChG,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGP,cAAc,CAACj/C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEhB,MAApE,CAAxC;EACAkJ,eAAe,CAAChvC,gBAAD,EAAmBovC,iBAAnB,EAAsCjI,iBAAtC,EAAyD,IAAzD,CAAf;AACH;AACD;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,SAAS2L,sBAAT,CAAgCjvB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EE,EAA5E,EAAgFC,EAAhF,EAAoFE,EAApF,EAAwFC,EAAxF,EAA4FE,EAA5F,EAAgGC,EAAhG,EAAoGnB,MAApG,EAA4G;EACxG,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGJ,cAAc,CAACp/C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EnB,MAA5E,CAAxC;EACAkJ,eAAe,CAAChvC,gBAAD,EAAmBovC,iBAAnB,EAAsCjI,iBAAtC,EAAyD,IAAzD,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4L,sBAAT,CAAgC3+H,MAAhC,EAAwC;EACpC,MAAMuzE,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGzB,cAAc,CAAC/9C,KAAD,EAAQvzE,MAAR,CAAxC;EACA46H,eAAe,CAAChvC,gBAAD,EAAmBovC,iBAAnB,EAAsCjI,iBAAtC,EAAyD,IAAzD,CAAf;AACH;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,SAAS6L,sBAAT,CAAgCnvB,MAAhC,EAAwCgiB,EAAxC,EAA4CC,MAA5C,EAAoD;EAChD,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGvB,cAAc,CAACj+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBC,MAApB,CAAxC;EACAiJ,UAAU,CAAC5H,iBAAD,CAAV;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8L,sBAAT,CAAgCpvB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDF,MAApD,EAA4D;EACxD,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGpB,cAAc,CAACp+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4BF,MAA5B,CAAxC;EACAiJ,UAAU,CAAC5H,iBAAD,CAAV;AACH;AACD;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,SAAS+L,sBAAT,CAAgCrvB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DJ,MAA5D,EAAoE;EAChE,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGlB,cAAc,CAACt+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCJ,MAApC,CAAxC;EACAiJ,UAAU,CAAC5H,iBAAD,CAAV;AACH;AACD;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,SAASgM,sBAAT,CAAgCtvB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEP,MAApE,EAA4E;EACxE,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGhB,cAAc,CAACx+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CP,MAA5C,CAAxC;EACAiJ,UAAU,CAAC5H,iBAAD,CAAV;AACH;AACD;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,SAASiM,sBAAT,CAAgCvvB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EV,MAA5E,EAAoF;EAChF,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGb,cAAc,CAAC3+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDV,MAApD,CAAxC;EACAiJ,UAAU,CAAC5H,iBAAD,CAAV;AACH;AACD;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,SAASkM,sBAAT,CAAgCxvB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EE,EAA5E,EAAgFC,EAAhF,EAAoFb,MAApF,EAA4F;EACxF,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGV,cAAc,CAAC9+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4Db,MAA5D,CAAxC;EACAiJ,UAAU,CAAC5H,iBAAD,CAAV;AACH;AACD;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,SAASmM,sBAAT,CAAgCzvB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EE,EAA5E,EAAgFC,EAAhF,EAAoFE,EAApF,EAAwFC,EAAxF,EAA4FhB,MAA5F,EAAoG;EAChG,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGP,cAAc,CAACj/C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEhB,MAApE,CAAxC;EACAiJ,UAAU,CAAC5H,iBAAD,CAAV;AACH;AACD;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,SAASoM,sBAAT,CAAgC1vB,MAAhC,EAAwCgiB,EAAxC,EAA4ChgH,EAA5C,EAAgDmgH,EAAhD,EAAoDn3D,EAApD,EAAwDq3D,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EE,EAA5E,EAAgFC,EAAhF,EAAoFE,EAApF,EAAwFC,EAAxF,EAA4FE,EAA5F,EAAgGC,EAAhG,EAAoGnB,MAApG,EAA4G;EACxG,MAAMn+C,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGJ,cAAc,CAACp/C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EnB,MAA5E,CAAxC;EACAiJ,UAAU,CAAC5H,iBAAD,CAAV;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqM,sBAAT,CAAgCp/H,MAAhC,EAAwC;EACpC,MAAMuzE,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGzB,cAAc,CAAC/9C,KAAD,EAAQvzE,MAAR,CAAxC;EACA26H,UAAU,CAAC5H,iBAAD,CAAV;AACH;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,SAASsM,uBAAT,CAAiC5tI,IAAjC,EAAuCg+G,MAAvC,EAA+CgiB,EAA/C,EAAmDC,MAAnD,EAA2D4N,WAA3D,EAAwE;EACpE,MAAM/rD,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGvB,cAAc,CAACj+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBC,MAApB,CAAxC;EACAgJ,oBAAoB,CAACjpI,IAAD,EAAOshI,iBAAP,EAA0BuM,WAA1B,EAAuC,KAAvC,CAApB;EACA,OAAOD,uBAAP;AACH;AACD;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,SAASE,uBAAT,CAAiC9tI,IAAjC,EAAuCg+G,MAAvC,EAA+CgiB,EAA/C,EAAmDhgH,EAAnD,EAAuDmgH,EAAvD,EAA2DF,MAA3D,EAAmE4N,WAAnE,EAAgF;EAC5E,MAAM/rD,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGpB,cAAc,CAACp+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4BF,MAA5B,CAAxC;EACAgJ,oBAAoB,CAACjpI,IAAD,EAAOshI,iBAAP,EAA0BuM,WAA1B,EAAuC,KAAvC,CAApB;EACA,OAAOC,uBAAP;AACH;AACD;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,SAASC,uBAAT,CAAiC/tI,IAAjC,EAAuCg+G,MAAvC,EAA+CgiB,EAA/C,EAAmDhgH,EAAnD,EAAuDmgH,EAAvD,EAA2Dn3D,EAA3D,EAA+Dq3D,EAA/D,EAAmEJ,MAAnE,EAA2E4N,WAA3E,EAAwF;EACpF,MAAM/rD,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGlB,cAAc,CAACt+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCJ,MAApC,CAAxC;EACAgJ,oBAAoB,CAACjpI,IAAD,EAAOshI,iBAAP,EAA0BuM,WAA1B,EAAuC,KAAvC,CAApB;EACA,OAAOE,uBAAP;AACH;AACD;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,SAASC,uBAAT,CAAiChuI,IAAjC,EAAuCg+G,MAAvC,EAA+CgiB,EAA/C,EAAmDhgH,EAAnD,EAAuDmgH,EAAvD,EAA2Dn3D,EAA3D,EAA+Dq3D,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EP,MAA3E,EAAmF4N,WAAnF,EAAgG;EAC5F,MAAM/rD,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGhB,cAAc,CAACx+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CP,MAA5C,CAAxC;EACAgJ,oBAAoB,CAACjpI,IAAD,EAAOshI,iBAAP,EAA0BuM,WAA1B,EAAuC,KAAvC,CAApB;EACA,OAAOG,uBAAP;AACH;AACD;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,SAASC,uBAAT,CAAiCjuI,IAAjC,EAAuCg+G,MAAvC,EAA+CgiB,EAA/C,EAAmDhgH,EAAnD,EAAuDmgH,EAAvD,EAA2Dn3D,EAA3D,EAA+Dq3D,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFV,MAAnF,EAA2F4N,WAA3F,EAAwG;EACpG,MAAM/rD,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGb,cAAc,CAAC3+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDV,MAApD,CAAxC;EACAgJ,oBAAoB,CAACjpI,IAAD,EAAOshI,iBAAP,EAA0BuM,WAA1B,EAAuC,KAAvC,CAApB;EACA,OAAOI,uBAAP;AACH;AACD;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,SAASC,uBAAT,CAAiCluI,IAAjC,EAAuCg+G,MAAvC,EAA+CgiB,EAA/C,EAAmDhgH,EAAnD,EAAuDmgH,EAAvD,EAA2Dn3D,EAA3D,EAA+Dq3D,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFE,EAAnF,EAAuFC,EAAvF,EAA2Fb,MAA3F,EAAmG4N,WAAnG,EAAgH;EAC5G,MAAM/rD,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGV,cAAc,CAAC9+C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4Db,MAA5D,CAAxC;EACAgJ,oBAAoB,CAACjpI,IAAD,EAAOshI,iBAAP,EAA0BuM,WAA1B,EAAuC,KAAvC,CAApB;EACA,OAAOK,uBAAP;AACH;AACD;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,SAASC,uBAAT,CAAiCnuI,IAAjC,EAAuCg+G,MAAvC,EAA+CgiB,EAA/C,EAAmDhgH,EAAnD,EAAuDmgH,EAAvD,EAA2Dn3D,EAA3D,EAA+Dq3D,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFE,EAAnF,EAAuFC,EAAvF,EAA2FE,EAA3F,EAA+FC,EAA/F,EAAmGhB,MAAnG,EAA2G4N,WAA3G,EAAwH;EACpH,MAAM/rD,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGP,cAAc,CAACj/C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEhB,MAApE,CAAxC;EACAgJ,oBAAoB,CAACjpI,IAAD,EAAOshI,iBAAP,EAA0BuM,WAA1B,EAAuC,KAAvC,CAApB;EACA,OAAOM,uBAAP;AACH;AACD;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,SAASC,uBAAT,CAAiCpuI,IAAjC,EAAuCg+G,MAAvC,EAA+CgiB,EAA/C,EAAmDhgH,EAAnD,EAAuDmgH,EAAvD,EAA2Dn3D,EAA3D,EAA+Dq3D,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFE,EAAnF,EAAuFC,EAAvF,EAA2FE,EAA3F,EAA+FC,EAA/F,EAAmGE,EAAnG,EAAuGC,EAAvG,EAA2GnB,MAA3G,EAAmH4N,WAAnH,EAAgI;EAC5H,MAAM/rD,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGJ,cAAc,CAACp/C,KAAD,EAAQk8B,MAAR,EAAgBgiB,EAAhB,EAAoBhgH,EAApB,EAAwBmgH,EAAxB,EAA4Bn3D,EAA5B,EAAgCq3D,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4EnB,MAA5E,CAAxC;EACAgJ,oBAAoB,CAACjpI,IAAD,EAAOshI,iBAAP,EAA0BuM,WAA1B,EAAuC,KAAvC,CAApB;EACA,OAAOO,uBAAP;AACH;AACD;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,SAASC,uBAAT,CAAiCruI,IAAjC,EAAuCuO,MAAvC,EAA+Cs/H,WAA/C,EAA4D;EACxD,MAAM/rD,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMu5C,iBAAiB,GAAGzB,cAAc,CAAC/9C,KAAD,EAAQvzE,MAAR,CAAxC;EACA06H,oBAAoB,CAACjpI,IAAD,EAAOshI,iBAAP,EAA0BuM,WAA1B,EAAuC,KAAvC,CAApB;EACA,OAAOQ,uBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,cAAT,CAAwBx3C,QAAxB,EAAkC75F,KAAlC,EAAyC63G,SAAzC,EAAoD;EAChD,MAAMhzB,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMmB,YAAY,GAAGE,gBAAgB,EAArC;;EACA,IAAI+1C,cAAc,CAACr9C,KAAD,EAAQoH,YAAR,EAAsBjsF,KAAtB,CAAlB,EAAgD;IAC5C,MAAM49E,KAAK,GAAGmN,QAAQ,EAAtB;IACA,MAAMpN,KAAK,GAAGgR,gBAAgB,EAA9B;IACA8oC,uBAAuB,CAAC75C,KAAD,EAAQD,KAAR,EAAekH,KAAf,EAAsBgV,QAAtB,EAAgC75F,KAAhC,EAAuC6kF,KAAK,CAAC7B,QAAD,CAA5C,EAAwD60B,SAAxD,EAAmE,IAAnE,CAAvB;IACA7wG,SAAS,IAAIs0H,4BAA4B,CAAC19C,KAAK,CAACr/E,IAAP,EAAao/E,KAAb,EAAoBkc,QAApB,EAA8B5N,YAA9B,CAAzC;EACH;;EACD,OAAOolD,cAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCz3C,QAAjC,EAA2C75F,KAA3C,EAAkD63G,SAAlD,EAA6D;EACzD,MAAMhzB,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMmB,YAAY,GAAGE,gBAAgB,EAArC;;EACA,IAAI+1C,cAAc,CAACr9C,KAAD,EAAQoH,YAAR,EAAsBjsF,KAAtB,CAAlB,EAAgD;IAC5C,MAAM49E,KAAK,GAAGmN,QAAQ,EAAtB;IACA,MAAMpN,KAAK,GAAGgR,gBAAgB,EAA9B;IACA,MAAMgtC,UAAU,GAAG/uC,sBAAsB,CAAChP,KAAK,CAACr/E,IAAP,CAAzC;IACA,MAAM8nE,QAAQ,GAAGq1D,qBAAqB,CAACC,UAAD,EAAah+C,KAAb,EAAoBkH,KAApB,CAAtC;IACA4yC,uBAAuB,CAAC75C,KAAD,EAAQD,KAAR,EAAekH,KAAf,EAAsBgV,QAAtB,EAAgC75F,KAAhC,EAAuCqmE,QAAvC,EAAiDwxC,SAAjD,EAA4D,IAA5D,CAAvB;IACA7wG,SAAS,IAAIs0H,4BAA4B,CAAC19C,KAAK,CAACr/E,IAAP,EAAao/E,KAAb,EAAoBkc,QAApB,EAA8B5N,YAA9B,CAAzC;EACH;;EACD,OAAOqlD,uBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,IAAI,OAAOC,iBAAP,KAA6B,WAAjC,EAA8C;EAC1C;EACA;EACA;EACA;EACA,CAAC,YAAY;IACT;IACAt0D,OAAO,CAAC,mBAAD,CAAP,GACI;IACA;IACA,OAAOu0D,IAAP,KAAgB,WAAhB,IAA+B,OAAOA,IAAI,CAACC,MAAZ,KAAuB,UAH1D;EAIH,CAND;AAOH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,CAAC,GAAG1wI,SAAV;;AACA,SAASovD,MAAT,CAAgBnuD,GAAhB,EAAqB;EACjB,MAAMyxB,CAAC,GAAGzxB,GAAV;EAAA,MAAeiL,CAAC,GAAG2P,IAAI,CAACsrC,KAAL,CAAWtrC,IAAI,CAACye,GAAL,CAASr5B,GAAT,CAAX,CAAnB;EAAA,MAA8CiU,CAAC,GAAGjU,GAAG,CAACjF,QAAJ,GAAeytB,OAAf,CAAuB,WAAvB,EAAoC,EAApC,EAAwC9pB,MAA1F;EACA,IAAIuM,CAAC,KAAK,CAAN,IAAWgJ,CAAC,KAAK,CAArB,EACI,OAAO,CAAP;EACJ,OAAO,CAAP;AACH;;AACD,IAAIy7H,QAAQ,GAAG,CAAC,IAAD,EAAO,CAAC,CAAC,GAAD,EAAM,GAAN,CAAD,EAAa,CAAC,IAAD,EAAO,IAAP,CAAb,EAA2BD,CAA3B,CAAP,EAAsC,CAAC,CAAC,IAAD,EAAO,IAAP,CAAD,EAAeA,CAAf,EAAkBA,CAAlB,CAAtC,EAA4D,CAAC,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,CAAD,EAAsC,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,CAAtC,EAAyF,CAAC,QAAD,EAAW,QAAX,EAAqB,SAArB,EAAgC,WAAhC,EAA6C,UAA7C,EAAyD,QAAzD,EAAmE,UAAnE,CAAzF,EAAyK,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,EAA+B,IAA/B,EAAqC,IAArC,CAAzK,CAA5D,EAAkRA,CAAlR,EAAqR,CAAC,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,EAAoC,GAApC,EAAyC,GAAzC,EAA8C,GAA9C,EAAmD,GAAnD,EAAwD,GAAxD,CAAD,EAA+D,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,EAAkD,KAAlD,EAAyD,KAAzD,EAAgE,KAAhE,EAAuE,KAAvE,EAA8E,KAA9E,CAA/D,EAAqJ,CAAC,SAAD,EAAY,UAAZ,EAAwB,OAAxB,EAAiC,OAAjC,EAA0C,KAA1C,EAAiD,MAAjD,EAAyD,MAAzD,EAAiE,QAAjE,EAA2E,WAA3E,EAAwF,SAAxF,EAAmG,UAAnG,EAA+G,UAA/G,CAArJ,CAArR,EAAuiBA,CAAviB,EAA0iB,CAAC,CAAC,GAAD,EAAM,GAAN,CAAD,EAAa,CAAC,IAAD,EAAO,IAAP,CAAb,EAA2B,CAAC,eAAD,EAAkB,aAAlB,CAA3B,CAA1iB,EAAwmB,CAAxmB,EAA2mB,CAAC,CAAD,EAAI,CAAJ,CAA3mB,EAAmnB,CAAC,QAAD,EAAW,UAAX,EAAuB,WAAvB,EAAoC,iBAApC,CAAnnB,EAA2qB,CAAC,QAAD,EAAW,WAAX,EAAwB,aAAxB,EAAuC,gBAAvC,CAA3qB,EAAquB,CAAC,UAAD,EAAaA,CAAb,EAAgB,cAAhB,EAAgCA,CAAhC,CAAruB,EAAywB,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,EAAoC,GAApC,EAAyC,GAAzC,EAA8C,GAA9C,EAAmD,KAAnD,EAA0D,GAA1D,CAAzwB,EAAy0B,CAAC,WAAD,EAAc,QAAd,EAAwB,WAAxB,EAAqC,KAArC,CAAz0B,EAAs3B,KAAt3B,EAA63B,GAA73B,EAAk4B,WAAl4B,EAA+4B,EAA/4B,EAAm5B,KAAn5B,EAA05BthF,MAA15B,CAAf;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIwhF,WAAW,GAAG,EAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASlhF,kBAAT,CAA4BnyD,IAA5B,EAAkC8lD,QAAlC,EAA4CsM,SAA5C,EAAuD;EACnD,IAAI,OAAOtM,QAAP,KAAoB,QAAxB,EAAkC;IAC9BsM,SAAS,GAAGtM,QAAZ;IACAA,QAAQ,GAAG9lD,IAAI,CAACszI,eAAe,CAAC3zF,QAAjB,CAAf;EACH;;EACDmG,QAAQ,GAAGA,QAAQ,CAACvnD,WAAT,GAAuB2tB,OAAvB,CAA+B,IAA/B,EAAqC,GAArC,CAAX;EACAmnH,WAAW,CAACvtF,QAAD,CAAX,GAAwB9lD,IAAxB;;EACA,IAAIoyD,SAAJ,EAAe;IACXihF,WAAW,CAACvtF,QAAD,CAAX,CAAsBwtF,eAAe,CAACvwF,SAAtC,IAAmDqP,SAAnD;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmhF,cAAT,CAAwB7zF,MAAxB,EAAgC;EAC5B,MAAM8zF,gBAAgB,GAAGC,eAAe,CAAC/zF,MAAD,CAAxC;EACA,IAAIjyB,KAAK,GAAGimH,aAAa,CAACF,gBAAD,CAAzB;;EACA,IAAI/lH,KAAJ,EAAW;IACP,OAAOA,KAAP;EACH,CAL2B,CAM5B;;;EACA,MAAMkmH,YAAY,GAAGH,gBAAgB,CAACzgH,KAAjB,CAAuB,GAAvB,EAA4B,CAA5B,CAArB;EACAtF,KAAK,GAAGimH,aAAa,CAACC,YAAD,CAArB;;EACA,IAAIlmH,KAAJ,EAAW;IACP,OAAOA,KAAP;EACH;;EACD,IAAIkmH,YAAY,KAAK,IAArB,EAA2B;IACvB,OAAOP,QAAP;EACH;;EACD,MAAM,IAAIp5D,YAAJ,CAAiB;EAAI;EAArB,EAAiEvxE,SAAS,IAAK,uCAAsCi3C,MAAO,IAA5H,CAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgD,qBAAT,CAA+BhD,MAA/B,EAAuC;EACnC,MAAM1/C,IAAI,GAAGuzI,cAAc,CAAC7zF,MAAD,CAA3B;EACA,OAAO1/C,IAAI,CAACszI,eAAe,CAACM,YAAjB,CAAJ,IAAsC,IAA7C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS/wF,mBAAT,CAA6BnD,MAA7B,EAAqC;EACjC,MAAM1/C,IAAI,GAAGuzI,cAAc,CAAC7zF,MAAD,CAA3B;EACA,OAAO1/C,IAAI,CAACszI,eAAe,CAACO,UAAjB,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASH,aAAT,CAAuBF,gBAAvB,EAAyC;EACrC,IAAI,EAAEA,gBAAgB,IAAIH,WAAtB,CAAJ,EAAwC;IACpCA,WAAW,CAACG,gBAAD,CAAX,GAAgC90D,OAAO,CAACo1D,EAAR,IAAcp1D,OAAO,CAACo1D,EAAR,CAAWC,MAAzB,IAAmCr1D,OAAO,CAACo1D,EAAR,CAAWC,MAAX,CAAkBC,OAArD,IAC5Bt1D,OAAO,CAACo1D,EAAR,CAAWC,MAAX,CAAkBC,OAAlB,CAA0BR,gBAA1B,CADJ;EAEH;;EACD,OAAOH,WAAW,CAACG,gBAAD,CAAlB;AACH;AACD;AACA;AACA;;;AACA,SAASS,uBAAT,GAAmC;EAC/BZ,WAAW,GAAG,EAAd;AACH;AACD;AACA;AACA;;;AACA,IAAIC,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;EACxBA,eAAe,CAACA,eAAe,CAAC,UAAD,CAAf,GAA8B,CAA/B,CAAf,GAAmD,UAAnD;EACAA,eAAe,CAACA,eAAe,CAAC,kBAAD,CAAf,GAAsC,CAAvC,CAAf,GAA2D,kBAA3D;EACAA,eAAe,CAACA,eAAe,CAAC,sBAAD,CAAf,GAA0C,CAA3C,CAAf,GAA+D,sBAA/D;EACAA,eAAe,CAACA,eAAe,CAAC,YAAD,CAAf,GAAgC,CAAjC,CAAf,GAAqD,YAArD;EACAA,eAAe,CAACA,eAAe,CAAC,gBAAD,CAAf,GAAoC,CAArC,CAAf,GAAyD,gBAAzD;EACAA,eAAe,CAACA,eAAe,CAAC,cAAD,CAAf,GAAkC,CAAnC,CAAf,GAAuD,cAAvD;EACAA,eAAe,CAACA,eAAe,CAAC,kBAAD,CAAf,GAAsC,CAAvC,CAAf,GAA2D,kBAA3D;EACAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;EACAA,eAAe,CAACA,eAAe,CAAC,gBAAD,CAAf,GAAoC,CAArC,CAAf,GAAyD,gBAAzD;EACAA,eAAe,CAACA,eAAe,CAAC,cAAD,CAAf,GAAkC,CAAnC,CAAf,GAAuD,cAAvD;EACAA,eAAe,CAACA,eAAe,CAAC,YAAD,CAAf,GAAgC,EAAjC,CAAf,GAAsD,YAAtD;EACAA,eAAe,CAACA,eAAe,CAAC,YAAD,CAAf,GAAgC,EAAjC,CAAf,GAAsD,YAAtD;EACAA,eAAe,CAACA,eAAe,CAAC,gBAAD,CAAf,GAAoC,EAArC,CAAf,GAA0D,gBAA1D;EACAA,eAAe,CAACA,eAAe,CAAC,eAAD,CAAf,GAAmC,EAApC,CAAf,GAAyD,eAAzD;EACAA,eAAe,CAACA,eAAe,CAAC,eAAD,CAAf,GAAmC,EAApC,CAAf,GAAyD,eAAzD;EACAA,eAAe,CAACA,eAAe,CAAC,cAAD,CAAf,GAAkC,EAAnC,CAAf,GAAwD,cAAxD;EACAA,eAAe,CAACA,eAAe,CAAC,gBAAD,CAAf,GAAoC,EAArC,CAAf,GAA0D,gBAA1D;EACAA,eAAe,CAACA,eAAe,CAAC,cAAD,CAAf,GAAkC,EAAnC,CAAf,GAAwD,cAAxD;EACAA,eAAe,CAACA,eAAe,CAAC,YAAD,CAAf,GAAgC,EAAjC,CAAf,GAAsD,YAAtD;EACAA,eAAe,CAACA,eAAe,CAAC,gBAAD,CAAf,GAAoC,EAArC,CAAf,GAA0D,gBAA1D;EACAA,eAAe,CAACA,eAAe,CAAC,YAAD,CAAf,GAAgC,EAAjC,CAAf,GAAsD,YAAtD;EACAA,eAAe,CAACA,eAAe,CAAC,WAAD,CAAf,GAA+B,EAAhC,CAAf,GAAqD,WAArD;AACH,CAvBD,EAuBGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CAvBlB;AAwBA;AACA;AACA;;;AACA,SAASG,eAAT,CAAyB/zF,MAAzB,EAAiC;EAC7B,OAAOA,MAAM,CAACnhD,WAAP,GAAqB2tB,OAArB,CAA6B,IAA7B,EAAmC,GAAnC,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgoH,aAAa,GAAG,CAAC,MAAD,EAAS,KAAT,EAAgB,KAAhB,EAAuB,KAAvB,EAA8B,MAA9B,CAAtB;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuB1yI,KAAvB,EAA8Bi+C,MAA9B,EAAsC;EAClC,MAAMmS,MAAM,GAAGhP,mBAAmB,CAACnD,MAAD,CAAnB,CAA4B4R,QAAQ,CAAC7vD,KAAD,EAAQ,EAAR,CAApC,CAAf;EACA,MAAM2R,MAAM,GAAG8gI,aAAa,CAACriF,MAAD,CAA5B;EACA,OAAQz+C,MAAM,KAAK3Q,SAAZ,GAAyB2Q,MAAzB,GAAkC,OAAzC;AACH;AACD;AACA;AACA;;;AACA,MAAMghI,iBAAiB,GAAG,OAA1B;AACA;AACA;AACA;AACA;;AACA,MAAMC,iBAAiB,GAAG,KAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,cAAc,GAAG;EACnBlgD,MAAM,EAAE;AADW,CAAvB;AAGA;AACA;AACA;AACA;AACA;;AACA,MAAMmgD,UAAU,GAAG;EACfngD,MAAM,EAAE;AADO,CAAnB;AAGA;AACA;AACA;;AACA,IAAIogD,gBAAJ;;AACA,CAAC,UAAUA,gBAAV,EAA4B;EACzB;AACJ;AACA;AACA;EACIA,gBAAgB,CAACA,gBAAgB,CAAC,OAAD,CAAhB,GAA4B,CAA7B,CAAhB,GAAkD,OAAlD;EACA;AACJ;AACA;;EACIA,gBAAgB,CAACA,gBAAgB,CAAC,gBAAD,CAAhB,GAAqC,CAAtC,CAAhB,GAA2D,gBAA3D;EACA;AACJ;AACA;;EACIA,gBAAgB,CAACA,gBAAgB,CAAC,SAAD,CAAhB,GAA8B,CAA/B,CAAhB,GAAoD,SAApD;AACH,CAdD,EAcGA,gBAAgB,KAAKA,gBAAgB,GAAG,EAAxB,CAdnB,GAeA;AACA;;;AACA,MAAMC,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIC,WAAW,GAAGN,iBAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASO,WAAT,CAAqB7uF,QAArB,EAA+B;EAC3Bo2B,aAAa,CAACp2B,QAAD,EAAY,iCAAZ,CAAb;;EACA,IAAI,OAAOA,QAAP,KAAoB,QAAxB,EAAkC;IAC9B4uF,WAAW,GAAG5uF,QAAQ,CAACvnD,WAAT,GAAuB2tB,OAAvB,CAA+B,IAA/B,EAAqC,GAArC,CAAd;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASuzB,WAAT,GAAuB;EACnB,OAAOi1F,WAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS3kC,+BAAT,CAAyClhB,WAAzC,EAAsDjC,YAAtD,EAAoEtG,KAApE,EAA2E;EACvE,MAAMsuD,sBAAsB,GAAGhoD,YAAY,CAACuiC,iBAA5C;EACA,MAAMA,iBAAiB,GAAGvrH,KAAK,CAACC,OAAN,CAAc+wI,sBAAd,IAAwCA,sBAAsB,CAAC,CAAD,CAA9D,GAAoEA,sBAA9F;;EACA,IAAIzlB,iBAAiB,KAAK,IAA1B,EAAgC;IAC5B,OAAOvf,iCAAiC,CAAC/gB,WAAD,EAAcjC,YAAd,EAA4BtG,KAA5B,CAAxC;EACH,CAFD,MAGK;IACD79E,SAAS,IAAI6zE,kBAAkB,CAACgK,KAAD,EAAQ6oC,iBAAR,CAA/B;IACA,OAAO9kC,WAAW,CAAC/D,KAAK,CAAC6oC,iBAAD,CAAN,CAAlB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASnf,uBAAT,CAAiCloC,QAAjC,EAA2CooC,UAA3C,EAAuD5pB,KAAvD,EAA8D2pB,UAA9D,EAA0EkB,cAA1E,EAA0F;EACtF,MAAMyjC,sBAAsB,GAAG1kC,UAAU,CAACif,iBAA1C;;EACA,IAAIvrH,KAAK,CAACC,OAAN,CAAc+wI,sBAAd,CAAJ,EAA2C;IACvC;IACA;IACA;IACA;IACA;IACAnsI,SAAS,IAAI2zE,aAAa,CAAC6zB,UAAD,CAA1B;IACA,IAAI4kC,UAAU,GAAG5kC,UAAjB;IACA,IAAI6kC,WAAW,GAAG,IAAlB;;IACA,IAAI,EAAE5kC,UAAU,CAAClxG,IAAX,GAAkB;IAAE;IAAtB,CAAJ,EAAqD;MACjD81I,WAAW,GAAGD,UAAd;MACAA,UAAU,GAAG1jC,cAAb;IACH;;IACD,IAAI0jC,UAAU,KAAK,IAAf,IAAuB,CAAC3kC,UAAU,CAACz0C,KAAX,GAAmB;IAAE;IAAtB,MAA4D,CAAvF,EAA0F;MACtF,KAAK,IAAI9sD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGimI,sBAAsB,CAACxyI,MAA3C,EAAmDuM,CAAC,EAApD,EAAwD;QACpD;QACA;QACA,MAAMomI,SAAS,GAAGzuD,KAAK,CAACsuD,sBAAsB,CAACjmI,CAAD,CAAvB,CAAvB;QACAm9F,kBAAkB,CAAChkC,QAAD,EAAW+sE,UAAX,EAAuBE,SAAvB,EAAkCD,WAAlC,EAA+C,KAA/C,CAAlB;MACH;IACJ;EACJ;AACJ;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,SAASE,kCAAT,CAA4CC,cAA5C,EAA4DC,QAA5D,EAAsE;EAClE;EACAzsI,SAAS,IACLizE,WAAW,CAACw5D,QAAQ,CAAC/lB,iBAAV,EAA6B,IAA7B,EAAmC,6CAAnC,CADf;EAEA8lB,cAAc,CAAC1xI,IAAf,CAAoB2xI,QAApB;;EACA,IAAID,cAAc,CAAC7yI,MAAf,GAAwB,CAA5B,EAA+B;IAC3B,KAAK,IAAIuM,CAAC,GAAGsmI,cAAc,CAAC7yI,MAAf,GAAwB,CAArC,EAAwCuM,CAAC,IAAI,CAA7C,EAAgDA,CAAC,EAAjD,EAAqD;MACjD,MAAMwmI,aAAa,GAAGF,cAAc,CAACtmI,CAAD,CAApC,CADiD,CAEjD;MACA;;MACA,IAAI,CAACymI,UAAU,CAACD,aAAD,CAAf,EAAgC;QAC5B,IAAIE,uBAAuB,CAACF,aAAD,EAAgBD,QAAhB,CAAvB,IACAI,oBAAoB,CAACH,aAAD,CAApB,KAAwC,IAD5C,EACkD;UAC9C;UACA;UACAI,oBAAoB,CAACJ,aAAD,EAAgBD,QAAQ,CAACr6I,KAAzB,CAApB;QACH;MACJ;IACJ;EACJ;AACJ;;AACD,SAASu6I,UAAT,CAAoBh2D,KAApB,EAA2B;EACvB,OAAO,EAAEA,KAAK,CAACpgF,IAAN,GAAa;EAAG;EAAlB,CAAP;AACH;;AACD,SAASq2I,uBAAT,CAAiCF,aAAjC,EAAgDD,QAAhD,EAA0D;EACtD,OAAOE,UAAU,CAACF,QAAD,CAAV,IAAwBC,aAAa,CAACt6I,KAAd,GAAsBq6I,QAAQ,CAACr6I,KAA9D;AACH;;AACD,SAASy6I,oBAAT,CAA8Bl2D,KAA9B,EAAqC;EACjC,MAAMvkF,KAAK,GAAGukF,KAAK,CAAC+vC,iBAApB;EACA,OAAOvrH,KAAK,CAACC,OAAN,CAAchJ,KAAd,IAAuBA,KAAK,CAAC,CAAD,CAA5B,GAAkCA,KAAzC;AACH;;AACD,SAAS06I,oBAAT,CAA8Bn2D,KAA9B,EAAqC39E,KAArC,EAA4C;EACxC,MAAM5G,KAAK,GAAGukF,KAAK,CAAC+vC,iBAApB;;EACA,IAAIvrH,KAAK,CAACC,OAAN,CAAchJ,KAAd,CAAJ,EAA0B;IACtB;IACAA,KAAK,CAAC,CAAD,CAAL,GAAW4G,KAAX;EACH,CAHD,MAIK;IACDquG,eAAe,CAACC,+BAAD,EAAkCC,uBAAlC,CAAf;IACA5wB,KAAK,CAAC+vC,iBAAN,GAA0B1tH,KAA1B;EACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+zI,OAAT,CAAiBn2D,KAAjB,EAAwBxkF,KAAxB,EAA+B;EAC3B,MAAM4G,KAAK,GAAG49E,KAAK,CAACr/E,IAAN,CAAWnF,KAAX,CAAd;EACA,IAAI4G,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,QAAvC,EACI,OAAO,IAAP;;EACJ,IAAIgH,SAAS,IACT,EAAEhH,KAAK,CAACssB,cAAN,CAAqB,QAArB,KAAkCtsB,KAAK,CAACssB,cAAN,CAAqB,uBAArB,CAApC,CADJ,EACwF;IACpF/Y,UAAU,CAAC,oEAAoEvT,KAArE,CAAV;EACH,CAP0B,CAQ3B;EACA;EACA;EACA;;;EACA,MAAMklF,IAAI,GAAGllF,KAAK,CAACssB,cAAN,CAAqB,uBAArB,IAAgDtsB,KAAhD,GACTA,KAAK,CAACA,KADV;EAEAgH,SAAS,IAAIi+E,UAAU,CAACC,IAAD,CAAvB;EACA,OAAOA,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8uD,OAAT,CAAiBp2D,KAAjB,EAAwBxkF,KAAxB,EAA+B8rF,IAA/B,EAAqC;EACjC,MAAMvH,KAAK,GAAGC,KAAK,CAACr/E,IAAN,CAAWnF,KAAX,CAAd;EACA4N,SAAS,IACLizE,WAAW,CAAC0D,KAAK,KAAK,IAAV,IAAkBA,KAAK,CAACrxD,cAAN,CAAqB,QAArB,CAAnB,EAAmD,IAAnD,EAAyD,6CAAzD,CADf;;EAEA,IAAIqxD,KAAK,KAAK,IAAd,EAAoB;IAChBC,KAAK,CAACr/E,IAAN,CAAWnF,KAAX,IAAoB8rF,IAApB;EACH,CAFD,MAGK;IACDl+E,SAAS,IAAIgrF,eAAe,CAACrU,KAAD,EAAQ;IAAG;IAAX,CAA5B;IACAA,KAAK,CAAC39E,KAAN,GAAcklF,IAAd;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS+uD,yBAAT,CAAmCt2D,KAAnC,EAA0CvkF,KAA1C,EAAiD;EAC7C4N,SAAS,IAAI+9E,WAAW,CAACpH,KAAD,CAAxB;EACA,IAAI+vC,iBAAiB,GAAG/vC,KAAK,CAAC+vC,iBAA9B;;EACA,IAAIA,iBAAiB,KAAK,IAA1B,EAAgC;IAC5Brf,eAAe,CAACC,+BAAD,EAAkCC,uBAAlC,CAAf;IACAmf,iBAAiB,GAAG/vC,KAAK,CAAC+vC,iBAAN,GAChB,CAAC;IAAK;IAAN,EAA4Ct0H,KAA5C,CADJ;EAEH,CAJD,MAKK;IACD6gF,WAAW,CAAC93E,KAAK,CAACC,OAAN,CAAcsrH,iBAAd,CAAD,EAAmC,IAAnC,EAAyC,sBAAzC,CAAX;IACAA,iBAAiB,CAAC5rH,IAAlB,CAAuB1I,KAAvB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS86I,sBAAT,CAAgCt2D,KAAhC,EAAuC41D,cAAvC,EAAuDp6I,KAAvD,EAA8D;EAC1D,MAAMukF,KAAK,GAAGu2C,kBAAkB,CAACt2C,KAAD,EAAQxkF,KAAR,EAAe;EAAG;EAAlB,EAA+C,IAA/C,EAAqD,IAArD,CAAhC;EACAm6I,kCAAkC,CAACC,cAAD,EAAiB71D,KAAjB,CAAlC;EACA,OAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw2D,sBAAT,CAAgCjvD,IAAhC,EAAsCL,KAAtC,EAA6C;EACzC,MAAMuvD,WAAW,GAAGvvD,KAAK,CAACK,IAAI,CAACC,qBAAN,CAAzB;EACA,OAAOivD,WAAW,KAAK,IAAhB,GAAuBA,WAAvB,GAAsCA,WAAW,GAAG,CAAd,GAAkB,CAACA,WAAnB,GAAiCA,WAA9E;AACH;;AACD,SAASC,4BAAT,CAAsCC,UAAtC,EAAkD;EAC9C,OAAOA,UAAU,KAAK;EAAG;EAAzB;AACH;;AACD,SAASC,yBAAT,CAAmCD,UAAnC,EAA+C;EAC3C,OAAO,CAACA,UAAU,GAAG;EAAO;EAArB,MAAyD;EAAE;EAAlE;AACH;;AACD,SAASE,iCAAT,CAA2CF,UAA3C,EAAuD;EACnD,OAAOA,UAAU,GAAG;EAAE;EAAtB;AACH;;AACD,SAASG,eAAT,CAAyBthB,MAAzB,EAAiCuhB,SAAjC,EAA4CC,MAA5C,EAAoD;EAChD3tI,SAAS,IAAI8yE,wBAAwB,CAAC46D,SAAD,EAAY,CAAZ,EAAe,sBAAf,CAArC;EACA1tI,SAAS,IAAIuzE,iBAAiB,CAACo6D,MAAD,EAAS,CAAT,EAAY,mBAAZ,CAA9B;EACA,OAAOxhB,MAAM,GAAGuhB,SAAS,IAAI;EAAG;EAAzB,EAA8DC,MAAM,IAAI;EAAE;EAAjF;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,UAAU,GAAG,GAAjB;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIC,iBAAiB,GAAG,CAAxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,UAAT,CAAoBC,SAApB,EAA+B;EAC3B,IAAIA,SAAJ,EAAe;IACXH,UAAU,GAAGA,UAAU,GAAI,KAAK/3H,IAAI,CAAC2F,GAAL,CAASqyH,iBAAT,EAA4B,EAA5B,CAAhC;EACH;;EACDA,iBAAiB;AACpB;;AACD,SAASG,SAAT,CAAmBp3D,KAAnB,EAA0BiH,KAA1B,EAAiCzrF,KAAjC,EAAwC;EACpC,IAAIy7I,iBAAiB,GAAG,CAAxB,EAA2B;IACvB7tI,SAAS,IAAIyzE,aAAa,CAACmD,KAAD,EAAS,yBAAT,CAA1B;IACA,MAAMq3D,KAAK,GAAGr3D,KAAK,CAACr/E,IAAN,CAAWnF,KAAX,CAAd,CAFuB,CAGvB;;IACA,MAAM87I,aAAa,GAAG/yI,KAAK,CAACC,OAAN,CAAc6yI,KAAd,IAAuBA,KAAvB,GAA+BA,KAAK,CAAChoE,MAA3D;IACA,MAAMkoE,kBAAkB,GAAGnpD,eAAe,KAAK6oD,iBAApB,GAAwC,CAAnE;IACAO,kBAAkB,CAACx3D,KAAD,EAAQiH,KAAR,EAAeqwD,aAAf,EAA8BC,kBAA9B,EAAkDP,UAAlD,CAAlB;EACH,CARmC,CASpC;;;EACAA,UAAU,GAAG,GAAb;EACAC,iBAAiB,GAAG,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASQ,kBAAT,CAA4BxwD,KAA5B,EAAmCywD,aAAnC,EAAkD5mC,WAAlD,EAA+D6mC,eAA/D,EAAgF;EAC5E,MAAMlvE,QAAQ,GAAGwe,KAAK,CAAC7B,QAAD,CAAtB;;EACA,KAAK,IAAI91E,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGooI,aAAa,CAAC30I,MAAlC,EAA0CuM,CAAC,EAA3C,EAA+C;IAC3C,MAAMimH,MAAM,GAAGmiB,aAAa,CAACpoI,CAAC,EAAF,CAA5B;IACA,MAAMtT,IAAI,GAAG07I,aAAa,CAACpoI,CAAD,CAA1B;IACA,MAAMsoI,SAAS,GAAG,CAACriB,MAAM,GAAG4f,gBAAgB,CAAC0C,OAA3B,MAAwC1C,gBAAgB,CAAC0C,OAA3E;IACA,MAAMC,SAAS,GAAG,CAACviB,MAAM,GAAG4f,gBAAgB,CAAC4C,cAA3B,MAA+C5C,gBAAgB,CAAC4C,cAAlF;IACA,MAAMv8I,KAAK,GAAG+5H,MAAM,KAAK4f,gBAAgB,CAAC6C,KAA1C;IACA,IAAIzrC,KAAK,GAAGtlB,KAAK,CAACzrF,KAAD,CAAjB;;IACA,IAAI+wG,KAAK,KAAK,IAAd,EAAoB;MAChB;MACA;MACAA,KAAK,GAAGtlB,KAAK,CAACzrF,KAAD,CAAL,GACJo8I,SAAS,GAAGnvE,QAAQ,CAACykC,aAAT,CAAuBlxG,IAAvB,CAAH,GAAkC6wG,cAAc,CAACpkC,QAAD,EAAWzsE,IAAX,CAD7D;IAEH;;IACD,IAAI87I,SAAS,IAAIhnC,WAAW,KAAK,IAAjC,EAAuC;MACnCrE,kBAAkB,CAAChkC,QAAD,EAAWqoC,WAAX,EAAwBvE,KAAxB,EAA+BorC,eAA/B,EAAgD,KAAhD,CAAlB;IACH;EACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASM,mBAAT,CAA6Bj4D,KAA7B,EAAoCk4D,cAApC,EAAoDjxD,KAApD,EAA2DwuD,WAA3D,EAAwE;EACpErsI,SAAS,IAAI2zE,aAAa,CAAC04D,WAAD,CAA1B;EACA,MAAMhtE,QAAQ,GAAGwe,KAAK,CAAC7B,QAAD,CAAtB,CAFoE,CAGpE;;EACA,IAAI+yD,OAAO,GAAG,IAAd,CAJoE,CAKpE;EACA;EACA;EACA;EACA;;EACA,IAAIC,SAAJ;;EACA,KAAK,IAAI9oI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4oI,cAAc,CAACn1I,MAAnC,EAA2CuM,CAAC,EAA5C,EAAgD;IAC5C,MAAMimH,MAAM,GAAG2iB,cAAc,CAAC5oI,CAAD,CAA7B;;IACA,IAAI,OAAOimH,MAAP,IAAiB,QAArB,EAA+B;MAC3B,MAAM8iB,aAAa,GAAGH,cAAc,CAAC,EAAE5oI,CAAH,CAApC;;MACA,IAAI23E,KAAK,CAACoxD,aAAD,CAAL,KAAyB,IAA7B,EAAmC;QAC/BjvI,SAAS,IAAIA,SAAS,CAAC62E,sBAAV,EAAb;QACA72E,SAAS,IAAI6zE,kBAAkB,CAACgK,KAAD,EAAQoxD,aAAR,CAA/B;QACApxD,KAAK,CAACoxD,aAAD,CAAL,GAAuBxrC,cAAc,CAACpkC,QAAD,EAAW8sD,MAAX,CAArC;MACH;IACJ,CAPD,MAQK,IAAI,OAAOA,MAAP,IAAiB,QAArB,EAA+B;MAChC,QAAQA,MAAM,GAAG;MAAE;MAAnB;QACI,KAAK;QAAE;QAAP;UACI,MAAMuhB,SAAS,GAAGL,4BAA4B,CAAClhB,MAAD,CAA9C;;UACA,IAAI4iB,OAAO,KAAK,IAAhB,EAAsB;YAClB;YACA;YACA;YACAA,OAAO,GAAGrB,SAAV;YACAsB,SAAS,GAAGloC,gBAAgB,CAACznC,QAAD,EAAWgtE,WAAX,CAA5B;UACH;;UACD,IAAIkC,eAAJ;UACA,IAAI7mC,WAAJ;;UACA,IAAIgmC,SAAS,KAAKqB,OAAlB,EAA2B;YACvBR,eAAe,GAAGlC,WAAlB;YACA3kC,WAAW,GAAGsnC,SAAd;UACH,CAHD,MAIK;YACDT,eAAe,GAAG,IAAlB;YACA7mC,WAAW,GAAG9lB,WAAW,CAAC/D,KAAK,CAAC6vD,SAAD,CAAN,CAAzB;UACH,CAlBL,CAmBI;;;UACA,IAAIhmC,WAAW,KAAK,IAApB,EAA0B;YACtB;YACA;YACA;YACA;YACA1nG,SAAS,IAAI2zE,aAAa,CAAC+zB,WAAD,CAA1B;YACA,MAAMimC,MAAM,GAAGJ,yBAAyB,CAACphB,MAAD,CAAxC;YACAnsH,SAAS,IAAIuzE,iBAAiB,CAACo6D,MAAD,EAAShxD,aAAT,EAAwB,aAAxB,CAA9B,CAPsB,CAQtB;YACA;;YACA,MAAMoK,KAAK,GAAGlJ,KAAK,CAAC8vD,MAAD,CAAnB;YACA3tI,SAAS,IAAI2zE,aAAa,CAACoT,KAAD,CAA1B;YACAsc,kBAAkB,CAAChkC,QAAD,EAAWqoC,WAAX,EAAwB3gB,KAAxB,EAA+BwnD,eAA/B,EAAgD,KAAhD,CAAlB;YACA,MAAMrwD,IAAI,GAAG6uD,OAAO,CAACn2D,KAAD,EAAQ+2D,MAAR,CAApB;;YACA,IAAIzvD,IAAI,KAAK,IAAT,IAAiB,OAAOA,IAAP,KAAgB,QAArC,EAA+C;cAC3C;cACA;cACAl+E,SAAS,IAAIi+E,UAAU,CAACC,IAAD,CAAvB;cACA,MAAMgxD,SAAS,GAAG/B,sBAAsB,CAACjvD,IAAD,EAAOL,KAAP,CAAxC;;cACA,IAAIqxD,SAAS,KAAK,IAAlB,EAAwB;gBACpBL,mBAAmB,CAACj4D,KAAD,EAAQsH,IAAI,CAAC75E,MAAL,CAAY6qI,SAAZ,CAAR,EAAgCrxD,KAAhC,EAAuCA,KAAK,CAACK,IAAI,CAACixD,SAAN,CAA5C,CAAnB;cACH;YACJ;UACJ;;UACD;;QACJ,KAAK;QAAE;QAAP;UACI,MAAMC,gBAAgB,GAAGjjB,MAAM,KAAK;UAAE;UAAtC;UACA,MAAMt6D,QAAQ,GAAGi9E,cAAc,CAAC,EAAE5oI,CAAH,CAA/B;UACA,MAAM0kG,SAAS,GAAGkkC,cAAc,CAAC,EAAE5oI,CAAH,CAAhC,CAHJ,CAII;UACA;;UACAgtH,mBAAmB,CAAC7zD,QAAD,EAAW0iB,gBAAgB,CAACqtD,gBAAD,EAAmBvxD,KAAnB,CAA3B,EAAsD,IAAtD,EAA4D,IAA5D,EAAkEhsB,QAAlE,EAA4E+4C,SAA5E,EAAuF,IAAvF,CAAnB;UACA;;QACJ;UACI,IAAI5qG,SAAJ,EAAe;YACX,MAAM,IAAIuxE,YAAJ,CAAiB;YAAI;YAArB,EAAqE,yDAAwD46C,MAAO,GAApI,CAAN;UACH;;MAzDT;IA2DH,CA5DI,MA6DA;MACD,QAAQA,MAAR;QACI,KAAK2f,UAAL;UACI,MAAMuD,YAAY,GAAGP,cAAc,CAAC,EAAE5oI,CAAH,CAAnC;UACA,MAAMopI,gBAAgB,GAAGR,cAAc,CAAC,EAAE5oI,CAAH,CAAvC;;UACA,IAAI23E,KAAK,CAACyxD,gBAAD,CAAL,KAA4B,IAAhC,EAAsC;YAClCtvI,SAAS,IACLizE,WAAW,CAAC,OAAOo8D,YAAR,EAAsB,QAAtB,EAAiC,aAAYA,YAAa,8BAA1D,CADf;YAEArvI,SAAS,IAAIA,SAAS,CAAC+3E,qBAAV,EAAb;YACA/3E,SAAS,IAAIu/E,yBAAyB,CAAC1B,KAAD,EAAQyxD,gBAAR,CAAtC;YACA,MAAMC,YAAY,GAAG1xD,KAAK,CAACyxD,gBAAD,CAAL,GACjBzrC,iBAAiB,CAACxkC,QAAD,EAAWgwE,YAAX,CADrB,CALkC,CAOlC;;YACAhvC,eAAe,CAACkvC,YAAD,EAAe1xD,KAAf,CAAf;UACH;;UACD;;QACJ,KAAKguD,cAAL;UACI,MAAMruC,OAAO,GAAGsxC,cAAc,CAAC,EAAE5oI,CAAH,CAA9B;UACA,MAAMkpI,gBAAgB,GAAGN,cAAc,CAAC,EAAE5oI,CAAH,CAAvC;;UACA,IAAI23E,KAAK,CAACuxD,gBAAD,CAAL,KAA4B,IAAhC,EAAsC;YAClCpvI,SAAS,IACLizE,WAAW,CAAC,OAAOuqB,OAAR,EAAiB,QAAjB,EAA4B,aAAYA,OAAQ,kCAAhD,CADf;YAEAx9F,SAAS,IAAIA,SAAS,CAAC+2E,qBAAV,EAAb;YACA/2E,SAAS,IAAIu/E,yBAAyB,CAAC1B,KAAD,EAAQuxD,gBAAR,CAAtC;YACA,MAAMI,YAAY,GAAG3xD,KAAK,CAACuxD,gBAAD,CAAL,GACjBrrC,iBAAiB,CAAC1kC,QAAD,EAAWm+B,OAAX,EAAoB,IAApB,CADrB,CALkC,CAOlC;;YACA6C,eAAe,CAACmvC,YAAD,EAAe3xD,KAAf,CAAf;UACH;;UACD;;QACJ;UACI79E,SAAS,IACLuM,UAAU,CAAE,yDAAwD4/G,MAAO,GAAjE,CADd;MA9BR;IAiCH;EACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiiB,kBAAT,CAA4Bx3D,KAA5B,EAAmCiH,KAAnC,EAA0CqwD,aAA1C,EAAyDC,kBAAzD,EAA6EP,UAA7E,EAAyF;EACrF,KAAK,IAAI1nI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgoI,aAAa,CAACv0I,MAAlC,EAA0CuM,CAAC,EAA3C,EAA+C;IAC3C;IACA,MAAMupI,QAAQ,GAAGvB,aAAa,CAAChoI,CAAD,CAA9B,CAF2C,CAG3C;;IACA,MAAMwpI,SAAS,GAAGxB,aAAa,CAAC,EAAEhoI,CAAH,CAA/B;;IACA,IAAIupI,QAAQ,GAAG7B,UAAf,EAA2B;MACvB;MACA,IAAI50I,KAAK,GAAG,EAAZ;;MACA,KAAK,IAAIyvC,CAAC,GAAGviC,CAAC,GAAG,CAAjB,EAAoBuiC,CAAC,IAAKviC,CAAC,GAAGwpI,SAA9B,EAA0CjnG,CAAC,EAA3C,EAA+C;QAC3C,MAAM0jF,MAAM,GAAG+hB,aAAa,CAACzlG,CAAD,CAA5B;;QACA,IAAI,OAAO0jF,MAAP,IAAiB,QAArB,EAA+B;UAC3BnzH,KAAK,IAAImzH,MAAT;QACH,CAFD,MAGK,IAAI,OAAOA,MAAP,IAAiB,QAArB,EAA+B;UAChC,IAAIA,MAAM,GAAG,CAAb,EAAgB;YACZ;YACAnzH,KAAK,IAAI24E,eAAe,CAACkM,KAAK,CAACswD,kBAAkB,GAAGhiB,MAAtB,CAAN,CAAxB;UACH,CAHD,MAIK;YACD,MAAM9pC,SAAS,GAAI8pC,MAAM,KAAK;YAAE;YAAhC;;YACA,QAAQA,MAAM,GAAG;YAAE;YAAnB;cACI,KAAK;cAAE;cAAP;gBACI,MAAMt5B,QAAQ,GAAGq7C,aAAa,CAAC,EAAEzlG,CAAH,CAA9B;gBACA,MAAMknG,UAAU,GAAGzB,aAAa,CAAC,EAAEzlG,CAAH,CAAhC;gBACA,MAAMmnG,cAAc,GAAGh5D,KAAK,CAACr/E,IAAN,CAAW8qF,SAAX,CAAvB;gBACAriF,SAAS,IAAIyzE,aAAa,CAACm8D,cAAD,EAAiB,2BAAjB,CAA1B;;gBACA,IAAI,OAAOA,cAAP,KAA0B,QAA9B,EAAwC;kBACpC;kBACA;kBACA;kBACA1c,mBAAmB,CAACr1C,KAAK,CAAC7B,QAAD,CAAN,EAAkB6B,KAAK,CAACwE,SAAD,CAAvB,EAAoC,IAApC,EAA0CutD,cAA1C,EAA0D/8C,QAA1D,EAAoE75F,KAApE,EAA2E22I,UAA3E,CAAnB;gBACH,CALD,MAMK;kBACDlf,uBAAuB,CAAC75C,KAAD,EAAQg5D,cAAR,EAAwB/xD,KAAxB,EAA+BgV,QAA/B,EAAyC75F,KAAzC,EAAgD6kF,KAAK,CAAC7B,QAAD,CAArD,EAAiE2zD,UAAjE,EAA6E,KAA7E,CAAvB;gBACH;;gBACD;;cACJ,KAAK;cAAE;cAAP;gBACI,MAAME,KAAK,GAAGhyD,KAAK,CAACwE,SAAD,CAAnB;gBACAwtD,KAAK,KAAK,IAAV,IAAkBlsC,cAAc,CAAC9lB,KAAK,CAAC7B,QAAD,CAAN,EAAkB6zD,KAAlB,EAAyB72I,KAAzB,CAAhC;gBACA;;cACJ,KAAK;cAAE;cAAP;gBACI82I,kBAAkB,CAACl5D,KAAD,EAAQm2D,OAAO,CAACn2D,KAAD,EAAQyL,SAAR,CAAf,EAAmCxE,KAAnC,EAA0C7kF,KAA1C,CAAlB;gBACA;;cACJ,KAAK;cAAE;cAAP;gBACI+2I,kBAAkB,CAACn5D,KAAD,EAAQm2D,OAAO,CAACn2D,KAAD,EAAQyL,SAAR,CAAf,EAAmC8rD,kBAAnC,EAAuDtwD,KAAvD,CAAlB;gBACA;YAzBR;UA2BH;QACJ;MACJ;IACJ,CA7CD,MA8CK;MACD,MAAMsuC,MAAM,GAAG+hB,aAAa,CAAChoI,CAAC,GAAG,CAAL,CAA5B;;MACA,IAAIimH,MAAM,GAAG,CAAT,IAAc,CAACA,MAAM,GAAG;MAAE;MAAZ,MAAoD;MAAE;MAAxE,EAA0G;QACtG;QACA;QACA;QACA;QACA,MAAM9pC,SAAS,GAAI8pC,MAAM,KAAK;QAAE;QAAhC;QACA,MAAMjuC,IAAI,GAAG6uD,OAAO,CAACn2D,KAAD,EAAQyL,SAAR,CAApB;QACA,MAAM3zB,YAAY,GAAGmvB,KAAK,CAACK,IAAI,CAACC,qBAAN,CAA1B;;QACA,IAAIzvB,YAAY,GAAG,CAAnB,EAAsB;UAClBqhF,kBAAkB,CAACn5D,KAAD,EAAQsH,IAAR,EAAciwD,kBAAd,EAAkCtwD,KAAlC,CAAlB;QACH;MACJ;IACJ;;IACD33E,CAAC,IAAIwpI,SAAL;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASK,kBAAT,CAA4Bn5D,KAA5B,EAAmCsH,IAAnC,EAAyCiwD,kBAAzC,EAA6DtwD,KAA7D,EAAoE;EAChE79E,SAAS,IAAI6zE,kBAAkB,CAACgK,KAAD,EAAQK,IAAI,CAACC,qBAAb,CAA/B;EACA,IAAI6xD,eAAe,GAAGnyD,KAAK,CAACK,IAAI,CAACC,qBAAN,CAA3B;;EACA,IAAI6xD,eAAe,KAAK,IAAxB,EAA8B;IAC1B,IAAI3iD,IAAI,GAAGugD,UAAX;;IACA,IAAIoC,eAAe,GAAG,CAAtB,EAAyB;MACrB;MACA;MACAA,eAAe,GAAGnyD,KAAK,CAACK,IAAI,CAACC,qBAAN,CAAL,GAAoC,CAAC6xD,eAAvD,CAHqB,CAIrB;;MACA3iD,IAAI,GAAG,CAAC,CAAR;IACH;;IACD+gD,kBAAkB,CAACx3D,KAAD,EAAQiH,KAAR,EAAeK,IAAI,CAACjY,MAAL,CAAY+pE,eAAZ,CAAf,EAA6C7B,kBAA7C,EAAiE9gD,IAAjE,CAAlB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyiD,kBAAT,CAA4Bl5D,KAA5B,EAAmCsH,IAAnC,EAAyCL,KAAzC,EAAgD7kF,KAAhD,EAAuD;EACnD;EACA,MAAMk2I,SAAS,GAAGe,YAAY,CAAC/xD,IAAD,EAAOllF,KAAP,CAA9B;EACA,IAAIg3I,eAAe,GAAG7C,sBAAsB,CAACjvD,IAAD,EAAOL,KAAP,CAA5C;;EACA,IAAImyD,eAAe,KAAKd,SAAxB,EAAmC;IAC/BgB,wBAAwB,CAACt5D,KAAD,EAAQsH,IAAR,EAAcL,KAAd,CAAxB;IACAA,KAAK,CAACK,IAAI,CAACC,qBAAN,CAAL,GAAoC+wD,SAAS,KAAK,IAAd,GAAqB,IAArB,GAA4B,CAACA,SAAjE;;IACA,IAAIA,SAAS,KAAK,IAAlB,EAAwB;MACpB;MACA,MAAM7C,WAAW,GAAGxuD,KAAK,CAACK,IAAI,CAACixD,SAAN,CAAzB;;MACA,IAAI9C,WAAJ,EAAiB;QACbrsI,SAAS,IAAI2zE,aAAa,CAAC04D,WAAD,CAA1B;QACAwC,mBAAmB,CAACj4D,KAAD,EAAQsH,IAAI,CAAC75E,MAAL,CAAY6qI,SAAZ,CAAR,EAAgCrxD,KAAhC,EAAuCwuD,WAAvC,CAAnB;MACH;IACJ;EACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6D,wBAAT,CAAkCt5D,KAAlC,EAAyCsH,IAAzC,EAA+CL,KAA/C,EAAsD;EAClD,IAAImyD,eAAe,GAAG7C,sBAAsB,CAACjvD,IAAD,EAAOL,KAAP,CAA5C;;EACA,IAAImyD,eAAe,KAAK,IAAxB,EAA8B;IAC1B,MAAMG,WAAW,GAAGjyD,IAAI,CAACz2E,MAAL,CAAYuoI,eAAZ,CAApB;;IACA,KAAK,IAAI9pI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGiqI,WAAW,CAACx2I,MAAhC,EAAwCuM,CAAC,EAAzC,EAA6C;MACzC,MAAMkqI,cAAc,GAAGD,WAAW,CAACjqI,CAAD,CAAlC;;MACA,IAAIkqI,cAAc,GAAG,CAArB,EAAwB;QACpB;QACA,MAAMjtC,KAAK,GAAGphB,gBAAgB,CAACquD,cAAD,EAAiBvyD,KAAjB,CAA9B;QACAslB,KAAK,KAAK,IAAV,IAAkBG,gBAAgB,CAACzlB,KAAK,CAAC7B,QAAD,CAAN,EAAkBmnB,KAAlB,CAAlC;MACH,CAJD,MAKK;QACD;QACA+sC,wBAAwB,CAACt5D,KAAD,EAAQm2D,OAAO,CAACn2D,KAAD,EAAQ,CAACw5D,cAAT,CAAf,EAAyCvyD,KAAzC,CAAxB;MACH;IACJ;EACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoyD,YAAT,CAAsBI,aAAtB,EAAqCC,YAArC,EAAmD;EAC/C,IAAIl+I,KAAK,GAAGi+I,aAAa,CAACnnF,KAAd,CAAoBnzD,OAApB,CAA4Bu6I,YAA5B,CAAZ;;EACA,IAAIl+I,KAAK,KAAK,CAAC,CAAf,EAAkB;IACd,QAAQi+I,aAAa,CAAC95I,IAAtB;MACI,KAAK;MAAE;MAAP;QAA6B;UACzB,MAAMg6I,YAAY,GAAG7E,aAAa,CAAC4E,YAAD,EAAet5F,WAAW,EAA1B,CAAlC;UACA5kD,KAAK,GAAGi+I,aAAa,CAACnnF,KAAd,CAAoBnzD,OAApB,CAA4Bw6I,YAA5B,CAAR;;UACA,IAAIn+I,KAAK,KAAK,CAAC,CAAX,IAAgBm+I,YAAY,KAAK,OAArC,EAA8C;YAC1Cn+I,KAAK,GAAGi+I,aAAa,CAACnnF,KAAd,CAAoBnzD,OAApB,CAA4B,OAA5B,CAAR;UACH;;UACD;QACH;;MACD,KAAK;MAAE;MAAP;QAA6B;UACzB3D,KAAK,GAAGi+I,aAAa,CAACnnF,KAAd,CAAoBnzD,OAApB,CAA4B,OAA5B,CAAR;UACA;QACH;IAZL;EAcH;;EACD,OAAO3D,KAAK,KAAK,CAAC,CAAX,GAAe,IAAf,GAAsBA,KAA7B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo+I,uBAAT,GAAmC;EAC/B,MAAMC,MAAM,GAAG,EAAf;;EACA,IAAIC,MAAM,GAAG,CAAC,CAAd;;EACA,IAAI3/C,MAAJ;;EACA,IAAI4/C,QAAJ;EACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI,SAASC,yBAAT,CAAmC7uC,iBAAnC,EAAsDlkB,KAAtD,EAA6D;IACzDkT,MAAM,GAAGlT,KAAT;;IACA,OAAO4yD,MAAM,CAAC92I,MAAd,EACI82I,MAAM,CAACvmI,GAAP;;IACJlK,SAAS,IAAI49E,mBAAmB,CAACmkB,iBAAD,EAAoBlkB,KAApB,CAAhC;IACAgzD,QAAQ,CAAC9uC,iBAAiB,CAAC/oG,KAAnB,EAA0B6kF,KAA1B,CAAR;IACA,OAAOizD,wBAAP;EACH;;EACD,SAASD,QAAT,CAAkB3yD,IAAlB,EAAwBL,KAAxB,EAA+B;IAC3B6yD,MAAM,GAAG,CAAT;IACA,MAAMtD,WAAW,GAAGD,sBAAsB,CAACjvD,IAAD,EAAOL,KAAP,CAA1C;;IACA,IAAIuvD,WAAW,KAAK,IAApB,EAA0B;MACtBptI,SAAS,IAAI0yE,mBAAmB,CAAC06D,WAAD,EAAc,CAAd,EAAiBlvD,IAAI,CAACh1B,KAAL,CAAWvvD,MAAX,GAAoB,CAArC,CAAhC;MACAg3I,QAAQ,GAAGzyD,IAAI,CAACz2E,MAAL,CAAY2lI,WAAZ,CAAX;IACH,CAHD,MAIK;MACDuD,QAAQ,GAAGx4D,WAAX;IACH;EACJ;;EACD,SAAS24D,wBAAT,GAAoC;IAChC,IAAIJ,MAAM,GAAGC,QAAQ,CAACh3I,MAAtB,EAA8B;MAC1B,MAAMo3I,YAAY,GAAGJ,QAAQ,CAACD,MAAM,EAAP,CAA7B;MACA1wI,SAAS,IAAIwyE,YAAY,CAACu+D,YAAD,EAAe,yBAAf,CAAzB;;MACA,IAAIA,YAAY,GAAG,CAAnB,EAAsB;QAClB,MAAM5tC,KAAK,GAAGpS,MAAM,CAACggD,YAAD,CAApB;QACA/wI,SAAS,IAAI2zE,aAAa,CAACwvB,KAAD,CAA1B;QACA,OAAOA,KAAP;MACH,CAJD,MAKK;QACDstC,MAAM,CAAC31I,IAAP,CAAY41I,MAAZ,EAAoBC,QAApB,EADC,CAED;;;QACA,MAAMK,SAAS,GAAG,CAACD,YAAnB;QACA,MAAM7yD,IAAI,GAAG6S,MAAM,CAACzV,KAAD,CAAN,CAAc/jF,IAAd,CAAmBy5I,SAAnB,CAAb;QACAhxI,SAAS,IAAIi+E,UAAU,CAACC,IAAD,CAAvB;QACA2yD,QAAQ,CAAC3yD,IAAD,EAAO6S,MAAP,CAAR;QACA,OAAO+/C,wBAAwB,EAA/B;MACH;IACJ,CAjBD,MAkBK;MACD,IAAIL,MAAM,CAAC92I,MAAP,KAAkB,CAAtB,EAAyB;QACrB,OAAO,IAAP;MACH,CAFD,MAGK;QACDg3I,QAAQ,GAAGF,MAAM,CAACvmI,GAAP,EAAX;QACAwmI,MAAM,GAAGD,MAAM,CAACvmI,GAAP,EAAT;QACA,OAAO4mI,wBAAwB,EAA/B;MACH;IACJ;EACJ;;EACD,OAAOF,yBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASK,yBAAT,CAAmCC,OAAnC,EAA4C;EACxC,MAAM5C,aAAa,GAAG4C,OAAO,KAAK/1I,KAAK,CAACC,OAAN,CAAc,IAAd,IAAsB,IAAtB,GAA6B,EAAlC,CAA7B;EACA,IAAI+1I,KAAK,GAAG,EAAZ;;EACA,KAAK,IAAIjrI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGooI,aAAa,CAAC30I,MAAlC,EAA0CuM,CAAC,EAA3C,EAA+C;IAC3C,MAAMimH,MAAM,GAAGmiB,aAAa,CAACpoI,CAAC,EAAF,CAA5B;IACA,MAAMtT,IAAI,GAAG07I,aAAa,CAACpoI,CAAD,CAA1B;IACA,MAAMsoI,SAAS,GAAG,CAACriB,MAAM,GAAG4f,gBAAgB,CAAC0C,OAA3B,MAAwC1C,gBAAgB,CAAC0C,OAA3E;IACA,MAAMC,SAAS,GAAG,CAACviB,MAAM,GAAG4f,gBAAgB,CAAC4C,cAA3B,MAA+C5C,gBAAgB,CAAC4C,cAAlF;IACA,MAAMv8I,KAAK,GAAG+5H,MAAM,KAAK4f,gBAAgB,CAAC6C,KAA1C;IACAuC,KAAK,CAACr2I,IAAN,CAAY,SAAQ1I,KAAM,gBAAeo8I,SAAS,GAAG,eAAH,GAAqB,YAAa,IAAGxgF,IAAI,CAACC,SAAL,CAAer7D,IAAf,CAAqB,IAA5G;;IACA,IAAI87I,SAAJ,EAAe;MACXyC,KAAK,CAACr2I,IAAN,CAAY,4BAA2B1I,KAAM,KAA7C;IACH;EACJ;;EACD,OAAO++I,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,yBAAT,CAAmCF,OAAnC,EAA4C;EACxC,MAAMG,MAAM,GAAG,IAAIC,YAAJ,CAAiBJ,OAAO,KAAK/1I,KAAK,CAACC,OAAN,CAAc,IAAd,IAAsB,IAAtB,GAA6B,EAAlC,CAAxB,CAAf;EACA,IAAI+1I,KAAK,GAAG,EAAZ;;EACA,SAASI,aAAT,CAAuBv4I,KAAvB,EAA8B;IAC1B,MAAMm7D,GAAG,GAAGn7D,KAAK,KAAK;IAAE;IAAxB;IACA,MAAMmzH,MAAM,GAAGnzH,KAAK,GAAG;IAAE;IAAzB;;IACA,QAAQmzH,MAAR;MACI,KAAK;MAAE;MAAP;QACI,OAAQ,UAASh4D,GAAI,8BAArB;;MACJ,KAAK;MAAE;MAAP;QACI,MAAMtC,QAAQ,GAAGw/E,MAAM,CAACG,aAAP,EAAjB;QACA,MAAMC,cAAc,GAAGJ,MAAM,CAACK,eAAP,EAAvB;QACA,MAAM14I,KAAK,GAAGy4I,cAAc,GAAI,IAAGA,cAAe,QAAtB,GAAgC,KAA5D;QACA,OAAQ,UAASt9E,GAAI,+BAA8BtC,QAAS,MAAK74D,KAAM,GAAvE;;MACJ,KAAK;MAAE;MAAP;QACI,OAAQ,iBAAgBm7D,GAAI,QAA5B;;MACJ,KAAK;MAAE;MAAP;QACI,OAAQ,iBAAgBA,GAAI,GAA5B;IAXR;;IAaA,MAAM,IAAI5vD,KAAJ,CAAU,mBAAV,CAAN;EACH;;EACD,OAAO8sI,MAAM,CAACM,OAAP,EAAP,EAAyB;IACrB,IAAItkD,IAAI,GAAGgkD,MAAM,CAACO,aAAP,EAAX;IACA,IAAIxpH,IAAI,GAAGipH,MAAM,CAACO,aAAP,EAAX;IACA,MAAM79F,GAAG,GAAGs9F,MAAM,CAACnrI,CAAP,GAAWkiB,IAAvB;IACA,MAAMypH,UAAU,GAAG,EAAnB;IACA,IAAIC,SAAS,GAAG,EAAhB;;IACA,OAAOT,MAAM,CAACnrI,CAAP,GAAW6tC,GAAlB,EAAuB;MACnB,IAAI/6C,KAAK,GAAGq4I,MAAM,CAACU,qBAAP,EAAZ;;MACA,IAAI,OAAO/4I,KAAP,KAAiB,QAArB,EAA+B;QAC3B84I,SAAS,IAAI94I,KAAb;MACH,CAFD,MAGK,IAAIA,KAAK,GAAG,CAAZ,EAAe;QAChB;QACA;QACA;QACA84I,SAAS,IAAI,cAAc94I,KAAd,GAAsB,IAAnC;MACH,CALI,MAMA;QACD;QACA,MAAMg5I,UAAU,GAAGT,aAAa,CAACv4I,KAAD,CAAhC;QACA64I,UAAU,CAAC/2I,IAAX,CAAgBk3I,UAAU,CAACvuH,OAAX,CAAmB,KAAnB,EAA0B,MAAMquH,SAAN,GAAkB,GAA5C,IAAmD,GAAnE;QACAA,SAAS,GAAG,EAAZ;MACH;IACJ;;IACDX,KAAK,CAACr2I,IAAN,CAAY,gBAAeuyF,IAAI,CAACr3F,QAAL,CAAc,CAAd,CAAiB,OAAM67I,UAAU,CAACx7H,IAAX,CAAgB,GAAhB,CAAqB,IAAvE;EACH;;EACD,OAAO86H,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASc,wBAAT,CAAkCf,OAAlC,EAA2C;EACvC,MAAMG,MAAM,GAAG,IAAIC,YAAJ,CAAiBJ,OAAO,KAAK/1I,KAAK,CAACC,OAAN,CAAc,IAAd,IAAsB,IAAtB,GAA6B,EAAlC,CAAxB,CAAf;EACA,IAAI+1I,KAAK,GAAG,EAAZ;;EACA,SAASI,aAAT,CAAuBplB,MAAvB,EAA+B;IAC3B,MAAMzqH,MAAM,GAAG2rI,4BAA4B,CAAClhB,MAAD,CAA3C;IACA,MAAMh4D,GAAG,GAAGo5E,yBAAyB,CAACphB,MAAD,CAArC;;IACA,QAAQqhB,iCAAiC,CAACrhB,MAAD,CAAzC;MACI,KAAK;MAAE;MAAP;QACI,OAAQ,UAASzqH,MAAO,mCAAkCwwI,OAAQ,IAAlE;;MACJ,KAAK;MAAE;MAAP;QACI,OAAQ,UAAS/9E,GAAI,+BAA8Bk9E,MAAM,CAACG,aAAP,EAAuB,OAAMH,MAAM,CAACG,aAAP,EAAuB,IAAvG;IAJR;;IAMA,MAAM,IAAIjtI,KAAJ,CAAU,wBAAwBipI,iCAAiC,CAACrhB,MAAD,CAAnE,CAAN;EACH;;EACD,IAAI+lB,OAAO,GAAG,CAAC,CAAf;;EACA,OAAOb,MAAM,CAACM,OAAP,EAAP,EAAyB;IACrB,IAAI34I,KAAK,GAAGq4I,MAAM,CAACc,2BAAP,EAAZ;;IACA,IAAIn5I,KAAK,KAAK8yI,UAAd,EAA0B;MACtB,MAAMl5I,IAAI,GAAGy+I,MAAM,CAACG,aAAP,EAAb;MACAU,OAAO,GAAGb,MAAM,CAACO,aAAP,EAAV;MACAT,KAAK,CAACr2I,IAAN,CAAY,SAAQo3I,OAAQ,+BAA8Bt/I,IAAK,IAA/D;IACH,CAJD,MAKK,IAAIoG,KAAK,KAAK6yI,cAAd,EAA8B;MAC/B,MAAMj5I,IAAI,GAAGy+I,MAAM,CAACG,aAAP,EAAb;MACAU,OAAO,GAAGb,MAAM,CAACO,aAAP,EAAV;MACAT,KAAK,CAACr2I,IAAN,CAAY,SAAQo3I,OAAQ,+BAA8Bt/I,IAAK,IAA/D;IACH,CAJI,MAKA,IAAI,OAAOoG,KAAP,KAAiB,QAArB,EAA+B;MAChCk5I,OAAO,GAAGb,MAAM,CAACO,aAAP,EAAV;MACAT,KAAK,CAACr2I,IAAN,CAAY,SAAQo3I,OAAQ,gCAA+Bl5I,KAAM,IAAjE;IACH,CAHI,MAIA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;MAChC,MAAMysE,IAAI,GAAG8rE,aAAa,CAACv4I,KAAD,CAA1B;MACAysE,IAAI,IAAI0rE,KAAK,CAACr2I,IAAN,CAAW2qE,IAAX,CAAR;IACH,CAHI,MAIA;MACD,MAAM,IAAIlhE,KAAJ,CAAU,kBAAV,CAAN;IACH;EACJ;;EACD,OAAO4sI,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiB,yBAAT,CAAmClB,OAAnC,EAA4C;EACxC,MAAMf,WAAW,GAAGe,OAAO,KAAK/1I,KAAK,CAACC,OAAN,CAAc,IAAd,IAAsB,IAAtB,GAA6B,EAAlC,CAA3B;EACA,IAAI+1I,KAAK,GAAG,EAAZ;;EACA,KAAK,IAAIjrI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGiqI,WAAW,CAACx2I,MAAhC,EAAwCuM,CAAC,EAAzC,EAA6C;IACzC,MAAMkqI,cAAc,GAAGD,WAAW,CAACjqI,CAAD,CAAlC;;IACA,IAAIkqI,cAAc,GAAG,CAArB,EAAwB;MACpB;MACAe,KAAK,CAACr2I,IAAN,CAAY,gBAAes1I,cAAe,IAA1C;IACH,CAHD,MAIK;MACD;MACAe,KAAK,CAACr2I,IAAN,CAAY,mBAAkB,CAACs1I,cAAe,GAA9C;IACH;EACJ;;EACD,OAAOe,KAAP;AACH;;AACD,MAAMG,YAAN,CAAmB;EACfh8I,WAAW,CAAC+8I,KAAD,EAAQ;IACf,KAAKnsI,CAAL,GAAS,CAAT;IACA,KAAKmsI,KAAL,GAAaA,KAAb;EACH;;EACDV,OAAO,GAAG;IACN,OAAO,KAAKzrI,CAAL,GAAS,KAAKmsI,KAAL,CAAW14I,MAA3B;EACH;;EACDi4I,aAAa,GAAG;IACZ,IAAI54I,KAAK,GAAG,KAAKq5I,KAAL,CAAW,KAAKnsI,CAAL,EAAX,CAAZ;IACAssE,YAAY,CAACx5E,KAAD,EAAQ,4BAAR,CAAZ;IACA,OAAOA,KAAP;EACH;;EACDw4I,aAAa,GAAG;IACZ,IAAIx4I,KAAK,GAAG,KAAKq5I,KAAL,CAAW,KAAKnsI,CAAL,EAAX,CAAZ;IACA6sE,YAAY,CAAC/5E,KAAD,EAAQ,4BAAR,CAAZ;IACA,OAAOA,KAAP;EACH;;EACD04I,eAAe,GAAG;IACd,IAAI14I,KAAK,GAAG,KAAKq5I,KAAL,CAAW,KAAKnsI,CAAL,EAAX,CAAZ;;IACA,IAAIlN,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,UAAvC,EAAmD;MAC/C,OAAOA,KAAP;IACH;;IACD,MAAM,IAAIuL,KAAJ,CAAU,8BAAV,CAAN;EACH;;EACDwtI,qBAAqB,GAAG;IACpB,IAAI/4I,KAAK,GAAG,KAAKq5I,KAAL,CAAW,KAAKnsI,CAAL,EAAX,CAAZ;;IACA,IAAI,OAAOlN,KAAP,KAAiB,QAArB,EAA+B;MAC3B,OAAOA,KAAP;IACH;;IACDw5E,YAAY,CAACx5E,KAAD,EAAQ,sCAAR,CAAZ;IACA,OAAOA,KAAP;EACH;;EACDm5I,2BAA2B,GAAG;IAC1B,IAAIn5I,KAAK,GAAG,KAAKq5I,KAAL,CAAW,KAAKnsI,CAAL,EAAX,CAAZ;;IACA,IAAI,OAAOlN,KAAP,KAAiB,QAAjB,IAA6B,OAAOA,KAAP,KAAiB,QAA9C,IAA0DA,KAAK,IAAI8yI,UAAnE,IACA9yI,KAAK,IAAI6yI,cADb,EAC6B;MACzB,OAAO7yI,KAAP;IACH;;IACDw5E,YAAY,CAACx5E,KAAD,EAAQ,kEAAR,CAAZ;IACA,OAAOA,KAAP;EACH;;AAzCc;AA4CnB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMs5I,cAAc,GAAG,gBAAvB;AACA,MAAMC,UAAU,GAAG,4CAAnB;AACA,MAAMC,UAAU,GAAG,SAAnB;AACA,MAAMC,gBAAgB,GAAG,4CAAzB;AACA,MAAMC,MAAM,GAAI,GAAhB;AACA,MAAMC,kBAAkB,GAAG,oBAA3B;AACA,MAAMC,SAAS,GAAG,uBAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,mBAAmB,GAAG,SAA5B;;AACA,SAASC,WAAT,CAAqB95I,KAArB,EAA4B;EACxB,OAAOA,KAAK,CAACyqB,OAAN,CAAcovH,mBAAd,EAAmC,GAAnC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,wBAAT,CAAkCn8D,KAAlC,EAAyCo8D,gBAAzC,EAA2Dn1D,KAA3D,EAAkEzrF,KAAlE,EAAyE6jB,OAAzE,EAAkFg9H,gBAAlF,EAAoG;EAChG,MAAM7hB,SAAS,GAAG/sC,qBAAqB,EAAvC;EACA,MAAMiqD,aAAa,GAAG,EAAtB;EACA,MAAMJ,aAAa,GAAG,EAAtB;EACA,MAAMgF,kBAAkB,GAAG,CAAC,EAAD,CAA3B;;EACA,IAAIlzI,SAAJ,EAAe;IACX2kH,iBAAiB,CAAC2pB,aAAD,EAAgB2C,yBAAhB,CAAjB;IACAtsB,iBAAiB,CAACupB,aAAD,EAAgBkD,yBAAhB,CAAjB;EACH;;EACDn7H,OAAO,GAAGk9H,yBAAyB,CAACl9H,OAAD,EAAUg9H,gBAAV,CAAnC;EACA,MAAMG,QAAQ,GAAGN,WAAW,CAAC78H,OAAD,CAAX,CAAqBqU,KAArB,CAA2BsoH,SAA3B,CAAjB;;EACA,KAAK,IAAI1sI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGktI,QAAQ,CAACz5I,MAA7B,EAAqCuM,CAAC,EAAtC,EAA0C;IACtC,IAAIlN,KAAK,GAAGo6I,QAAQ,CAACltI,CAAD,CAApB;;IACA,IAAI,CAACA,CAAC,GAAG,CAAL,MAAY,CAAhB,EAAmB;MACf;MACA,MAAMq2C,KAAK,GAAG82F,4BAA4B,CAACr6I,KAAD,CAA1C;;MACA,KAAK,IAAIyvC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8T,KAAK,CAAC5iD,MAA1B,EAAkC8uC,CAAC,EAAnC,EAAuC;QACnC,IAAI+T,IAAI,GAAGD,KAAK,CAAC9T,CAAD,CAAhB;;QACA,IAAI,CAACA,CAAC,GAAG,CAAL,MAAY,CAAhB,EAAmB;UACf;UACA,MAAM71C,IAAI,GAAG4pD,IAAb;UACAx8C,SAAS,IAAI+yE,YAAY,CAACngF,IAAD,EAAO,kCAAP,CAAzB;;UACA,IAAIA,IAAI,KAAK,EAAb,EAAiB;YACb0gJ,uCAAuC,CAAC18D,KAAD,EAAQw6C,SAAR,EAAmB8hB,kBAAkB,CAAC,CAAD,CAArC,EAA0C5E,aAA1C,EAAyDJ,aAAzD,EAAwErwD,KAAxE,EAA+EjrF,IAA/E,CAAvC;UACH;QACJ,CAPD,MAQK;UACD;UACA,MAAMy9I,aAAa,GAAG7zF,IAAtB,CAFC,CAGD;UACA;UACA;UACA;UACA;UACA;;UACA,IAAI,OAAO6zF,aAAP,KAAyB,QAA7B,EAAuC;YACnC,MAAM,IAAI9rI,KAAJ,CAAW,sCAAqC0R,OAAQ,YAAxD,CAAN;UACH;;UACD,MAAMs9H,iBAAiB,GAAGC,uBAAuB,CAAC58D,KAAD,EAAQw6C,SAAR,EAAmB8hB,kBAAkB,CAAC,CAAD,CAArC,EAA0Cr1D,KAA1C,EAAiDywD,aAAjD,EAAgEtuI,SAAS,GAAI,OAAM5N,KAAM,IAAGi+I,aAAa,CAACoD,WAAY,EAA7C,GAAiD,EAA1H,EAA8H,IAA9H,CAAjD;UACA,MAAMC,YAAY,GAAGH,iBAAiB,CAACnhJ,KAAvC;UACA4N,SAAS,IACL8yE,wBAAwB,CAAC4gE,YAAD,EAAe/2D,aAAf,EAA8B,wCAA9B,CAD5B;UAEAg3D,QAAQ,CAAC/8D,KAAD,EAAQiH,KAAR,EAAeqwD,aAAf,EAA8B8E,gBAA9B,EAAgD3C,aAAhD,EAA+DqD,YAA/D,CAAR;QACH;MACJ;IACJ,CAhCD,MAiCK;MACD;MACA;MACA,MAAME,SAAS,GAAG56I,KAAK,CAAC4yF,UAAN,CAAiB,CAAjB,MAAwB;MAAG;MAA7C;MACA,MAAMr1F,IAAI,GAAGyC,KAAK,CAAC4yF,UAAN,CAAiBgoD,SAAS,GAAG,CAAH,GAAO,CAAjC,CAAb;MACA5zI,SAAS,IAAI+zE,WAAW,CAACx9E,IAAD,EAAO;MAAG;MAAV,EAA+B;MAAG;MAAlC,CAAxB;MACA,MAAMnE,KAAK,GAAGuqF,aAAa,GAAGnhF,MAAM,CAACqtD,QAAP,CAAgB7vD,KAAK,CAACyoB,SAAN,CAAiBmyH,SAAS,GAAG,CAAH,GAAO,CAAjC,CAAhB,CAA9B;;MACA,IAAIA,SAAJ,EAAe;QACXV,kBAAkB,CAAC5iI,KAAnB;QACAg0E,eAAe,CAACD,qBAAqB,EAAtB,EAA0B,KAA1B,CAAf;MACH,CAHD,MAIK;QACD,MAAM1N,KAAK,GAAGu2D,sBAAsB,CAACt2D,KAAD,EAAQs8D,kBAAkB,CAAC,CAAD,CAA1B,EAA+B9gJ,KAA/B,CAApC;QACA8gJ,kBAAkB,CAACnvG,OAAnB,CAA2B,EAA3B;QACAugD,eAAe,CAAC3N,KAAD,EAAQ,IAAR,CAAf;MACH;IACJ;EACJ;;EACDC,KAAK,CAACr/E,IAAN,CAAWnF,KAAX,IAAoB;IAChBiS,MAAM,EAAEiqI,aADQ;IAEhBroE,MAAM,EAAEioE;EAFQ,CAApB;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsF,uBAAT,CAAiC58D,KAAjC,EAAwCw6C,SAAxC,EAAmDyiB,cAAnD,EAAmEh2D,KAAnE,EAA0EywD,aAA1E,EAAyF17I,IAAzF,EAA+FkhJ,KAA/F,EAAsG;EAClG,MAAMC,WAAW,GAAG3mB,YAAY,CAACx2C,KAAD,EAAQiH,KAAR,EAAe,CAAf,EAAkB,IAAlB,CAAhC;EACA,IAAIsuC,MAAM,GAAG4nB,WAAW,IAAIhI,gBAAgB,CAAC6C,KAA7C;EACA,IAAIxoD,WAAW,GAAG/B,qBAAqB,EAAvC;;EACA,IAAI+sC,SAAS,KAAKhrC,WAAlB,EAA+B;IAC3B;IACA;IACA;IACAA,WAAW,GAAG,IAAd;EACH;;EACD,IAAIA,WAAW,KAAK,IAApB,EAA0B;IACtB;IACA;IACA;IACA;IACA+lC,MAAM,IAAI4f,gBAAgB,CAAC4C,cAA3B;EACH;;EACD,IAAImF,KAAJ,EAAW;IACP3nB,MAAM,IAAI4f,gBAAgB,CAAC0C,OAA3B;IACAzsC,+BAA+B,CAACwuC,uBAAD,CAA/B;EACH;;EACDlC,aAAa,CAACxzI,IAAd,CAAmBqxH,MAAnB,EAA2Bv5H,IAAI,KAAK,IAAT,GAAgB,EAAhB,GAAqBA,IAAhD,EArBkG,CAsBlG;EACA;;EACA,MAAM+jF,KAAK,GAAGu2C,kBAAkB,CAACt2C,KAAD,EAAQm9D,WAAR,EAAqBD,KAAK,GAAG;EAAG;EAAN,EAA4B;EAAE;EAAxD,EAA8ElhJ,IAAI,KAAK,IAAT,GAAiBoN,SAAS,GAAG,OAAH,GAAa,EAAvC,GAA6CpN,IAA3H,EAAiI,IAAjI,CAAhC;EACA25I,kCAAkC,CAACsH,cAAD,EAAiBl9D,KAAjB,CAAlC;EACA,MAAM4oD,QAAQ,GAAG5oD,KAAK,CAACvkF,KAAvB;EACAkyF,eAAe,CAAC3N,KAAD,EAAQ;EAAM;EAAd,CAAf;;EACA,IAAIyP,WAAW,KAAK,IAAhB,IAAwBgrC,SAAS,KAAKhrC,WAA1C,EAAuD;IACnD;IACA;IACA6mD,yBAAyB,CAAC7mD,WAAD,EAAcm5C,QAAd,CAAzB;EACH;;EACD,OAAO5oD,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS28D,uCAAT,CAAiD18D,KAAjD,EAAwDw6C,SAAxD,EAAmEyiB,cAAnE,EAAmFvF,aAAnF,EAAkGJ,aAAlG,EAAiHrwD,KAAjH,EAAwHjrF,IAAxH,EAA8H;EAC1H,MAAMohJ,UAAU,GAAGphJ,IAAI,CAACoyB,KAAL,CAAWstH,cAAX,CAAnB;EACA,MAAM37D,KAAK,GAAG68D,uBAAuB,CAAC58D,KAAD,EAAQw6C,SAAR,EAAmByiB,cAAnB,EAAmCh2D,KAAnC,EAA0CywD,aAA1C,EAAyD0F,UAAU,GAAG,IAAH,GAAUphJ,IAA7E,EAAmF,KAAnF,CAArC;;EACA,IAAIohJ,UAAJ,EAAgB;IACZC,4BAA4B,CAAC/F,aAAD,EAAgBt7I,IAAhB,EAAsB+jF,KAAK,CAACvkF,KAA5B,EAAmC,IAAnC,EAAyC,CAAzC,EAA4C,IAA5C,CAA5B;EACH;AACJ;AACD;AACA;AACA;;;AACA,SAAS8hJ,uBAAT,CAAiCt9D,KAAjC,EAAwCxkF,KAAxC,EAA+CkY,MAA/C,EAAuD;EACnD,MAAM6pI,eAAe,GAAGjwD,eAAe,EAAvC;EACA,MAAMkwD,oBAAoB,GAAGD,eAAe,CAAC/hJ,KAA7C;EACA,MAAM87I,aAAa,GAAG,EAAtB;;EACA,IAAIluI,SAAJ,EAAe;IACX2kH,iBAAiB,CAACupB,aAAD,EAAgBkD,yBAAhB,CAAjB;EACH;;EACD,IAAIx6D,KAAK,CAACF,eAAN,IAAyBE,KAAK,CAACr/E,IAAN,CAAWnF,KAAX,MAAsB,IAAnD,EAAyD;IACrD,KAAK,IAAI8T,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoE,MAAM,CAAC3Q,MAA3B,EAAmCuM,CAAC,IAAI,CAAxC,EAA2C;MACvC,MAAM2rD,QAAQ,GAAGvnD,MAAM,CAACpE,CAAD,CAAvB;MACA,MAAM+P,OAAO,GAAG3L,MAAM,CAACpE,CAAC,GAAG,CAAL,CAAtB;;MACA,IAAI+P,OAAO,KAAK,EAAhB,EAAoB;QAChB;QACA;QACA;QACA;QACA;QACA,IAAIs8H,UAAU,CAAChvF,IAAX,CAAgBttC,OAAhB,CAAJ,EAA8B;UAC1B,MAAM,IAAI1R,KAAJ,CAAW,8DAA6D0R,OAAQ,IAAhF,CAAN;QACH,CARe,CAShB;QACA;QACA;QACA;;;QACAg+H,4BAA4B,CAAC/F,aAAD,EAAgBj4H,OAAhB,EAAyBm+H,oBAAzB,EAA+CviF,QAA/C,EAAyDwiF,aAAa,CAACnG,aAAD,CAAtE,EAAuF,IAAvF,CAA5B;MACH;IACJ;;IACDt3D,KAAK,CAACr/E,IAAN,CAAWnF,KAAX,IAAoB87I,aAApB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+F,4BAAT,CAAsC/F,aAAtC,EAAqDvmH,GAArD,EAA0D2sH,eAA1D,EAA2EziF,QAA3E,EAAqF0iF,YAArF,EAAmG5E,UAAnG,EAA+G;EAC3G3vI,SAAS,IACL8yE,wBAAwB,CAACwhE,eAAD,EAAkB33D,aAAlB,EAAiC,wCAAjC,CAD5B;EAEA,MAAM63D,SAAS,GAAGtG,aAAa,CAACv0I,MAAhC,CAH2G,CAGnE;;EACxC,MAAM86I,SAAS,GAAGD,SAAS,GAAG,CAA9B,CAJ2G,CAI1E;;EACjCtG,aAAa,CAACpzI,IAAd,CAAmB,IAAnB,EAAyB,IAAzB,EAL2G,CAK3E;;EAChC,MAAM8qB,UAAU,GAAG4uH,SAAS,GAAG,CAA/B,CAN2G,CAMzE;;EAClC,IAAIx0I,SAAJ,EAAe;IACX2kH,iBAAiB,CAACupB,aAAD,EAAgBkD,yBAAhB,CAAjB;EACH;;EACD,MAAMsD,SAAS,GAAG/sH,GAAG,CAAC2C,KAAJ,CAAUgoH,cAAV,CAAlB;EACA,IAAIjlD,IAAI,GAAG,CAAX;;EACA,KAAK,IAAI5kD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGisG,SAAS,CAAC/6I,MAA9B,EAAsC8uC,CAAC,EAAvC,EAA2C;IACvC,MAAMksG,SAAS,GAAGD,SAAS,CAACjsG,CAAD,CAA3B;;IACA,IAAIA,CAAC,GAAG,CAAR,EAAW;MACP;MACA,MAAMw8C,YAAY,GAAGsvD,YAAY,GAAG1rF,QAAQ,CAAC8rF,SAAD,EAAY,EAAZ,CAA5C;MACAzG,aAAa,CAACpzI,IAAd,CAAmB,CAAC,CAAD,GAAKmqF,YAAxB;MACAoI,IAAI,GAAGA,IAAI,GAAGunD,SAAS,CAAC3vD,YAAD,CAAvB;IACH,CALD,MAMK,IAAI0vD,SAAS,KAAK,EAAlB,EAAsB;MACvB;MACAzG,aAAa,CAACpzI,IAAd,CAAmB65I,SAAnB;IACH;EACJ;;EACDzG,aAAa,CAACpzI,IAAd,CAAmBw5I,eAAe,IAAI;EAAE;EAArB,GACdziF,QAAQ,GAAG;EAAE;EAAL,EAAmC;EAAE;EAD/B,CAAnB;;EAEA,IAAIA,QAAJ,EAAc;IACVq8E,aAAa,CAACpzI,IAAd,CAAmB+2D,QAAnB,EAA6B89E,UAA7B;EACH;;EACDzB,aAAa,CAACsG,SAAD,CAAb,GAA2BnnD,IAA3B;EACA6gD,aAAa,CAACuG,SAAD,CAAb,GAA2BvG,aAAa,CAACv0I,MAAd,GAAuBisB,UAAlD;EACA,OAAOynE,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgnD,aAAT,CAAuBQ,OAAvB,EAAgC;EAC5B,IAAIrmI,KAAK,GAAG,CAAZ;;EACA,KAAK,IAAItI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2uI,OAAO,CAACl7I,MAA5B,EAAoCuM,CAAC,EAArC,EAAyC;IACrC,MAAMimH,MAAM,GAAG0oB,OAAO,CAAC3uI,CAAD,CAAtB,CADqC,CAErC;;IACA,IAAI,OAAOimH,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,GAAG,CAA3C,EAA8C;MAC1C39G,KAAK;IACR;EACJ;;EACD,OAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASomI,SAAT,CAAmB3vD,YAAnB,EAAiC;EAC7B,OAAO,KAAKpvE,IAAI,CAAC2F,GAAL,CAASypE,YAAT,EAAuB,EAAvB,CAAZ;AACH;;AACD,SAAS6vD,qBAAT,CAA+B7B,gBAA/B,EAAiD;EAC7C,OAAOA,gBAAgB,KAAK,CAAC,CAA7B;AACH;AACD;AACA;AACA;;;AACA,SAAS8B,8BAAT,CAAwC9+H,OAAxC,EAAiD;EAC7C,IAAI+O,KAAJ;EACA,IAAIq0B,GAAG,GAAG,EAAV;EACA,IAAIjnD,KAAK,GAAG,CAAZ;EACA,IAAI4iJ,UAAU,GAAG,KAAjB;EACA,IAAIC,UAAJ;;EACA,OAAO,CAACjwH,KAAK,GAAG2tH,kBAAkB,CAACnrH,IAAnB,CAAwBvR,OAAxB,CAAT,MAA+C,IAAtD,EAA4D;IACxD,IAAI,CAAC++H,UAAL,EAAiB;MACb37F,GAAG,IAAIpjC,OAAO,CAACwL,SAAR,CAAkBrvB,KAAlB,EAAyB4yB,KAAK,CAAC5yB,KAAN,GAAc4yB,KAAK,CAAC,CAAD,CAAL,CAASrrB,MAAhD,CAAP;MACAs7I,UAAU,GAAGjwH,KAAK,CAAC,CAAD,CAAlB;MACAgwH,UAAU,GAAG,IAAb;IACH,CAJD,MAKK;MACD,IAAIhwH,KAAK,CAAC,CAAD,CAAL,KAAc,GAAE0tH,MAAO,KAAIuC,UAAW,GAAEvC,MAAO,EAAnD,EAAsD;QAClDtgJ,KAAK,GAAG4yB,KAAK,CAAC5yB,KAAd;QACA4iJ,UAAU,GAAG,KAAb;MACH;IACJ;EACJ;;EACDh1I,SAAS,IACLizE,WAAW,CAAC+hE,UAAD,EAAa,KAAb,EAAqB,gFAA+E/+H,OAAQ,GAA5G,CADf;EAEAojC,GAAG,IAAIpjC,OAAO,CAACra,KAAR,CAAcxJ,KAAd,CAAP;EACA,OAAOinD,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS85F,yBAAT,CAAmCl9H,OAAnC,EAA4Cg9H,gBAA5C,EAA8D;EAC1D,IAAI6B,qBAAqB,CAAC7B,gBAAD,CAAzB,EAA6C;IACzC;IACA,OAAO8B,8BAA8B,CAAC9+H,OAAD,CAArC;EACH,CAHD,MAIK;IACD;IACA,MAAMwiB,KAAK,GAAGxiB,OAAO,CAAClgB,OAAR,CAAiB,IAAGk9I,gBAAiB,GAAEP,MAAO,EAA9C,IAAmD,CAAnD,GAAuDO,gBAAgB,CAACj9I,QAAjB,GAA4B2D,MAAjG;IACA,MAAMo6C,GAAG,GAAG99B,OAAO,CAAC+8B,MAAR,CAAe,IAAIzrB,MAAJ,CAAY,GAAEmrH,MAAO,cAAaO,gBAAiB,GAAEP,MAAO,EAA5D,CAAf,CAAZ;IACA,OAAOqC,8BAA8B,CAAC9+H,OAAO,CAACwL,SAAR,CAAkBgX,KAAlB,EAAyBsb,GAAzB,CAAD,CAArC;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4/F,QAAT,CAAkB/8D,KAAlB,EAAyBiH,KAAzB,EAAgCqwD,aAAhC,EAA+CR,SAA/C,EAA0D2C,aAA1D,EAAyElB,SAAzE,EAAoF;EAChFnvI,SAAS,IAAIyzE,aAAa,CAAC48D,aAAD,EAAgB,gCAAhB,CAA1B;EACA,IAAI6E,WAAW,GAAG,CAAlB;EACA,MAAMh3D,IAAI,GAAG;IACT3nF,IAAI,EAAE85I,aAAa,CAAC95I,IADX;IAET4nF,qBAAqB,EAAEivC,YAAY,CAACx2C,KAAD,EAAQiH,KAAR,EAAe,CAAf,EAAkB,IAAlB,CAF1B;IAGTsxD,SAHS;IAITjmF,KAAK,EAAE,EAJE;IAKT7kD,MAAM,EAAE,EALC;IAMToD,MAAM,EAAE,EANC;IAOTw+D,MAAM,EAAE;EAPC,CAAb;EASAkvE,kBAAkB,CAACjH,aAAD,EAAgBmC,aAAhB,EAA+BlB,SAA/B,CAAlB;EACAnC,OAAO,CAACp2D,KAAD,EAAQu4D,SAAR,EAAmBjxD,IAAnB,CAAP;EACA,MAAM5zE,MAAM,GAAG+lI,aAAa,CAAC/lI,MAA7B;;EACA,KAAK,IAAIpE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoE,MAAM,CAAC3Q,MAA3B,EAAmCuM,CAAC,EAApC,EAAwC;IACpC;IACA,MAAMkvI,QAAQ,GAAG9qI,MAAM,CAACpE,CAAD,CAAvB;IACA,MAAMmvI,UAAU,GAAG,EAAnB;;IACA,KAAK,IAAI5sG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2sG,QAAQ,CAACz7I,MAA7B,EAAqC8uC,CAAC,EAAtC,EAA0C;MACtC,MAAMzvC,KAAK,GAAGo8I,QAAQ,CAAC3sG,CAAD,CAAtB;;MACA,IAAI,OAAOzvC,KAAP,KAAiB,QAArB,EAA+B;QAC3B;QACA,MAAMs8I,QAAQ,GAAGD,UAAU,CAACv6I,IAAX,CAAgB9B,KAAhB,IAAyB,CAA1C,CAF2B,CAG3B;;QACAo8I,QAAQ,CAAC3sG,CAAD,CAAR,GAAe,QAAO6sG,QAAS,MAA/B;MACH;IACJ;;IACDJ,WAAW,GAAGK,YAAY,CAAC3+D,KAAD,EAAQsH,IAAR,EAAcL,KAAd,EAAqBqwD,aAArB,EAAoCR,SAApC,EAA+C2C,aAAa,CAACnnF,KAAd,CAAoBhjD,CAApB,CAA/C,EAAuEkvI,QAAQ,CAAC/+H,IAAT,CAAc,EAAd,CAAvE,EAA0Fg/H,UAA1F,CAAZ,GACVH,WADJ;EAEH;;EACD,IAAIA,WAAJ,EAAiB;IACbM,kBAAkB,CAACtH,aAAD,EAAgBgH,WAAhB,EAA6B/F,SAA7B,CAAlB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsG,aAAT,CAAuB3wF,OAAvB,EAAgC;EAC5B,MAAMoE,KAAK,GAAG,EAAd;EACA,MAAM5+C,MAAM,GAAG,EAAf;EACA,IAAIorI,OAAO,GAAG;EAAE;EAAhB;EACA,IAAIjC,WAAW,GAAG,CAAlB;EACA3uF,OAAO,GAAGA,OAAO,CAACrhC,OAAR,CAAgBgvH,gBAAhB,EAAkC,UAAU9qH,GAAV,EAAeguH,OAAf,EAAwBp/I,IAAxB,EAA8B;IACtE,IAAIA,IAAI,KAAK,QAAb,EAAuB;MACnBm/I,OAAO,GAAG;MAAE;MAAZ;IACH,CAFD,MAGK;MACDA,OAAO,GAAG;MAAE;MAAZ;IACH;;IACDjC,WAAW,GAAG5qF,QAAQ,CAAC8sF,OAAO,CAAC/5I,KAAR,CAAc,CAAd,CAAD,EAAmB,EAAnB,CAAtB;IACA,OAAO,EAAP;EACH,CATS,CAAV;EAUA,MAAM2gD,KAAK,GAAG82F,4BAA4B,CAACvuF,OAAD,CAA1C,CAf4B,CAgB5B;;EACA,KAAK,IAAImD,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAG1L,KAAK,CAAC5iD,MAA9B,GAAuC;IACnC,IAAI+R,GAAG,GAAG6wC,KAAK,CAAC0L,GAAG,EAAJ,CAAL,CAAa/uB,IAAb,EAAV;;IACA,IAAIw8G,OAAO,KAAK;IAAE;IAAlB,EAAwC;MACpC;MACAhqI,GAAG,GAAGA,GAAG,CAAC+X,OAAJ,CAAY,mBAAZ,EAAiC,IAAjC,CAAN;IACH;;IACD,IAAI/X,GAAG,CAAC/R,MAAR,EAAgB;MACZuvD,KAAK,CAACpuD,IAAN,CAAW4Q,GAAX;IACH;;IACD,MAAMkqI,MAAM,GAAGvC,4BAA4B,CAAC92F,KAAK,CAAC0L,GAAG,EAAJ,CAAN,CAA3C;;IACA,IAAIiB,KAAK,CAACvvD,MAAN,GAAe2Q,MAAM,CAAC3Q,MAA1B,EAAkC;MAC9B2Q,MAAM,CAACxP,IAAP,CAAY86I,MAAZ;IACH;EACJ,CA9B2B,CA+B5B;;;EACA,OAAO;IAAEr/I,IAAI,EAAEm/I,OAAR;IAAiBjC,WAAW,EAAEA,WAA9B;IAA2CvqF,KAA3C;IAAkD5+C;EAAlD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+oI,4BAAT,CAAsCvuF,OAAtC,EAA+C;EAC3C,IAAI,CAACA,OAAL,EAAc;IACV,OAAO,EAAP;EACH;;EACD,IAAI+wF,OAAO,GAAG,CAAd;EACA,MAAMC,UAAU,GAAG,EAAnB;EACA,MAAMlgH,OAAO,GAAG,EAAhB;EACA,MAAMmgH,MAAM,GAAG,OAAf,CAP2C,CAQ3C;;EACAA,MAAM,CAACtuH,SAAP,GAAmB,CAAnB;EACA,IAAIzC,KAAJ;;EACA,OAAOA,KAAK,GAAG+wH,MAAM,CAACvuH,IAAP,CAAYs9B,OAAZ,CAAf,EAAqC;IACjC,MAAMmD,GAAG,GAAGjjC,KAAK,CAAC5yB,KAAlB;;IACA,IAAI4yB,KAAK,CAAC,CAAD,CAAL,IAAY,GAAhB,EAAqB;MACjB8wH,UAAU,CAAC5rI,GAAX;;MACA,IAAI4rI,UAAU,CAACn8I,MAAX,IAAqB,CAAzB,EAA4B;QACxB;QACA,MAAMq8I,KAAK,GAAGlxF,OAAO,CAACrjC,SAAR,CAAkBo0H,OAAlB,EAA2B5tF,GAA3B,CAAd;;QACA,IAAIwqF,gBAAgB,CAAClvF,IAAjB,CAAsByyF,KAAtB,CAAJ,EAAkC;UAC9BpgH,OAAO,CAAC96B,IAAR,CAAa26I,aAAa,CAACO,KAAD,CAA1B;QACH,CAFD,MAGK;UACDpgH,OAAO,CAAC96B,IAAR,CAAak7I,KAAb;QACH;;QACDH,OAAO,GAAG5tF,GAAG,GAAG,CAAhB;MACH;IACJ,CAbD,MAcK;MACD,IAAI6tF,UAAU,CAACn8I,MAAX,IAAqB,CAAzB,EAA4B;QACxB,MAAM8nB,SAAS,GAAGqjC,OAAO,CAACrjC,SAAR,CAAkBo0H,OAAlB,EAA2B5tF,GAA3B,CAAlB;QACAryB,OAAO,CAAC96B,IAAR,CAAa2mB,SAAb;QACAo0H,OAAO,GAAG5tF,GAAG,GAAG,CAAhB;MACH;;MACD6tF,UAAU,CAACh7I,IAAX,CAAgB,GAAhB;IACH;EACJ;;EACD,MAAM2mB,SAAS,GAAGqjC,OAAO,CAACrjC,SAAR,CAAkBo0H,OAAlB,CAAlB;EACAjgH,OAAO,CAAC96B,IAAR,CAAa2mB,SAAb;EACA,OAAOmU,OAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS2/G,YAAT,CAAsB3+D,KAAtB,EAA6BsH,IAA7B,EAAmCL,KAAnC,EAA0CqwD,aAA1C,EAAyDR,SAAzD,EAAoEuI,QAApE,EAA8EC,cAA9E,EAA8Fb,UAA9F,EAA0G;EACtG,MAAMhxI,MAAM,GAAG,EAAf;EACA,MAAMoD,MAAM,GAAG,EAAf;EACA,MAAMw+D,MAAM,GAAG,EAAf;;EACA,IAAIjmE,SAAJ,EAAe;IACX2kH,iBAAiB,CAACtgH,MAAD,EAAS4tI,wBAAT,CAAjB;IACAttB,iBAAiB,CAACl9G,MAAD,EAAS2qI,yBAAT,CAAjB;IACAztB,iBAAiB,CAAC1+C,MAAD,EAASmrE,yBAAT,CAAjB;EACH;;EACDlzD,IAAI,CAACh1B,KAAL,CAAWpuD,IAAX,CAAgBm7I,QAAhB;EACA/3D,IAAI,CAAC75E,MAAL,CAAYvJ,IAAZ,CAAiBuJ,MAAjB;EACA65E,IAAI,CAACz2E,MAAL,CAAY3M,IAAZ,CAAiB2M,MAAjB;EACAy2E,IAAI,CAACjY,MAAL,CAAYnrE,IAAZ,CAAiBmrE,MAAjB;EACA,MAAMsqC,eAAe,GAAG5D,kBAAkB,CAAC3B,WAAW,EAAZ,CAA1C;EACA,MAAMsC,gBAAgB,GAAGiD,eAAe,CAACtD,mBAAhB,CAAoCipC,cAApC,CAAzB;EACAl2I,SAAS,IAAIyzE,aAAa,CAAC65B,gBAAD,EAAmB,uCAAnB,CAA1B;EACA,MAAM6oC,aAAa,GAAGplC,kBAAkB,CAACzD,gBAAD,CAAlB,IAAwCA,gBAA9D;;EACA,IAAI6oC,aAAJ,EAAmB;IACf,OAAOC,WAAW,CAACx/D,KAAD,EAAQsH,IAAR,EAAcL,KAAd,EAAqBqwD,aAArB,EAAoC7pI,MAApC,EAA4CoD,MAA5C,EAAoDw+D,MAApD,EAA4DkwE,aAA5D,EAA2EzI,SAA3E,EAAsF2H,UAAtF,EAAkG,CAAlG,CAAlB;EACH,CAFD,MAGK;IACD,OAAO,CAAP;EACH;AACJ;;AACD,SAASe,WAAT,CAAqBx/D,KAArB,EAA4BsH,IAA5B,EAAkCL,KAAlC,EAAyCw4D,mBAAzC,EAA8DhyI,MAA9D,EAAsEoD,MAAtE,EAA8Ew+D,MAA9E,EAAsFjkD,UAAtF,EAAkG0rH,SAAlG,EAA6G2H,UAA7G,EAAyHiB,KAAzH,EAAgI;EAC5H,IAAIpB,WAAW,GAAG,CAAlB;EACA,IAAIl7E,WAAW,GAAGh4C,UAAU,CAAC4kE,UAA7B;;EACA,OAAO5sB,WAAP,EAAoB;IAChB,MAAMotE,QAAQ,GAAGha,YAAY,CAACx2C,KAAD,EAAQiH,KAAR,EAAe,CAAf,EAAkB,IAAlB,CAA7B;;IACA,QAAQ7jB,WAAW,CAACr9C,QAApB;MACI,KAAKi3D,IAAI,CAACo6B,YAAV;QACI,MAAMluF,OAAO,GAAGk6C,WAAhB;QACA,MAAMwjC,OAAO,GAAG19E,OAAO,CAAC09E,OAAR,CAAgB1nG,WAAhB,EAAhB;;QACA,IAAI84G,cAAc,CAACtpF,cAAf,CAA8Bk4E,OAA9B,CAAJ,EAA4C;UACxC+4C,sBAAsB,CAAClyI,MAAD,EAASwnI,cAAT,EAAyBruC,OAAzB,EAAkCkwC,SAAlC,EAA6CtG,QAA7C,CAAtB;UACAxwD,KAAK,CAACr/E,IAAN,CAAW6vI,QAAX,IAAuB5pC,OAAvB;UACA,MAAMoQ,OAAO,GAAG9tF,OAAO,CAAC+tF,UAAxB;;UACA,KAAK,IAAI3nG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0nG,OAAO,CAACj0G,MAA5B,EAAoCuM,CAAC,EAArC,EAAyC;YACrC,MAAMg+D,IAAI,GAAG0pC,OAAO,CAACh4G,IAAR,CAAasQ,CAAb,CAAb;YACA,MAAMswI,aAAa,GAAGtyE,IAAI,CAAC5tE,IAAL,CAAUR,WAAV,EAAtB;YACA,MAAMk+I,UAAU,GAAG,CAAC,CAAC9vE,IAAI,CAAClrE,KAAL,CAAWgsB,KAAX,CAAiBstH,cAAjB,CAArB,CAHqC,CAIrC;;YACA,IAAI0B,UAAJ,EAAgB;cACZ,IAAIhlC,WAAW,CAAC1pF,cAAZ,CAA2BkxH,aAA3B,CAAJ,EAA+C;gBAC3C,IAAI3nC,SAAS,CAAC2nC,aAAD,CAAb,EAA8B;kBAC1BvC,4BAA4B,CAAChuE,MAAD,EAAS/B,IAAI,CAAClrE,KAAd,EAAqBouI,QAArB,EAA+BljE,IAAI,CAAC5tE,IAApC,EAA0C,CAA1C,EAA6C43G,YAA7C,CAA5B;gBACH,CAFD,MAGK;kBACD+lC,4BAA4B,CAAChuE,MAAD,EAAS/B,IAAI,CAAClrE,KAAd,EAAqBouI,QAArB,EAA+BljE,IAAI,CAAC5tE,IAApC,EAA0C,CAA1C,EAA6C,IAA7C,CAA5B;gBACH;cACJ,CAPD,MAQK;gBACD0J,SAAS,IACL2D,OAAO,CAACC,IAAR,CAAc,2CAAD,GACR,GAAE4yI,aAAc,eAAch5C,OAAQ,GAD9B,GAER,oCAFL,CADJ;cAIH;YACJ,CAfD,MAgBK;cACDi5C,kBAAkB,CAACpyI,MAAD,EAAS+iI,QAAT,EAAmBljE,IAAnB,CAAlB;YACH;UACJ,CA5BuC,CA6BxC;;;UACAgxE,WAAW,GAAGkB,WAAW,CAACx/D,KAAD,EAAQsH,IAAR,EAAcL,KAAd,EAAqBw4D,mBAArB,EAA0ChyI,MAA1C,EAAkDoD,MAAlD,EAA0Dw+D,MAA1D,EAAkEjM,WAAlE,EAA+EotE,QAA/E,EAAyFiO,UAAzF,EAAqGiB,KAAK,GAAG,CAA7G,CAAX,GACVpB,WADJ;UAEAwB,aAAa,CAACjvI,MAAD,EAAS2/H,QAAT,EAAmBkP,KAAnB,CAAb;QACH;;QACD;;MACJ,KAAK1iE,IAAI,CAAC47B,SAAV;QACI,MAAMx2G,KAAK,GAAGghE,WAAW,CAAC0vD,WAAZ,IAA2B,EAAzC;QACA,MAAMsqB,UAAU,GAAGh7I,KAAK,CAACgsB,KAAN,CAAYstH,cAAZ,CAAnB;QACAiE,sBAAsB,CAAClyI,MAAD,EAAS,IAAT,EAAe2vI,UAAU,GAAG,EAAH,GAAQh7I,KAAjC,EAAwC00I,SAAxC,EAAmDtG,QAAnD,CAAtB;QACAsP,aAAa,CAACjvI,MAAD,EAAS2/H,QAAT,EAAmBkP,KAAnB,CAAb;;QACA,IAAItC,UAAJ,EAAgB;UACZkB,WAAW,GACPjB,4BAA4B,CAAChuE,MAAD,EAASjtE,KAAT,EAAgBouI,QAAhB,EAA0B,IAA1B,EAAgC,CAAhC,EAAmC,IAAnC,CAA5B,GAAuE8N,WAD3E;QAEH;;QACD;;MACJ,KAAKthE,IAAI,CAAC+1C,YAAV;QACI;QACA,MAAMgtB,WAAW,GAAGnE,UAAU,CAAChrH,IAAX,CAAgBwyC,WAAW,CAAC0vD,WAAZ,IAA2B,EAA3C,CAApB;;QACA,IAAIitB,WAAJ,EAAiB;UACb,MAAMC,cAAc,GAAG/tF,QAAQ,CAAC8tF,WAAW,CAAC,CAAD,CAAZ,EAAiB,EAAjB,CAA/B;UACA,MAAMtG,aAAa,GAAGgF,UAAU,CAACuB,cAAD,CAAhC,CAFa,CAGb;;UACAL,sBAAsB,CAAClyI,MAAD,EAASynI,UAAT,EAAqB9rI,SAAS,GAAI,cAAa42I,cAAe,EAAhC,GAAoC,EAAlE,EAAsElJ,SAAtE,EAAiFtG,QAAjF,CAAtB;UACAuM,QAAQ,CAAC/8D,KAAD,EAAQiH,KAAR,EAAew4D,mBAAf,EAAoC3I,SAApC,EAA+C2C,aAA/C,EAA8DjJ,QAA9D,CAAR;UACAyP,kBAAkB,CAACpvI,MAAD,EAAS2/H,QAAT,EAAmBkP,KAAnB,CAAlB;QACH;;QACD;IA5DR;;IA8DAt8E,WAAW,GAAGA,WAAW,CAACgtC,WAA1B;EACH;;EACD,OAAOkuC,WAAP;AACH;;AACD,SAASwB,aAAT,CAAuBjvI,MAAvB,EAA+BrV,KAA/B,EAAsCkkJ,KAAtC,EAA6C;EACzC,IAAIA,KAAK,KAAK,CAAd,EAAiB;IACb7uI,MAAM,CAAC3M,IAAP,CAAY1I,KAAZ;EACH;AACJ;;AACD,SAASykJ,kBAAT,CAA4BpvI,MAA5B,EAAoCrV,KAApC,EAA2CkkJ,KAA3C,EAAkD;EAC9C,IAAIA,KAAK,KAAK,CAAd,EAAiB;IACb7uI,MAAM,CAAC3M,IAAP,CAAY,CAAC1I,KAAb,EADa,CACQ;;IACrBqV,MAAM,CAAC3M,IAAP,CAAY1I,KAAZ,EAFa,CAEO;EACvB;AACJ;;AACD,SAAS+iJ,kBAAT,CAA4BlvE,MAA5B,EAAoCoqE,aAApC,EAAmDj+I,KAAnD,EAA0D;EACtD6zE,MAAM,CAACnrE,IAAP,CAAY85I,SAAS,CAACvE,aAAa,CAACoD,WAAf,CAArB,EAAkD,CAAlD,EAAqD,CAAC,CAAD,GAAKpD,aAAa,CAACoD,WAAxE,EAAqFrhJ,KAAK,IAAI;EAAE;EAAX,EAA8C;EAAE;EAArI;AACH;;AACD,SAASojJ,kBAAT,CAA4BvvE,MAA5B,EAAoCivE,WAApC,EAAiD9iJ,KAAjD,EAAwD;EACpD6zE,MAAM,CAACnrE,IAAP,CAAYo6I,WAAZ,EAAyB,CAAzB,EAA4B9iJ,KAAK,IAAI;EAAE;EAAX,EAA8C;EAAE;EAA5E;AACH;;AACD,SAASmkJ,sBAAT,CAAgClyI,MAAhC,EAAwCsnF,MAAxC,EAAgD/4F,IAAhD,EAAsDkkJ,iBAAtD,EAAyEC,WAAzE,EAAsF;EAClF,IAAIprD,MAAM,KAAK,IAAf,EAAqB;IACjBtnF,MAAM,CAACvJ,IAAP,CAAY6wF,MAAZ;EACH;;EACDtnF,MAAM,CAACvJ,IAAP,CAAYlI,IAAZ,EAAkBmkJ,WAAlB,EAA+BtJ,eAAe,CAAC;EAAE;EAAH,EAAsCqJ,iBAAtC,EAAyDC,WAAzD,CAA9C;AACH;;AACD,SAASN,kBAAT,CAA4BpyI,MAA5B,EAAoC+iI,QAApC,EAA8CljE,IAA9C,EAAoD;EAChD7/D,MAAM,CAACvJ,IAAP,CAAYssI,QAAQ,IAAI;EAAE;EAAd,EAAgD;EAAE;EAA9D,EAA0FljE,IAAI,CAAC5tE,IAA/F,EAAqG4tE,IAAI,CAAClrE,KAA1G;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMg+I,gBAAgB,GAAG,CAAzB;AACA,MAAMC,kCAAkC,GAAG,cAA3C;AACA,MAAMC,sBAAsB,GAAG,gCAA/B;AACA,MAAMC,kBAAkB,GAAG,2CAA3B;AACA,MAAMC,0BAA0B,GAAG,iBAAnC;AACA,MAAMC,cAAc,GAAG,0BAAvB;AACA,MAAMC,wBAAwB,GAAG,MAAjC;AACA,MAAMC,qBAAqB,GAAG,YAA9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,eAAT,CAAyBvhI,OAAzB,EAAkCwhI,YAAY,GAAG,EAAjD,EAAqD;EACjD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI,IAAI9sI,MAAM,GAAGsL,OAAb;;EACA,IAAIghI,kCAAkC,CAAC1zF,IAAnC,CAAwCttC,OAAxC,CAAJ,EAAsD;IAClD,MAAM8O,OAAO,GAAG,EAAhB;IACA,MAAM2yH,gBAAgB,GAAG,CAACV,gBAAD,CAAzB;IACArsI,MAAM,GAAGA,MAAM,CAAC8Y,OAAP,CAAeyzH,sBAAf,EAAuC,CAAClvH,CAAD,EAAI2vH,GAAJ,EAASC,IAAT,KAAkB;MAC9D,MAAM/wC,OAAO,GAAG8wC,GAAG,IAAIC,IAAvB;MACA,MAAMC,YAAY,GAAG9yH,OAAO,CAAC8hF,OAAD,CAAP,IAAoB,EAAzC;;MACA,IAAI,CAACgxC,YAAY,CAACl+I,MAAlB,EAA0B;QACtBktG,OAAO,CAACv8E,KAAR,CAAc,GAAd,EAAmB5vB,OAAnB,CAA4B3B,WAAD,IAAiB;UACxC,MAAMisB,KAAK,GAAGjsB,WAAW,CAACisB,KAAZ,CAAkBuyH,qBAAlB,CAAd;UACA,MAAMO,UAAU,GAAG9yH,KAAK,GAAG6jC,QAAQ,CAAC7jC,KAAK,CAAC,CAAD,CAAN,EAAW,EAAX,CAAX,GAA4BgyH,gBAApD;UACA,MAAMe,kBAAkB,GAAGT,wBAAwB,CAAC/zF,IAAzB,CAA8BxqD,WAA9B,CAA3B;UACA8+I,YAAY,CAAC/8I,IAAb,CAAkB,CAACg9I,UAAD,EAAaC,kBAAb,EAAiCh/I,WAAjC,CAAlB;QACH,CALD;QAMAgsB,OAAO,CAAC8hF,OAAD,CAAP,GAAmBgxC,YAAnB;MACH;;MACD,IAAI,CAACA,YAAY,CAACl+I,MAAlB,EAA0B;QACtB,MAAM,IAAI4K,KAAJ,CAAW,6CAA4CsiG,OAAQ,EAA/D,CAAN;MACH;;MACD,MAAMmxC,iBAAiB,GAAGN,gBAAgB,CAACA,gBAAgB,CAAC/9I,MAAjB,GAA0B,CAA3B,CAA1C;MACA,IAAIwY,GAAG,GAAG,CAAV,CAhB8D,CAiB9D;;MACA,KAAK,IAAIjM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2xI,YAAY,CAACl+I,MAAjC,EAAyCuM,CAAC,EAA1C,EAA8C;QAC1C,IAAI2xI,YAAY,CAAC3xI,CAAD,CAAZ,CAAgB,CAAhB,MAAuB8xI,iBAA3B,EAA8C;UAC1C7lI,GAAG,GAAGjM,CAAN;UACA;QACH;MACJ,CAvB6D,CAwB9D;;;MACA,MAAM,CAAC4xI,UAAD,EAAaC,kBAAb,EAAiCh/I,WAAjC,IAAgD8+I,YAAY,CAAC1lI,GAAD,CAAlE;;MACA,IAAI4lI,kBAAJ,EAAwB;QACpBL,gBAAgB,CAACxtI,GAAjB;MACH,CAFD,MAGK,IAAI8tI,iBAAiB,KAAKF,UAA1B,EAAsC;QACvCJ,gBAAgB,CAAC58I,IAAjB,CAAsBg9I,UAAtB;MACH,CA/B6D,CAgC9D;;;MACAD,YAAY,CAAC39I,MAAb,CAAoBiY,GAApB,EAAyB,CAAzB;MACA,OAAOpZ,WAAP;IACH,CAnCQ,CAAT;EAoCH,CAnDgD,CAoDjD;;;EACA,IAAI,CAACG,MAAM,CAACuS,IAAP,CAAYgsI,YAAZ,EAA0B99I,MAA/B,EAAuC;IACnC,OAAOgR,MAAP;EACH;EACD;AACJ;AACA;;;EACIA,MAAM,GAAGA,MAAM,CAAC8Y,OAAP,CAAe0zH,kBAAf,EAAmC,CAACnyH,KAAD,EAAQyT,KAAR,EAAe/sB,GAAf,EAAoBusI,KAApB,EAA2BC,IAA3B,EAAiCnkG,GAAjC,KAAyC;IACjF,OAAO0jG,YAAY,CAACnyH,cAAb,CAA4B5Z,GAA5B,IAAoC,GAAE+sB,KAAM,GAAEg/G,YAAY,CAAC/rI,GAAD,CAAM,GAAEqoC,GAAI,EAAtE,GAA0E/uB,KAAjF;EACH,CAFQ,CAAT;EAGA;AACJ;AACA;;EACIra,MAAM,GAAGA,MAAM,CAAC8Y,OAAP,CAAe2zH,0BAAf,EAA2C,CAACpyH,KAAD,EAAQtZ,GAAR,KAAgB;IAChE,OAAO+rI,YAAY,CAACnyH,cAAb,CAA4B5Z,GAA5B,IAAmC+rI,YAAY,CAAC/rI,GAAD,CAA/C,GAAuDsZ,KAA9D;EACH,CAFQ,CAAT;EAGA;AACJ;AACA;AACA;;EACIra,MAAM,GAAGA,MAAM,CAAC8Y,OAAP,CAAe4zH,cAAf,EAA+B,CAACryH,KAAD,EAAQtZ,GAAR,KAAgB;IACpD,IAAI+rI,YAAY,CAACnyH,cAAb,CAA4B5Z,GAA5B,CAAJ,EAAsC;MAClC,MAAMw7D,IAAI,GAAGuwE,YAAY,CAAC/rI,GAAD,CAAzB;;MACA,IAAI,CAACw7D,IAAI,CAACvtE,MAAV,EAAkB;QACd,MAAM,IAAI4K,KAAJ,CAAW,qCAAoCygB,KAAM,cAAatZ,GAAI,EAAtE,CAAN;MACH;;MACD,OAAOw7D,IAAI,CAAC52D,KAAL,EAAP;IACH;;IACD,OAAO0U,KAAP;EACH,CATQ,CAAT;EAUA,OAAOra,MAAP;AACH;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,SAASwtI,WAAT,CAAqB/lJ,KAArB,EAA4BgmJ,YAA5B,EAA0CnF,gBAAgB,GAAG,CAAC,CAA9D,EAAiE;EAC7D,MAAMr8D,KAAK,GAAGmN,QAAQ,EAAtB;EACA,MAAMlG,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMs6C,aAAa,GAAGzhD,aAAa,GAAGvqF,KAAtC;EACA4N,SAAS,IAAIyzE,aAAa,CAACmD,KAAD,EAAS,yBAAT,CAA1B;EACA,MAAM3gE,OAAO,GAAG0sE,WAAW,CAAC/L,KAAK,CAAC95E,MAAP,EAAes7I,YAAf,CAA3B;EACA,MAAMhyD,WAAW,GAAG/B,qBAAqB,EAAzC;;EACA,IAAIzN,KAAK,CAACF,eAAV,EAA2B;IACvBq8D,wBAAwB,CAACn8D,KAAD,EAAQwP,WAAW,KAAK,IAAhB,GAAuB,CAAvB,GAA2BA,WAAW,CAACh0F,KAA/C,EAAsDyrF,KAAtD,EAA6DugD,aAA7D,EAA4EnoH,OAA5E,EAAqFg9H,gBAArF,CAAxB;EACH;;EACD,MAAMhF,KAAK,GAAGr3D,KAAK,CAACr/E,IAAN,CAAW6mI,aAAX,CAAd;EACA,MAAMia,mBAAmB,GAAGjyD,WAAW,KAAKvI,KAAK,CAAClC,MAAD,CAArB,GAAgC,IAAhC,GAAuCyK,WAAnE;EACA,MAAMshB,WAAW,GAAGnB,kBAAkB,CAAC3vB,KAAD,EAAQyhE,mBAAR,EAA6Bx6D,KAA7B,CAAtC,CAZ6D,CAa7D;EACA;;EACA,MAAM0wD,eAAe,GAAGnoD,WAAW,IAAKA,WAAW,CAAC7vF,IAAZ,GAAmB;EAAE;EAArC,EACpBsnF,KAAK,CAACuI,WAAW,CAACh0F,KAAb,CADe,GAEpB,IAFJ;EAGAi8I,kBAAkB,CAACxwD,KAAD,EAAQowD,KAAK,CAAC5pI,MAAd,EAAsBqjG,WAAtB,EAAmC6mC,eAAnC,CAAlB;EACAhpD,cAAc,CAAC,IAAD,CAAd;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+yD,SAAT,GAAqB;EACjB/yD,cAAc,CAAC,KAAD,CAAd;AACH;AACD;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,SAASgzD,MAAT,CAAgBnmJ,KAAhB,EAAuBgmJ,YAAvB,EAAqCnF,gBAArC,EAAuD;EACnDkF,WAAW,CAAC/lJ,KAAD,EAAQgmJ,YAAR,EAAsBnF,gBAAtB,CAAX;EACAqF,SAAS;AACZ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,gBAAT,CAA0BpmJ,KAA1B,EAAiC6rI,UAAjC,EAA6C;EACzC,MAAMrnD,KAAK,GAAGmN,QAAQ,EAAtB;EACA/jF,SAAS,IAAIyzE,aAAa,CAACmD,KAAD,EAAS,yBAAT,CAA1B;EACA,MAAMyU,KAAK,GAAG1I,WAAW,CAAC/L,KAAK,CAAC95E,MAAP,EAAemhI,UAAf,CAAzB;EACAiW,uBAAuB,CAACt9D,KAAD,EAAQxkF,KAAK,GAAGuqF,aAAhB,EAA+B0O,KAA/B,CAAvB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASotD,SAAT,CAAmBz/I,KAAnB,EAA0B;EACtB,MAAM6kF,KAAK,GAAGiG,QAAQ,EAAtB;EACAgqD,UAAU,CAAC5S,cAAc,CAACr9C,KAAD,EAAQsH,gBAAgB,EAAxB,EAA4BnsF,KAA5B,CAAf,CAAV;EACA,OAAOy/I,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,WAAT,CAAqBtmJ,KAArB,EAA4B;EACxB47I,SAAS,CAACjqD,QAAQ,EAAT,EAAaD,QAAQ,EAArB,EAAyB1xF,KAAK,GAAGuqF,aAAjC,CAAT;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg8D,iBAAT,CAA2B1iI,OAA3B,EAAoCwhI,YAAY,GAAG,EAAnD,EAAuD;EACnD,OAAOD,eAAe,CAACvhI,OAAD,EAAUwhI,YAAV,CAAtB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,SAAS1+D,iBAAT,CAA2BvsD,GAA3B,EAAgC1sB,SAAhC,EAA2C2rH,aAA3C,EAA0D;EACtD,MAAM70C,KAAK,GAAGmN,QAAQ,EAAtB;;EACA,IAAInN,KAAK,CAACF,eAAV,EAA2B;IACvB,MAAMwsB,WAAW,GAAGxlB,cAAc,CAAClxD,GAAD,CAAlC,CADuB,CAEvB;;IACAosH,eAAe,CAACntB,aAAD,EAAgB70C,KAAK,CAACr/E,IAAtB,EAA4Bq/E,KAAK,CAAC8W,SAAlC,EAA6CwV,WAA7C,EAA0D,IAA1D,CAAf,CAHuB,CAIvB;;IACA01C,eAAe,CAAC94I,SAAD,EAAY82E,KAAK,CAACr/E,IAAlB,EAAwBq/E,KAAK,CAAC8W,SAA9B,EAAyCwV,WAAzC,EAAsD,KAAtD,CAAf;EACH;AACJ;AACD;AACA;AACA;;;AACA,SAAS01C,eAAT,CAAyB1mE,QAAzB,EAAmC6d,YAAnC,EAAiD8oD,qBAAjD,EAAwE31C,WAAxE,EAAqF9Y,cAArF,EAAqG;EACjGlY,QAAQ,GAAGd,iBAAiB,CAACc,QAAD,CAA5B;;EACA,IAAI/2E,KAAK,CAACC,OAAN,CAAc82E,QAAd,CAAJ,EAA6B;IACzB;IACA;IACA;IACA,KAAK,IAAIhsE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgsE,QAAQ,CAACv4E,MAA7B,EAAqCuM,CAAC,EAAtC,EAA0C;MACtC0yI,eAAe,CAAC1mE,QAAQ,CAAChsE,CAAD,CAAT,EAAc6pF,YAAd,EAA4B8oD,qBAA5B,EAAmD31C,WAAnD,EAAgE9Y,cAAhE,CAAf;IACH;EACJ,CAPD,MAQK;IACD,MAAMxT,KAAK,GAAGmN,QAAQ,EAAtB;IACA,MAAMlG,KAAK,GAAGiG,QAAQ,EAAtB;IACA,IAAIn0D,KAAK,GAAGwkF,cAAc,CAACjiC,QAAD,CAAd,GAA2BA,QAA3B,GAAsCd,iBAAiB,CAACc,QAAQ,CAACx7E,OAAV,CAAnE;IACA,IAAIoiJ,eAAe,GAAGniC,iBAAiB,CAACzkC,QAAD,CAAvC;IACA,MAAMyE,KAAK,GAAGuN,eAAe,EAA7B;IACA,MAAM60D,UAAU,GAAGpiE,KAAK,CAACmZ,eAAN,GAAwB;IAAQ;IAAnD;IACA,MAAMM,QAAQ,GAAGzZ,KAAK,CAAC6R,cAAvB;IACA,MAAM0H,qBAAqB,GAAGvZ,KAAK,CAACmZ,eAAN,IAAyB;IAAG;IAA1D;;IACA,IAAIqkB,cAAc,CAACjiC,QAAD,CAAd,IAA4B,CAACA,QAAQ,CAACr7E,KAA1C,EAAiD;MAC7C;MACA,MAAMihE,OAAO,GAAG,IAAIqyB,mBAAJ,CAAwB2uD,eAAxB,EAAyC1uD,cAAzC,EAAyDnuF,iBAAzD,CAAhB;MACA,MAAM+8I,oBAAoB,GAAGjjJ,OAAO,CAAC45B,KAAD,EAAQogE,YAAR,EAAsB3F,cAAc,GAAG2uD,UAAH,GAAgBA,UAAU,GAAG7oD,qBAAjE,EAAwFE,QAAxF,CAApC;;MACA,IAAI4oD,oBAAoB,KAAK,CAAC,CAA9B,EAAiC;QAC7B7qD,kBAAkB,CAACb,8BAA8B,CAAC3W,KAAD,EAAQkH,KAAR,CAA/B,EAA+CjH,KAA/C,EAAsDjnD,KAAtD,CAAlB;QACAspH,+BAA+B,CAACriE,KAAD,EAAQ1E,QAAR,EAAkB6d,YAAY,CAACp2F,MAA/B,CAA/B;QACAo2F,YAAY,CAACj1F,IAAb,CAAkB60B,KAAlB;QACAgnD,KAAK,CAAC6R,cAAN;QACA7R,KAAK,CAAC8R,YAAN;;QACA,IAAI2B,cAAJ,EAAoB;UAChBzT,KAAK,CAACmZ,eAAN,IAAyB;UAAQ;UAAjC;QACH;;QACD+oD,qBAAqB,CAAC/9I,IAAtB,CAA2Bg9D,OAA3B;QACA+lB,KAAK,CAAC/iF,IAAN,CAAWg9D,OAAX;MACH,CAXD,MAYK;QACD+gF,qBAAqB,CAACG,oBAAD,CAArB,GAA8ClhF,OAA9C;QACA+lB,KAAK,CAACm7D,oBAAD,CAAL,GAA8BlhF,OAA9B;MACH;IACJ,CApBD,MAqBK;MACD;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,MAAMohF,6BAA6B,GAAGnjJ,OAAO,CAAC45B,KAAD,EAAQogE,YAAR,EAAsBgpD,UAAU,GAAG7oD,qBAAnC,EAA0DE,QAA1D,CAA7C;MACA,MAAM+oD,iCAAiC,GAAGpjJ,OAAO,CAAC45B,KAAD,EAAQogE,YAAR,EAAsBgpD,UAAtB,EAAkCA,UAAU,GAAG7oD,qBAA/C,CAAjD;MACA,MAAMkpD,yBAAyB,GAAGF,6BAA6B,IAAI,CAAjC,IAC9BL,qBAAqB,CAACK,6BAAD,CADzB;MAEA,MAAMG,6BAA6B,GAAGF,iCAAiC,IAAI,CAArC,IAClCN,qBAAqB,CAACM,iCAAD,CADzB;;MAEA,IAAI/uD,cAAc,IAAI,CAACivD,6BAAnB,IACA,CAACjvD,cAAD,IAAmB,CAACgvD,yBADxB,EACmD;QAC/C;QACAjrD,kBAAkB,CAACb,8BAA8B,CAAC3W,KAAD,EAAQkH,KAAR,CAA/B,EAA+CjH,KAA/C,EAAsDjnD,KAAtD,CAAlB;QACA,MAAMmoC,OAAO,GAAGwhF,YAAY,CAAClvD,cAAc,GAAGmvD,iCAAH,GAAuCC,6BAAtD,EAAqFX,qBAAqB,CAACl/I,MAA3G,EAAmHywF,cAAnH,EAAmI8Y,WAAnI,EAAgJ41C,eAAhJ,CAA5B;;QACA,IAAI,CAAC1uD,cAAD,IAAmBivD,6BAAvB,EAAsD;UAClDR,qBAAqB,CAACM,iCAAD,CAArB,CAAyDL,eAAzD,GAA2EhhF,OAA3E;QACH;;QACDmhF,+BAA+B,CAACriE,KAAD,EAAQ1E,QAAR,EAAkB6d,YAAY,CAACp2F,MAA/B,EAAuC,CAAvC,CAA/B;QACAo2F,YAAY,CAACj1F,IAAb,CAAkB60B,KAAlB;QACAgnD,KAAK,CAAC6R,cAAN;QACA7R,KAAK,CAAC8R,YAAN;;QACA,IAAI2B,cAAJ,EAAoB;UAChBzT,KAAK,CAACmZ,eAAN,IAAyB;UAAQ;UAAjC;QACH;;QACD+oD,qBAAqB,CAAC/9I,IAAtB,CAA2Bg9D,OAA3B;QACA+lB,KAAK,CAAC/iF,IAAN,CAAWg9D,OAAX;MACH,CAjBD,MAkBK;QACD;QACA,MAAM2hF,cAAc,GAAGC,eAAe,CAACb,qBAAqB,CAACzuD,cAAc,GAAG+uD,iCAAH,GACvED,6BADwD,CAAtB,EACFJ,eADE,EACe,CAAC1uD,cAAD,IAAmB8Y,WADlC,CAAtC;QAEA+1C,+BAA+B,CAACriE,KAAD,EAAQ1E,QAAR,EAAkBgnE,6BAA6B,GAAG,CAAC,CAAjC,GAAqCA,6BAArC,GAC7CC,iCAD2B,EACQM,cADR,CAA/B;MAEH;;MACD,IAAI,CAACrvD,cAAD,IAAmB8Y,WAAnB,IAAkCm2C,6BAAtC,EAAqE;QACjER,qBAAqB,CAACM,iCAAD,CAArB,CAAyDQ,kBAAzD;MACH;IACJ;EACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASV,+BAAT,CAAyCriE,KAAzC,EAAgD1E,QAAhD,EAA0D0nE,YAA1D,EAAwEH,cAAxE,EAAwF;EACpF,MAAMI,sBAAsB,GAAG1lC,cAAc,CAACjiC,QAAD,CAA7C;EACA,MAAM4nE,uBAAuB,GAAGrlC,eAAe,CAACviC,QAAD,CAA/C;;EACA,IAAI2nE,sBAAsB,IAAIC,uBAA9B,EAAuD;IACnD;IACA,MAAMC,UAAU,GAAGD,uBAAuB,GAAG1oE,iBAAiB,CAACc,QAAQ,CAAC9B,QAAV,CAApB,GAA0C8B,QAApF;IACA,MAAM7zE,SAAS,GAAG07I,UAAU,CAAC17I,SAA7B;IACA,MAAMw2C,WAAW,GAAGx2C,SAAS,CAACw2C,WAA9B;;IACA,IAAIA,WAAJ,EAAiB;MACb,MAAMw0C,KAAK,GAAGzS,KAAK,CAACuS,YAAN,KAAuBvS,KAAK,CAACuS,YAAN,GAAqB,EAA5C,CAAd;;MACA,IAAI,CAAC0wD,sBAAD,IAA2B3nE,QAAQ,CAACr7E,KAAxC,EAA+C;QAC3CmJ,SAAS,IACLyzE,aAAa,CAACgmE,cAAD,EAAiB,4DAAjB,CADjB;QAEA,MAAMO,sBAAsB,GAAG3wD,KAAK,CAACtzF,OAAN,CAAc6jJ,YAAd,CAA/B;;QACA,IAAII,sBAAsB,KAAK,CAAC,CAAhC,EAAmC;UAC/B3wD,KAAK,CAACvuF,IAAN,CAAW8+I,YAAX,EAAyB,CAACH,cAAD,EAAiB5kG,WAAjB,CAAzB;QACH,CAFD,MAGK;UACDw0C,KAAK,CAAC2wD,sBAAsB,GAAG,CAA1B,CAAL,CAAkCl/I,IAAlC,CAAuC2+I,cAAvC,EAAuD5kG,WAAvD;QACH;MACJ,CAVD,MAWK;QACDw0C,KAAK,CAACvuF,IAAN,CAAW8+I,YAAX,EAAyB/kG,WAAzB;MACH;IACJ;EACJ;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAAS6kG,eAAT,CAAyBJ,YAAzB,EAAuCxhF,OAAvC,EAAgDmiF,mBAAhD,EAAqE;EACjE,IAAIA,mBAAJ,EAAyB;IACrBX,YAAY,CAACK,kBAAb;EACH;;EACD,OAAOL,YAAY,CAACziJ,KAAb,CAAmBiE,IAAnB,CAAwBg9D,OAAxB,IAAmC,CAA1C;AACH;AACD;AACA;AACA;;;AACA,SAAS/hE,OAAT,CAAiBH,IAAjB,EAAuBkyB,GAAvB,EAA4BqsG,KAA5B,EAAmCpgF,GAAnC,EAAwC;EACpC,KAAK,IAAI7tC,CAAC,GAAGiuH,KAAb,EAAoBjuH,CAAC,GAAG6tC,GAAxB,EAA6B7tC,CAAC,EAA9B,EAAkC;IAC9B,IAAI4hB,GAAG,CAAC5hB,CAAD,CAAH,KAAWtQ,IAAf,EACI,OAAOsQ,CAAP;EACP;;EACD,OAAO,CAAC,CAAR;AACH;AACD;AACA;AACA;;;AACA,SAASszI,6BAAT,CAAuCvyH,CAAvC,EAA0C4+D,KAA1C,EAAiDq0D,KAAjD,EAAwDvjE,KAAxD,EAA+D;EAC3D,OAAOwjE,YAAY,CAAC,KAAKtjJ,KAAN,EAAa,EAAb,CAAnB;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS0iJ,iCAAT,CAA2CtyH,CAA3C,EAA8C4+D,KAA9C,EAAqDhI,KAArD,EAA4DlH,KAA5D,EAAmE;EAC/D,MAAM00C,SAAS,GAAG,KAAKx0H,KAAvB;EACA,IAAI8T,MAAJ;;EACA,IAAI,KAAKmuI,eAAT,EAA0B;IACtB,MAAMsB,cAAc,GAAG,KAAKtB,eAAL,CAAqBa,kBAA5C;IACA,MAAMU,cAAc,GAAGzqD,iBAAiB,CAAC/R,KAAD,EAAQA,KAAK,CAACvC,KAAD,CAAb,EAAsB,KAAKw9D,eAAL,CAAqB1mJ,KAA3C,EAAkDukF,KAAlD,CAAxC,CAFsB,CAGtB;;IACAhsE,MAAM,GAAG0vI,cAAc,CAACz+I,KAAf,CAAqB,CAArB,EAAwBw+I,cAAxB,CAAT,CAJsB,CAKtB;;IACAD,YAAY,CAAC9uB,SAAD,EAAY1gH,MAAZ,CAAZ,CANsB,CAOtB;;IACA,KAAK,IAAIzE,CAAC,GAAGk0I,cAAb,EAA6Bl0I,CAAC,GAAGm0I,cAAc,CAAC1gJ,MAAhD,EAAwDuM,CAAC,EAAzD,EAA6D;MACzDyE,MAAM,CAAC7P,IAAP,CAAYu/I,cAAc,CAACn0I,CAAD,CAA1B;IACH;EACJ,CAXD,MAYK;IACDyE,MAAM,GAAG,EAAT,CADC,CAED;;IACAwvI,YAAY,CAAC9uB,SAAD,EAAY1gH,MAAZ,CAAZ;EACH;;EACD,OAAOA,MAAP;AACH;AACD;AACA;AACA;;;AACA,SAASwvI,YAAT,CAAsB9uB,SAAtB,EAAiC1gH,MAAjC,EAAyC;EACrC,KAAK,IAAIzE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmlH,SAAS,CAAC1xH,MAA9B,EAAsCuM,CAAC,EAAvC,EAA2C;IACvC,MAAM4xD,OAAO,GAAGuzD,SAAS,CAACnlH,CAAD,CAAzB;IACAyE,MAAM,CAAC7P,IAAP,CAAYg9D,OAAO,EAAnB;EACH;;EACD,OAAOntD,MAAP;AACH;AACD;AACA;AACA;;;AACA,SAAS2uI,YAAT,CAAsB34B,SAAtB,EAAiCvuH,KAAjC,EAAwCg4F,cAAxC,EAAwD8Y,WAAxD,EAAqE1mE,CAArE,EAAwE;EACpE,MAAMs7B,OAAO,GAAG,IAAIqyB,mBAAJ,CAAwBw2B,SAAxB,EAAmCv2B,cAAnC,EAAmDnuF,iBAAnD,CAAhB;EACA67D,OAAO,CAACjhE,KAAR,GAAgB,EAAhB;EACAihE,OAAO,CAAC1lE,KAAR,GAAgBA,KAAhB;EACA0lE,OAAO,CAAC6hF,kBAAR,GAA6B,CAA7B;EACAD,eAAe,CAAC5hF,OAAD,EAAUt7B,CAAV,EAAa0mE,WAAW,IAAI,CAAC9Y,cAA7B,CAAf;EACA,OAAOtyB,OAAP;AACH;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,SAASn7D,kBAAT,CAA4BmD,SAA5B,EAAuC2rH,aAAa,GAAG,EAAvD,EAA2D;EACvD,OAAQprC,UAAD,IAAgB;IACnBA,UAAU,CAACtH,iBAAX,GACI,CAACvsD,GAAD,EAAM8tH,kBAAN,KAA6B;MACzB,OAAOvhE,iBAAiB,CAACvsD,GAAD,EAAM;MAC9B8tH,kBAAkB,GAAGA,kBAAkB,CAACx6I,SAAD,CAArB,GAAmCA,SAD7B,EACwC;MAChE2rH,aAFwB,CAAxB;IAGH,CALL;EAMH,CAPD;AAQH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8uB,aAAN,CAAoB;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,iBAAN,CAAwB;AAGxB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASrqG,cAAT,CAAwB3wC,QAAxB,EAAkCotD,cAAlC,EAAkD;EAC9C,OAAO,IAAIxc,WAAJ,CAAgB5wC,QAAhB,EAA0BotD,cAAc,IAAI,IAA5C,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM6tF,iBAAiB,GAAGtqG,cAA1B;;AACA,MAAMC,WAAN,SAA0BmqG,aAA1B,CAAwC;EACpCjlJ,WAAW,CAAC28E,YAAD,EAAekwC,OAAf,EAAwB;IAC/B;IACA,KAAKA,OAAL,GAAeA,OAAf,CAF+B,CAG/B;;IACA,KAAKu4B,oBAAL,GAA4B,EAA5B;IACA,KAAKC,UAAL,GAAkB,EAAlB,CAL+B,CAM/B;IACA;IACA;IACA;IACA;IACA;;IACA,KAAK5iB,wBAAL,GAAgC,IAAI1B,wBAAJ,CAA6B,IAA7B,CAAhC;IACA,MAAM17C,WAAW,GAAGC,cAAc,CAAC3I,YAAD,CAAlC;IACAjyE,SAAS,IACLyzE,aAAa,CAACkH,WAAD,EAAe,aAAY1sB,SAAS,CAACgkB,YAAD,CAAe,uCAAnD,CADjB;IAEA,KAAKyoE,oBAAL,GAA4BvhC,aAAa,CAACx+B,WAAW,CAACH,SAAb,CAAzC;IACA,KAAKogE,WAAL,GAAmBz8B,sCAAsC,CAAClsC,YAAD,EAAekwC,OAAf,EAAwB,CAC7E;MAAEzrH,OAAO,EAAE6jJ,aAAX;MAA0Bt9E,QAAQ,EAAE;IAApC,CAD6E,EACjC;MACxCvmE,OAAO,EAAE4gH,0BAD+B;MAExCr6C,QAAQ,EAAE,KAAK86D;IAFyB,CADiC,CAAxB,EAKtD9pE,SAAS,CAACgkB,YAAD,CAL6C,EAK7B,IAAI7yD,GAAJ,CAAQ,CAAC,aAAD,CAAR,CAL6B,CAAzD,CAjB+B,CAuB/B;IACA;IACA;;IACA,KAAKw7H,WAAL,CAAiB1kC,2BAAjB;;IACA,KAAKt1B,QAAL,GAAgB,KAAKg6D,WAAL,CAAiBt6H,GAAjB,CAAqB2xD,YAArB,CAAhB;EACH;;EACW,IAARvlB,QAAQ,GAAG;IACX,OAAO,KAAKkuF,WAAZ;EACH;;EACDxgI,OAAO,GAAG;IACNpa,SAAS,IAAIyzE,aAAa,CAAC,KAAKknE,UAAN,EAAkB,4BAAlB,CAA1B;IACA,MAAMjuF,QAAQ,GAAG,KAAKkuF,WAAtB;IACA,CAACluF,QAAQ,CAACpqB,SAAV,IAAuBoqB,QAAQ,CAACtyC,OAAT,EAAvB;IACA,KAAKugI,UAAL,CAAgBjgJ,OAAhB,CAAwBL,EAAE,IAAIA,EAAE,EAAhC;IACA,KAAKsgJ,UAAL,GAAkB,IAAlB;EACH;;EACDhhI,SAAS,CAACjL,QAAD,EAAW;IAChB1O,SAAS,IAAIyzE,aAAa,CAAC,KAAKknE,UAAN,EAAkB,4BAAlB,CAA1B;IACA,KAAKA,UAAL,CAAgB7/I,IAAhB,CAAqB4T,QAArB;EACH;;AA3CmC;;AA6CxC,MAAMmsI,eAAN,SAA8BL,iBAA9B,CAAgD;EAC5CllJ,WAAW,CAACwlJ,UAAD,EAAa;IACpB;IACA,KAAKA,UAAL,GAAkBA,UAAlB;EACH;;EACDz2I,MAAM,CAACuoD,cAAD,EAAiB;IACnB,OAAO,IAAIxc,WAAJ,CAAgB,KAAK0qG,UAArB,EAAiCluF,cAAjC,CAAP;EACH;;AAP2C;;AAShD,MAAMmuF,6BAAN,SAA4CR,aAA5C,CAA0D;EACtDjlJ,WAAW,CAACwK,SAAD,EAAY4B,MAAZ,EAAoBnM,MAApB,EAA4B;IACnC;IACA,KAAKwiI,wBAAL,GAAgC,IAAI1B,wBAAJ,CAA6B,IAA7B,CAAhC;IACA,KAAKz1C,QAAL,GAAgB,IAAhB;IACA,MAAMl0B,QAAQ,GAAG,IAAIsoD,UAAJ,CAAe,CAC5B,GAAGl1G,SADyB,EAE5B;MAAEpJ,OAAO,EAAE6jJ,aAAX;MAA0Bt9E,QAAQ,EAAE;IAApC,CAF4B,EAG5B;MAAEvmE,OAAO,EAAE4gH,0BAAX;MAAuCr6C,QAAQ,EAAE,KAAK86D;IAAtD,CAH4B,CAAf,EAIdr2H,MAAM,IAAIozG,eAAe,EAJX,EAIev/G,MAJf,EAIuB,IAAI6pB,GAAJ,CAAQ,CAAC,aAAD,CAAR,CAJvB,CAAjB;IAKA,KAAKstC,QAAL,GAAgBA,QAAhB;IACAA,QAAQ,CAACwpD,2BAAT;EACH;;EACD97F,OAAO,GAAG;IACN,KAAKsyC,QAAL,CAActyC,OAAd;EACH;;EACDT,SAAS,CAACjL,QAAD,EAAW;IAChB,KAAKg+C,QAAL,CAAc/yC,SAAd,CAAwBjL,QAAxB;EACH;;AAlBqD;AAoB1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASssI,yBAAT,CAAmCl7I,SAAnC,EAA8C4B,MAA9C,EAAsDu5I,SAAS,GAAG,IAAlE,EAAwE;EACpE,MAAM7pG,OAAO,GAAG,IAAI2pG,6BAAJ,CAAkCj7I,SAAlC,EAA6C4B,MAA7C,EAAqDu5I,SAArD,CAAhB;EACA,OAAO7pG,OAAO,CAACsb,QAAf;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwuF,iBAAN,CAAwB;EACpB5lJ,WAAW,CAAC6lJ,SAAD,EAAY;IACnB,KAAKA,SAAL,GAAiBA,SAAjB;IACA,KAAKC,eAAL,GAAuB,IAAIp7H,GAAJ,EAAvB;EACH;;EACDq7H,6BAA6B,CAAC38C,YAAD,EAAe;IACxC,IAAI,CAACA,YAAY,CAAC1yC,UAAlB,EAA8B;MAC1B,OAAO,IAAP;IACH;;IACD,IAAI,CAAC,KAAKovF,eAAL,CAAqBn4H,GAArB,CAAyBy7E,YAAY,CAAClpG,EAAtC,CAAL,EAAgD;MAC5C,MAAMsK,SAAS,GAAGgzG,2BAA2B,CAAC,KAAD,EAAQpU,YAAY,CAACnoG,IAArB,CAA7C;MACA,MAAM+kJ,kBAAkB,GAAGx7I,SAAS,CAACnG,MAAV,GAAmB,CAAnB,GACvBqhJ,yBAAyB,CAAC,CAACl7I,SAAD,CAAD,EAAc,KAAKq7I,SAAnB,EAA+B,cAAaz8C,YAAY,CAACnoG,IAAb,CAAkBD,IAAK,GAAnE,CADF,GAEvB,IAFJ;MAGA,KAAK8kJ,eAAL,CAAqBv6H,GAArB,CAAyB69E,YAAY,CAAClpG,EAAtC,EAA0C8lJ,kBAA1C;IACH;;IACD,OAAO,KAAKF,eAAL,CAAqB96H,GAArB,CAAyBo+E,YAAY,CAAClpG,EAAtC,CAAP;EACH;;EACDq/C,WAAW,GAAG;IACV,IAAI;MACA,KAAK,MAAM6X,QAAX,IAAuB,KAAK0uF,eAAL,CAAqB9wI,MAArB,EAAvB,EAAsD;QAClD,IAAIoiD,QAAQ,KAAK,IAAjB,EAAuB;UACnBA,QAAQ,CAACtyC,OAAT;QACH;MACJ;IACJ,CAND,SAOQ;MACJ,KAAKghI,eAAL,CAAqBxqH,KAArB;IACH;EACJ;;AA7BmB;AA+BxB;;;AACAsqH,iBAAiB,CAACh3H,KAAlB,GAA0B0sB,kBAAkB,CAAC;EACzCjhB,KAAK,EAAEurH,iBADkC;EAEzCtpG,UAAU,EAAE,aAF6B;EAGzCkmB,OAAO,EAAE,MAAM,IAAIojF,iBAAJ,CAAsB3rG,QAAQ,CAACwlE,mBAAD,CAA9B;AAH0B,CAAD,CAA5C;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASwmC,mBAAT,CAA6Bl7D,UAA7B,EAAyC;EACrCA,UAAU,CAAC7G,qBAAX,GAAoC5sB,cAAD,IAAoB;IACnD,OAAOA,cAAc,CAACtsC,GAAf,CAAmB46H,iBAAnB,EAAsCG,6BAAtC,CAAoEh7D,UAApE,CAAP;EACH,CAFD;AAGH;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,SAASm7D,YAAT,CAAsB17H,OAAtB,EAA+B;EAC3B9f,SAAS,IAAIy7I,gBAAgB,CAAC37H,OAAD,CAA7B;EACA,MAAMhZ,OAAO,GAAG44F,WAAW,CAAC5/E,OAAD,CAA3B;EACA,IAAIhZ,OAAO,KAAK,IAAhB,EACI,OAAO,IAAP;;EACJ,IAAIA,OAAO,CAACq0F,SAAR,KAAsBnhG,SAA1B,EAAqC;IACjC,MAAM6jF,KAAK,GAAG/2E,OAAO,CAAC+2E,KAAtB;;IACA,IAAIA,KAAK,KAAK,IAAd,EAAoB;MAChB,OAAO,IAAP;IACH;;IACD/2E,OAAO,CAACq0F,SAAR,GAAoBsG,uBAAuB,CAAC36F,OAAO,CAACu7E,SAAT,EAAoBxE,KAApB,CAA3C;EACH;;EACD,OAAO/2E,OAAO,CAACq0F,SAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASugD,UAAT,CAAoB57H,OAApB,EAA6B;EACzB27H,gBAAgB,CAAC37H,OAAD,CAAhB;EACA,MAAMhZ,OAAO,GAAG44F,WAAW,CAAC5/E,OAAD,CAA3B;EACA,MAAM+9D,KAAK,GAAG/2E,OAAO,GAAGA,OAAO,CAAC+2E,KAAX,GAAmB,IAAxC;EACA,OAAOA,KAAK,KAAK,IAAV,GAAiB,IAAjB,GAAwBA,KAAK,CAAChC,OAAD,CAApC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8/D,kBAAT,CAA4BC,YAA5B,EAA0C;EACtC,MAAM90I,OAAO,GAAG44F,WAAW,CAACk8C,YAAD,CAA3B;EACA,IAAI/9D,KAAK,GAAG/2E,OAAO,GAAGA,OAAO,CAAC+2E,KAAX,GAAmB,IAAtC;EACA,IAAIA,KAAK,KAAK,IAAd,EACI,OAAO,IAAP;EACJ,IAAIn8E,MAAJ;;EACA,OAAOm8E,KAAK,CAACvC,KAAD,CAAL,CAAa/kF,IAAb,KAAsB;EAAE;EAAxB,IAAqDmL,MAAM,GAAG0gG,cAAc,CAACvkB,KAAD,CAA5E,CAAP,EAA6F;IACzFA,KAAK,GAAGn8E,MAAR;EACH;;EACD,OAAOm8E,KAAK,CAACtC,KAAD,CAAL,GAAe;EAAI;EAAnB,EAA6C,IAA7C,GAAoDsC,KAAK,CAAChC,OAAD,CAAhE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASggE,iBAAT,CAA2BD,YAA3B,EAAyC;EACrC,MAAM/9D,KAAK,GAAG8iB,gBAAgB,CAACi7C,YAAD,CAA9B;EACA,OAAO/9D,KAAK,KAAK,IAAV,GAAiB,CAAC0kB,cAAc,CAAC1kB,KAAD,CAAf,CAAjB,GAA2C,EAAlD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASi+D,WAAT,CAAqBF,YAArB,EAAmC;EAC/B,MAAM90I,OAAO,GAAG44F,WAAW,CAACk8C,YAAD,CAA3B;EACA,MAAM/9D,KAAK,GAAG/2E,OAAO,GAAGA,OAAO,CAAC+2E,KAAX,GAAmB,IAAxC;EACA,IAAIA,KAAK,KAAK,IAAd,EACI,OAAO9sC,QAAQ,CAACwmE,IAAhB;EACJ,MAAM5gC,KAAK,GAAGkH,KAAK,CAACvC,KAAD,CAAL,CAAa/jF,IAAb,CAAkBuP,OAAO,CAACu7E,SAA1B,CAAd;EACA,OAAO,IAAIwO,YAAJ,CAAiBla,KAAjB,EAAwBkH,KAAxB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASk+D,kBAAT,CAA4Bj8H,OAA5B,EAAqC;EACjC,MAAMhZ,OAAO,GAAG44F,WAAW,CAAC5/E,OAAD,CAA3B;EACA,MAAM+9D,KAAK,GAAG/2E,OAAO,GAAGA,OAAO,CAAC+2E,KAAX,GAAmB,IAAxC;EACA,IAAIA,KAAK,KAAK,IAAd,EACI,OAAO,EAAP;EACJ,MAAMjH,KAAK,GAAGiH,KAAK,CAACvC,KAAD,CAAnB;EACA,MAAM3E,KAAK,GAAGC,KAAK,CAACr/E,IAAN,CAAWuP,OAAO,CAACu7E,SAAnB,CAAd;EACA,MAAM25D,cAAc,GAAG,EAAvB;EACA,MAAMp2H,UAAU,GAAG+wD,KAAK,CAACmZ,eAAN,GAAwB;EAAQ;EAAnD;EACA,MAAMM,QAAQ,GAAGzZ,KAAK,CAAC8R,YAAvB;;EACA,KAAK,IAAIviF,CAAC,GAAG0f,UAAb,EAAyB1f,CAAC,GAAGkqF,QAA7B,EAAuClqF,CAAC,EAAxC,EAA4C;IACxC,IAAIlN,KAAK,GAAG49E,KAAK,CAACr/E,IAAN,CAAW2O,CAAX,CAAZ;;IACA,IAAI+1I,kBAAkB,CAACjjJ,KAAD,CAAtB,EAA+B;MAC3B;MACA;MACA;MACA;MACAA,KAAK,GAAGA,KAAK,CAACzC,IAAd;IACH;;IACDylJ,cAAc,CAAClhJ,IAAf,CAAoB9B,KAApB;EACH;;EACD,OAAOgjJ,cAAP;AACH;AACD;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,SAASE,aAAT,CAAuBzzH,IAAvB,EAA6B;EACzB;EACA,IAAIA,IAAI,YAAY0zH,IAApB,EAA0B;IACtB,OAAO,EAAP;EACH;;EACD,MAAMr1I,OAAO,GAAG44F,WAAW,CAACj3E,IAAD,CAA3B;EACA,MAAMo1D,KAAK,GAAG/2E,OAAO,GAAGA,OAAO,CAAC+2E,KAAX,GAAmB,IAAxC;;EACA,IAAIA,KAAK,KAAK,IAAd,EAAoB;IAChB,OAAO,EAAP;EACH;;EACD,MAAMjH,KAAK,GAAGiH,KAAK,CAACvC,KAAD,CAAnB;EACA,MAAM+G,SAAS,GAAGv7E,OAAO,CAACu7E,SAA1B;;EACA,IAAI,CAACzL,KAAK,EAAEr/E,IAAP,CAAY8qF,SAAZ,CAAL,EAA6B;IACzB,OAAO,EAAP;EACH;;EACD,IAAIv7E,OAAO,CAACszE,UAAR,KAAuBpgF,SAA3B,EAAsC;IAClC8M,OAAO,CAACszE,UAAR,GAAqB6lB,wBAAwB,CAAC5d,SAAD,EAAYxE,KAAZ,EAAmB,KAAnB,CAA7C;EACH,CAjBwB,CAkBzB;EACA;;;EACA,OAAO/2E,OAAO,CAACszE,UAAR,KAAuB,IAAvB,GAA8B,EAA9B,GAAmC,CAAC,GAAGtzE,OAAO,CAACszE,UAAZ,CAA1C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgiE,sBAAT,CAAgCC,4BAAhC,EAA8D;EAC1D,MAAM;IAAE/mJ;EAAF,IAAkB+mJ,4BAAxB;;EACA,IAAI,CAAC/mJ,WAAL,EAAkB;IACd,MAAM,IAAIiP,KAAJ,CAAU,yCAAV,CAAN;EACH,CAJyD,CAK1D;EACA;;;EACA,MAAMm6F,YAAY,GAAGpkB,eAAe,CAAChlF,WAAD,CAApC;;EACA,IAAIopG,YAAJ,EAAkB;IACd,OAAO;MACHliG,MAAM,EAAEkiG,YAAY,CAACliG,MADlB;MAEHC,OAAO,EAAEiiG,YAAY,CAACjiG,OAFnB;MAGHi9E,aAAa,EAAEglB,YAAY,CAAChlB,aAHzB;MAIHv7E,eAAe,EAAEugG,YAAY,CAACrlB,MAAb,GAAsBppF,uBAAuB,CAACmQ,MAA9C,GACbnQ,uBAAuB,CAAC6lF;IALzB,CAAP;EAOH;;EACD,MAAMqS,YAAY,GAAG5N,eAAe,CAACjlF,WAAD,CAApC;;EACA,IAAI6yF,YAAJ,EAAkB;IACd,OAAO;MAAE3rF,MAAM,EAAE2rF,YAAY,CAAC3rF,MAAvB;MAA+BC,OAAO,EAAE0rF,YAAY,CAAC1rF;IAArD,CAAP;EACH;;EACD,OAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6/I,YAAT,CAAsBn9I,MAAtB,EAA8B;EAC1B,MAAM2H,OAAO,GAAG44F,WAAW,CAACvgG,MAAD,CAA3B;EACA,IAAI2H,OAAO,KAAK,IAAhB,EACI,OAAO,EAAP;;EACJ,IAAIA,OAAO,CAACyqH,SAAR,KAAsBv3H,SAA1B,EAAqC;IACjC,MAAM6jF,KAAK,GAAG/2E,OAAO,CAAC+2E,KAAtB;;IACA,IAAIA,KAAK,KAAK,IAAd,EAAoB;MAChB,OAAO,EAAP;IACH;;IACD/2E,OAAO,CAACyqH,SAAR,GAAoB7vB,iBAAiB,CAAC7jB,KAAD,EAAQ/2E,OAAO,CAACu7E,SAAhB,CAArC;EACH;;EACD,OAAOv7E,OAAO,CAACyqH,SAAR,IAAqB,EAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgrB,cAAT,CAAwBC,oBAAxB,EAA8C;EAC1C,OAAO98C,WAAW,CAAC88C,oBAAD,CAAX,CAAkCpxD,MAAzC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqxD,eAAT,CAAyBthD,SAAzB,EAAoC;EAChC,MAAMp8D,WAAW,GAAGw9G,cAAc,CAACphD,SAAD,CAAlC;EACA,OAAOp8D,WAAW,CAAC2qF,WAAZ,IAA2B,EAAlC;AACH;AACD;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,SAASgzB,YAAT,CAAsB58H,OAAtB,EAA+B;EAC3B9f,SAAS,IAAIy7I,gBAAgB,CAAC37H,OAAD,CAA7B;EACA,MAAM68H,QAAQ,GAAGj9C,WAAW,CAAC5/E,OAAD,CAA5B;EACA,MAAM+9D,KAAK,GAAG8+D,QAAQ,KAAK,IAAb,GAAoB,IAApB,GAA2BA,QAAQ,CAAC9+D,KAAlD;EACA,IAAIA,KAAK,KAAK,IAAd,EACI,OAAO,EAAP;EACJ,MAAMjH,KAAK,GAAGiH,KAAK,CAACvC,KAAD,CAAnB;EACA,MAAMyqB,QAAQ,GAAGloB,KAAK,CAACjC,OAAD,CAAtB;EACA,MAAMkqB,QAAQ,GAAGlvB,KAAK,CAAC1K,OAAvB;EACA,MAAM3sC,SAAS,GAAG,EAAlB;;EACA,IAAIumE,QAAQ,IAAIC,QAAhB,EAA0B;IACtB,KAAK,IAAI7/F,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4/F,QAAQ,CAACnsG,MAA7B,GAAsC;MAClC,MAAMijJ,UAAU,GAAG92C,QAAQ,CAAC5/F,CAAC,EAAF,CAA3B;MACA,MAAM22I,WAAW,GAAG/2C,QAAQ,CAAC5/F,CAAC,EAAF,CAA5B;;MACA,IAAI,OAAO02I,UAAP,KAAsB,QAA1B,EAAoC;QAChC,MAAMtmJ,IAAI,GAAGsmJ,UAAb;QACA,MAAME,eAAe,GAAGl7D,WAAW,CAAC/D,KAAK,CAACg/D,WAAD,CAAN,CAAnC;QACA,MAAMnuI,QAAQ,GAAGq3F,QAAQ,CAACD,QAAQ,CAAC5/F,CAAC,EAAF,CAAT,CAAzB;QACA,MAAM62I,gBAAgB,GAAGj3C,QAAQ,CAAC5/F,CAAC,EAAF,CAAjC,CAJgC,CAKhC;QACA;QACA;;QACA,MAAM3P,IAAI,GAAI,OAAOwmJ,gBAAP,KAA4B,SAA5B,IAAyCA,gBAAgB,IAAI,CAA9D,GAAmE,KAAnE,GAA2E,QAAxF;QACA,MAAM7d,UAAU,GAAG,OAAO6d,gBAAP,KAA4B,SAA5B,GAAwCA,gBAAxC,GAA2D,KAA9E;;QACA,IAAIj9H,OAAO,IAAIg9H,eAAf,EAAgC;UAC5Bv9G,SAAS,CAACzkC,IAAV,CAAe;YAAEglB,OAAF;YAAWxpB,IAAX;YAAiBoY,QAAjB;YAA2BwwH,UAA3B;YAAuC3oI;UAAvC,CAAf;QACH;MACJ;IACJ;EACJ;;EACDgpC,SAAS,CAACiD,IAAV,CAAew6G,aAAf;EACA,OAAOz9G,SAAP;AACH;;AACD,SAASy9G,aAAT,CAAuBrtI,CAAvB,EAA0BC,CAA1B,EAA6B;EACzB,IAAID,CAAC,CAACrZ,IAAF,IAAUsZ,CAAC,CAACtZ,IAAhB,EACI,OAAO,CAAP;EACJ,OAAOqZ,CAAC,CAACrZ,IAAF,GAASsZ,CAAC,CAACtZ,IAAX,GAAkB,CAAC,CAAnB,GAAuB,CAA9B;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS2lJ,kBAAT,CAA4B3gJ,GAA5B,EAAiC;EAC7B,OAAOA,GAAG,CAAC/E,IAAJ,KAAayD,SAAb,IAA0BsB,GAAG,CAACyB,QAAJ,KAAiB/C,SAA3C,IAAwDsB,GAAG,CAACw9E,cAAJ,KAAuB9+E,SAAtF;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASijJ,cAAT,CAAwBn9H,OAAxB,EAAiC;EAC7B,IAAI9f,SAAS,IAAI,EAAE8f,OAAO,YAAY8zD,IAArB,CAAjB,EAA6C;IACzC,MAAM,IAAIrvE,KAAJ,CAAU,mCAAV,CAAN;EACH;;EACD,MAAMo4I,QAAQ,GAAGj9C,WAAW,CAAC5/E,OAAD,CAA5B;EACA,MAAM+9D,KAAK,GAAG8+D,QAAQ,GAAGA,QAAQ,CAAC9+D,KAAZ,GAAoB,IAA1C;;EACA,IAAIA,KAAK,KAAK,IAAd,EAAoB;IAChB,OAAO,IAAP;EACH;;EACD,MAAMwE,SAAS,GAAGs6D,QAAQ,CAACt6D,SAA3B;;EACA,IAAIA,SAAS,KAAK,CAAC,CAAnB,EAAsB;IAClB,MAAM66D,YAAY,GAAGr/D,KAAK,CAACwE,SAAD,CAA1B,CADkB,CAElB;IACA;;IACA,MAAM1L,KAAK,GAAG0G,OAAO,CAAC6/D,YAAD,CAAP,GAAwBA,YAAY,CAACvhE,MAAD,CAApC,GAA+CuG,QAAQ,CAACrE,KAAK,CAACvC,KAAD,CAAN,EAAe+G,SAAf,CAArE;IACAriF,SAAS,IACLizE,WAAW,CAAC0D,KAAK,CAACvkF,KAAP,EAAciwF,SAAd,EAAyB,gDAAzB,CADf;IAEA,OAAOklC,cAAc,CAAC5wC,KAAD,EAAQkH,KAAR,CAArB;EACH;;EACD,OAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASs/D,iBAAT,CAA2Bh+I,MAA3B,EAAmC;EAC/B,MAAMw9I,QAAQ,GAAGj9C,WAAW,CAACvgG,MAAD,CAA5B;EACA,MAAMi+I,QAAQ,GAAGT,QAAQ,CAACt6D,SAA1B;EACA,MAAMxE,KAAK,GAAG8+D,QAAQ,CAAC9+D,KAAvB;EACA79E,SAAS,IAAI4+E,WAAW,CAACf,KAAD,CAAxB;EACA,MAAMorB,cAAc,GAAGprB,KAAK,CAACu/D,QAAD,CAA5B;EACAp9I,SAAS,IAAI4+E,WAAW,CAACqqB,cAAD,CAAxB;EACA,OAAOA,cAAP;AACH;AACD;;;AACA,SAASwyC,gBAAT,CAA0BziJ,KAA1B,EAAiC;EAC7B,IAAI,OAAOmpB,OAAP,KAAmB,WAAnB,IAAkC,EAAEnpB,KAAK,YAAYmpB,OAAnB,CAAtC,EAAmE;IAC/D,MAAM,IAAI5d,KAAJ,CAAU,mCAAV,CAAN;EACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS84I,gBAAT,CAA0B9mJ,IAA1B,EAAgCs9C,UAAhC,EAA4Cz1C,cAA5C,EAA4D65F,cAA5D,EAA4E;EACxE,OAAOviB,aAAa,CAAC,MAAM;IACvB,MAAM4nE,KAAK,GAAG/mJ,IAAd;;IACA,IAAIs9C,UAAU,KAAK,IAAnB,EAAyB;MACrB,IAAIypG,KAAK,CAACh4H,cAAN,CAAqB,YAArB,KAAsCg4H,KAAK,CAACzpG,UAAN,KAAqB75C,SAA/D,EAA0E;QACtEsjJ,KAAK,CAACzpG,UAAN,CAAiB/4C,IAAjB,CAAsB,GAAG+4C,UAAzB;MACH,CAFD,MAGK;QACDypG,KAAK,CAACzpG,UAAN,GAAmBA,UAAnB;MACH;IACJ;;IACD,IAAIz1C,cAAc,KAAK,IAAvB,EAA6B;MACzB;MACA;MACA;MACAk/I,KAAK,CAACl/I,cAAN,GAAuBA,cAAvB;IACH;;IACD,IAAI65F,cAAc,KAAK,IAAvB,EAA6B;MACzB;MACA;MACA;MACA;MACA,IAAIqlD,KAAK,CAACh4H,cAAN,CAAqB,gBAArB,KAA0Cg4H,KAAK,CAACrlD,cAAN,KAAyBj+F,SAAvE,EAAkF;QAC9EsjJ,KAAK,CAACrlD,cAAN,GAAuB,EAAE,GAAGqlD,KAAK,CAACrlD,cAAX;UAA2B,GAAGA;QAA9B,CAAvB;MACH,CAFD,MAGK;QACDqlD,KAAK,CAACrlD,cAAN,GAAuBA,cAAvB;MACH;IACJ;EACJ,CA5BmB,CAApB;AA6BH;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,SAASslD,eAAT,CAAyBC,UAAzB,EAAqCC,MAArC,EAA6CrvI,OAA7C,EAAsD;EAClD,MAAM62E,YAAY,GAAGH,cAAc,KAAK04D,UAAxC;EACA,MAAM3/D,KAAK,GAAGiG,QAAQ,EAAtB;EACA,OAAOjG,KAAK,CAACoH,YAAD,CAAL,KAAwB23B,SAAxB,GACHoe,aAAa,CAACn9C,KAAD,EAAQoH,YAAR,EAAsB72E,OAAO,GAAGqvI,MAAM,CAACr6I,IAAP,CAAYgL,OAAZ,CAAH,GAA0BqvI,MAAM,EAA7D,CADV,GAEHxiB,UAAU,CAACp9C,KAAD,EAAQoH,YAAR,CAFd;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS1nF,eAAT,CAAyBigJ,UAAzB,EAAqCC,MAArC,EAA6CrhI,GAA7C,EAAkDhO,OAAlD,EAA2D;EACvD,OAAOsvI,qBAAqB,CAAC55D,QAAQ,EAAT,EAAagB,cAAc,EAA3B,EAA+B04D,UAA/B,EAA2CC,MAA3C,EAAmDrhI,GAAnD,EAAwDhO,OAAxD,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuvI,eAAT,CAAyBH,UAAzB,EAAqCC,MAArC,EAA6CpiB,IAA7C,EAAmDC,IAAnD,EAAyDltH,OAAzD,EAAkE;EAC9D,OAAOwvI,qBAAqB,CAAC95D,QAAQ,EAAT,EAAagB,cAAc,EAA3B,EAA+B04D,UAA/B,EAA2CC,MAA3C,EAAmDpiB,IAAnD,EAAyDC,IAAzD,EAA+DltH,OAA/D,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyvI,eAAT,CAAyBL,UAAzB,EAAqCC,MAArC,EAA6CpiB,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DrtH,OAA/D,EAAwE;EACpE,OAAO0vI,qBAAqB,CAACh6D,QAAQ,EAAT,EAAagB,cAAc,EAA3B,EAA+B04D,UAA/B,EAA2CC,MAA3C,EAAmDpiB,IAAnD,EAAyDC,IAAzD,EAA+DG,IAA/D,EAAqErtH,OAArE,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2vI,eAAT,CAAyBP,UAAzB,EAAqCC,MAArC,EAA6CpiB,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DE,IAA/D,EAAqEvtH,OAArE,EAA8E;EAC1E,OAAO4vI,qBAAqB,CAACl6D,QAAQ,EAAT,EAAagB,cAAc,EAA3B,EAA+B04D,UAA/B,EAA2CC,MAA3C,EAAmDpiB,IAAnD,EAAyDC,IAAzD,EAA+DG,IAA/D,EAAqEE,IAArE,EAA2EvtH,OAA3E,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6vI,eAAT,CAAyBT,UAAzB,EAAqCC,MAArC,EAA6CpiB,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DE,IAA/D,EAAqEuiB,IAArE,EAA2E9vI,OAA3E,EAAoF;EAChF,MAAM62E,YAAY,GAAGH,cAAc,KAAK04D,UAAxC;EACA,MAAM3/D,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMy3C,SAAS,GAAGG,eAAe,CAAC79C,KAAD,EAAQoH,YAAR,EAAsBo2C,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,EAAwCE,IAAxC,CAAjC;EACA,OAAOT,cAAc,CAACr9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0Bi5D,IAA1B,CAAd,IAAiD3iB,SAAjD,GACHP,aAAa,CAACn9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0B72E,OAAO,GAAGqvI,MAAM,CAACr6I,IAAP,CAAYgL,OAAZ,EAAqBitH,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,EAAuCE,IAAvC,EAA6CuiB,IAA7C,CAAH,GAC1CT,MAAM,CAACpiB,IAAD,EAAOC,IAAP,EAAaG,IAAb,EAAmBE,IAAnB,EAAyBuiB,IAAzB,CADG,CADV,GAGHjjB,UAAU,CAACp9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,CAHd;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASk5D,eAAT,CAAyBX,UAAzB,EAAqCC,MAArC,EAA6CpiB,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DE,IAA/D,EAAqEuiB,IAArE,EAA2EE,IAA3E,EAAiFhwI,OAAjF,EAA0F;EACtF,MAAM62E,YAAY,GAAGH,cAAc,KAAK04D,UAAxC;EACA,MAAM3/D,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMy3C,SAAS,GAAGG,eAAe,CAAC79C,KAAD,EAAQoH,YAAR,EAAsBo2C,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,EAAwCE,IAAxC,CAAjC;EACA,OAAOP,eAAe,CAACv9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0Bi5D,IAA1B,EAAgCE,IAAhC,CAAf,IAAwD7iB,SAAxD,GACHP,aAAa,CAACn9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0B72E,OAAO,GAAGqvI,MAAM,CAACr6I,IAAP,CAAYgL,OAAZ,EAAqBitH,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,EAAuCE,IAAvC,EAA6CuiB,IAA7C,EAAmDE,IAAnD,CAAH,GAC1CX,MAAM,CAACpiB,IAAD,EAAOC,IAAP,EAAaG,IAAb,EAAmBE,IAAnB,EAAyBuiB,IAAzB,EAA+BE,IAA/B,CADG,CADV,GAGHnjB,UAAU,CAACp9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,CAHd;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo5D,eAAT,CAAyBb,UAAzB,EAAqCC,MAArC,EAA6CpiB,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DE,IAA/D,EAAqEuiB,IAArE,EAA2EE,IAA3E,EAAiFE,IAAjF,EAAuFlwI,OAAvF,EAAgG;EAC5F,MAAM62E,YAAY,GAAGH,cAAc,KAAK04D,UAAxC;EACA,MAAM3/D,KAAK,GAAGiG,QAAQ,EAAtB;EACA,IAAIy3C,SAAS,GAAGG,eAAe,CAAC79C,KAAD,EAAQoH,YAAR,EAAsBo2C,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,EAAwCE,IAAxC,CAA/B;EACA,OAAOH,eAAe,CAAC39C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0Bi5D,IAA1B,EAAgCE,IAAhC,EAAsCE,IAAtC,CAAf,IAA8D/iB,SAA9D,GACHP,aAAa,CAACn9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0B72E,OAAO,GAAGqvI,MAAM,CAACr6I,IAAP,CAAYgL,OAAZ,EAAqBitH,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,EAAuCE,IAAvC,EAA6CuiB,IAA7C,EAAmDE,IAAnD,EAAyDE,IAAzD,CAAH,GAC1Cb,MAAM,CAACpiB,IAAD,EAAOC,IAAP,EAAaG,IAAb,EAAmBE,IAAnB,EAAyBuiB,IAAzB,EAA+BE,IAA/B,EAAqCE,IAArC,CADG,CADV,GAGHrjB,UAAU,CAACp9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,CAHd;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASs5D,eAAT,CAAyBf,UAAzB,EAAqCC,MAArC,EAA6CpiB,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DE,IAA/D,EAAqEuiB,IAArE,EAA2EE,IAA3E,EAAiFE,IAAjF,EAAuFE,IAAvF,EAA6FpwI,OAA7F,EAAsG;EAClG,MAAM62E,YAAY,GAAGH,cAAc,KAAK04D,UAAxC;EACA,MAAM3/D,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMy3C,SAAS,GAAGG,eAAe,CAAC79C,KAAD,EAAQoH,YAAR,EAAsBo2C,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,EAAwCE,IAAxC,CAAjC;EACA,OAAOD,eAAe,CAAC79C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0Bi5D,IAA1B,EAAgCE,IAAhC,EAAsCE,IAAtC,EAA4CE,IAA5C,CAAf,IAAoEjjB,SAApE,GACHP,aAAa,CAACn9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0B72E,OAAO,GAAGqvI,MAAM,CAACr6I,IAAP,CAAYgL,OAAZ,EAAqBitH,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,EAAuCE,IAAvC,EAA6CuiB,IAA7C,EAAmDE,IAAnD,EAAyDE,IAAzD,EAA+DE,IAA/D,CAAH,GAC1Cf,MAAM,CAACpiB,IAAD,EAAOC,IAAP,EAAaG,IAAb,EAAmBE,IAAnB,EAAyBuiB,IAAzB,EAA+BE,IAA/B,EAAqCE,IAArC,EAA2CE,IAA3C,CADG,CADV,GAGHvjB,UAAU,CAACp9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,CAHd;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw5D,eAAT,CAAyBjB,UAAzB,EAAqCC,MAArC,EAA6CiB,IAA7C,EAAmDtwI,OAAnD,EAA4D;EACxD,OAAOuwI,qBAAqB,CAAC76D,QAAQ,EAAT,EAAagB,cAAc,EAA3B,EAA+B04D,UAA/B,EAA2CC,MAA3C,EAAmDiB,IAAnD,EAAyDtwI,OAAzD,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwwI,0BAAT,CAAoC/gE,KAApC,EAA2CghE,gBAA3C,EAA6D;EACzD7+I,SAAS,IAAI6zE,kBAAkB,CAACgK,KAAD,EAAQghE,gBAAR,CAA/B;EACA,MAAMC,eAAe,GAAGjhE,KAAK,CAACghE,gBAAD,CAA7B;EACA,OAAOC,eAAe,KAAKliC,SAApB,GAAgC5iH,SAAhC,GAA4C8kJ,eAAnD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASpB,qBAAT,CAA+B7/D,KAA/B,EAAsCkhE,WAAtC,EAAmDvB,UAAnD,EAA+DC,MAA/D,EAAuErhI,GAAvE,EAA4EhO,OAA5E,EAAqF;EACjF,MAAM62E,YAAY,GAAG85D,WAAW,GAAGvB,UAAnC;EACA,OAAOtiB,cAAc,CAACr9C,KAAD,EAAQoH,YAAR,EAAsB7oE,GAAtB,CAAd,GACH4+G,aAAa,CAACn9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0B72E,OAAO,GAAGqvI,MAAM,CAACr6I,IAAP,CAAYgL,OAAZ,EAAqBgO,GAArB,CAAH,GAA+BqhI,MAAM,CAACrhI,GAAD,CAAtE,CADV,GAEHwiI,0BAA0B,CAAC/gE,KAAD,EAAQoH,YAAY,GAAG,CAAvB,CAF9B;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS24D,qBAAT,CAA+B//D,KAA/B,EAAsCkhE,WAAtC,EAAmDvB,UAAnD,EAA+DC,MAA/D,EAAuEpiB,IAAvE,EAA6EC,IAA7E,EAAmFltH,OAAnF,EAA4F;EACxF,MAAM62E,YAAY,GAAG85D,WAAW,GAAGvB,UAAnC;EACA,OAAOpiB,eAAe,CAACv9C,KAAD,EAAQoH,YAAR,EAAsBo2C,IAAtB,EAA4BC,IAA5B,CAAf,GACHN,aAAa,CAACn9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0B72E,OAAO,GAAGqvI,MAAM,CAACr6I,IAAP,CAAYgL,OAAZ,EAAqBitH,IAArB,EAA2BC,IAA3B,CAAH,GAAsCmiB,MAAM,CAACpiB,IAAD,EAAOC,IAAP,CAA7E,CADV,GAEHsjB,0BAA0B,CAAC/gE,KAAD,EAAQoH,YAAY,GAAG,CAAvB,CAF9B;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS64D,qBAAT,CAA+BjgE,KAA/B,EAAsCkhE,WAAtC,EAAmDvB,UAAnD,EAA+DC,MAA/D,EAAuEpiB,IAAvE,EAA6EC,IAA7E,EAAmFG,IAAnF,EAAyFrtH,OAAzF,EAAkG;EAC9F,MAAM62E,YAAY,GAAG85D,WAAW,GAAGvB,UAAnC;EACA,OAAOhiB,eAAe,CAAC39C,KAAD,EAAQoH,YAAR,EAAsBo2C,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,CAAf,GACHT,aAAa,CAACn9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0B72E,OAAO,GAAGqvI,MAAM,CAACr6I,IAAP,CAAYgL,OAAZ,EAAqBitH,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,CAAH,GAA4CgiB,MAAM,CAACpiB,IAAD,EAAOC,IAAP,EAAaG,IAAb,CAAnF,CADV,GAEHmjB,0BAA0B,CAAC/gE,KAAD,EAAQoH,YAAY,GAAG,CAAvB,CAF9B;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+4D,qBAAT,CAA+BngE,KAA/B,EAAsCkhE,WAAtC,EAAmDvB,UAAnD,EAA+DC,MAA/D,EAAuEpiB,IAAvE,EAA6EC,IAA7E,EAAmFG,IAAnF,EAAyFE,IAAzF,EAA+FvtH,OAA/F,EAAwG;EACpG,MAAM62E,YAAY,GAAG85D,WAAW,GAAGvB,UAAnC;EACA,OAAO9hB,eAAe,CAAC79C,KAAD,EAAQoH,YAAR,EAAsBo2C,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,EAAwCE,IAAxC,CAAf,GACHX,aAAa,CAACn9C,KAAD,EAAQoH,YAAY,GAAG,CAAvB,EAA0B72E,OAAO,GAAGqvI,MAAM,CAACr6I,IAAP,CAAYgL,OAAZ,EAAqBitH,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,EAAuCE,IAAvC,CAAH,GAAkD8hB,MAAM,CAACpiB,IAAD,EAAOC,IAAP,EAAaG,IAAb,EAAmBE,IAAnB,CAAzF,CADV,GAEHijB,0BAA0B,CAAC/gE,KAAD,EAAQoH,YAAY,GAAG,CAAvB,CAF9B;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS05D,qBAAT,CAA+B9gE,KAA/B,EAAsCkhE,WAAtC,EAAmDvB,UAAnD,EAA+DC,MAA/D,EAAuEiB,IAAvE,EAA6EtwI,OAA7E,EAAsF;EAClF,IAAI62E,YAAY,GAAG85D,WAAW,GAAGvB,UAAjC;EACA,IAAIjiB,SAAS,GAAG,KAAhB;;EACA,KAAK,IAAIr1H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGw4I,IAAI,CAAC/kJ,MAAzB,EAAiCuM,CAAC,EAAlC,EAAsC;IAClCg1H,cAAc,CAACr9C,KAAD,EAAQoH,YAAY,EAApB,EAAwBy5D,IAAI,CAACx4I,CAAD,CAA5B,CAAd,KAAmDq1H,SAAS,GAAG,IAA/D;EACH;;EACD,OAAOA,SAAS,GAAGP,aAAa,CAACn9C,KAAD,EAAQoH,YAAR,EAAsBw4D,MAAM,CAAC7yI,KAAP,CAAawD,OAAb,EAAsBswI,IAAtB,CAAtB,CAAhB,GACZE,0BAA0B,CAAC/gE,KAAD,EAAQoH,YAAR,CAD9B;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS5nF,MAAT,CAAgBjL,KAAhB,EAAuB4sJ,QAAvB,EAAiC;EAC7B,MAAMpoE,KAAK,GAAGmN,QAAQ,EAAtB;EACA,IAAI7I,OAAJ;EACA,MAAMkjD,aAAa,GAAGhsI,KAAK,GAAGuqF,aAA9B;;EACA,IAAI/F,KAAK,CAACF,eAAV,EAA2B;IACvB;IACA;IACAwE,OAAO,GAAG+jE,UAAU,CAACD,QAAD,EAAWpoE,KAAK,CAACsvC,YAAjB,CAApB;IACAtvC,KAAK,CAACr/E,IAAN,CAAW6mI,aAAX,IAA4BljD,OAA5B;;IACA,IAAIA,OAAO,CAACvhE,SAAZ,EAAuB;MACnB,CAACi9D,KAAK,CAACuS,YAAN,KAAuBvS,KAAK,CAACuS,YAAN,GAAqB,EAA5C,CAAD,EAAkDruF,IAAlD,CAAuDsjI,aAAvD,EAAsEljD,OAAO,CAACvhE,SAA9E;IACH;EACJ,CARD,MASK;IACDuhE,OAAO,GAAGtE,KAAK,CAACr/E,IAAN,CAAW6mI,aAAX,CAAV;EACH;;EACD,MAAM8gB,WAAW,GAAGhkE,OAAO,CAACpjB,OAAR,KAAoBojB,OAAO,CAACpjB,OAAR,GAAkBioB,aAAa,CAAC7E,OAAO,CAAC3kF,IAAT,EAAe,IAAf,CAAnD,CAApB;EACA,MAAMq4F,4BAA4B,GAAGzZ,uBAAuB,CAACl5E,iBAAD,CAA5D;;EACA,IAAI;IACA;IACA;IACA,MAAMs0F,4BAA4B,GAAG1D,uBAAuB,CAAC,KAAD,CAA5D;IACA,MAAMsyD,YAAY,GAAGD,WAAW,EAAhC;IACAryD,uBAAuB,CAAC0D,4BAAD,CAAvB;IACAtP,KAAK,CAACrK,KAAD,EAAQkN,QAAQ,EAAhB,EAAoBs6C,aAApB,EAAmC+gB,YAAnC,CAAL;IACA,OAAOA,YAAP;EACH,CARD,SASQ;IACJ;IACA;IACAhqE,uBAAuB,CAACyZ,4BAAD,CAAvB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqwD,UAAT,CAAoB3oJ,IAApB,EAA0Bm8H,QAA1B,EAAoC;EAChC,IAAIA,QAAJ,EAAc;IACV,KAAK,IAAIvsH,CAAC,GAAGusH,QAAQ,CAAC94H,MAAT,GAAkB,CAA/B,EAAkCuM,CAAC,IAAI,CAAvC,EAA0CA,CAAC,EAA3C,EAA+C;MAC3C,MAAMg1E,OAAO,GAAGu3C,QAAQ,CAACvsH,CAAD,CAAxB;;MACA,IAAI5P,IAAI,KAAK4kF,OAAO,CAAC5kF,IAArB,EAA2B;QACvB,OAAO4kF,OAAP;MACH;IACJ;EACJ;;EACD,IAAIl7E,SAAJ,EAAe;IACX,MAAM,IAAIuxE,YAAJ,CAAiB,CAAC;IAAI;IAAtB,EAA6D6tE,2BAA2B,CAAC9oJ,IAAD,CAAxF,CAAN;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8oJ,2BAAT,CAAqC9oJ,IAArC,EAA2C;EACvC,MAAMunF,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAM2a,gBAAgB,GAAG5gB,KAAK,CAACxB,0BAAD,CAA9B;EACA,MAAMv1E,OAAO,GAAG23F,gBAAgB,CAAC5iB,OAAD,CAAhC;EACA,MAAMwjE,gBAAgB,GAAGthD,yBAAyB,CAAClgB,KAAD,CAAlD;EACA,MAAMyhE,oBAAoB,GAAGx4I,OAAO,GAAI,YAAWA,OAAO,CAACxR,WAAR,CAAoBgB,IAAK,aAAxC,GAAuD,EAA3F;EACA,MAAMipJ,aAAa,GAAI,qBAAoBF,gBAAgB,GAAG,0DAAH,GACvD,qCAAsC,EAD1C;EAEA,MAAMjxF,YAAY,GAAI,aAAY93D,IAAK,uBAAsBgpJ,oBAAqB,KAAIC,aAAc,EAApG;EACA,OAAOnxF,YAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoxF,WAAT,CAAqBptJ,KAArB,EAA4BorJ,UAA5B,EAAwCthB,EAAxC,EAA4C;EACxC,MAAMkC,aAAa,GAAGhsI,KAAK,GAAGuqF,aAA9B;EACA,MAAMkB,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMq7D,YAAY,GAAGh9D,IAAI,CAACtE,KAAD,EAAQugD,aAAR,CAAzB;EACA,OAAOqhB,MAAM,CAAC5hE,KAAD,EAAQugD,aAAR,CAAN,GACHsf,qBAAqB,CAAC7/D,KAAD,EAAQiH,cAAc,EAAtB,EAA0B04D,UAA1B,EAAsC2B,YAAY,CAACzpJ,SAAnD,EAA8DwmI,EAA9D,EAAkEijB,YAAlE,CADlB,GAEHA,YAAY,CAACzpJ,SAAb,CAAuBwmI,EAAvB,CAFJ;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASz+H,WAAT,CAAqBrL,KAArB,EAA4BorJ,UAA5B,EAAwCthB,EAAxC,EAA4CE,EAA5C,EAAgD;EAC5C,MAAMgC,aAAa,GAAGhsI,KAAK,GAAGuqF,aAA9B;EACA,MAAMkB,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMq7D,YAAY,GAAGh9D,IAAI,CAACtE,KAAD,EAAQugD,aAAR,CAAzB;EACA,OAAOqhB,MAAM,CAAC5hE,KAAD,EAAQugD,aAAR,CAAN,GACHwf,qBAAqB,CAAC//D,KAAD,EAAQiH,cAAc,EAAtB,EAA0B04D,UAA1B,EAAsC2B,YAAY,CAACzpJ,SAAnD,EAA8DwmI,EAA9D,EAAkEE,EAAlE,EAAsE+iB,YAAtE,CADlB,GAEHA,YAAY,CAACzpJ,SAAb,CAAuBwmI,EAAvB,EAA2BE,EAA3B,CAFJ;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsjB,WAAT,CAAqBttJ,KAArB,EAA4BorJ,UAA5B,EAAwCthB,EAAxC,EAA4CE,EAA5C,EAAgDG,EAAhD,EAAoD;EAChD,MAAM6B,aAAa,GAAGhsI,KAAK,GAAGuqF,aAA9B;EACA,MAAMkB,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMq7D,YAAY,GAAGh9D,IAAI,CAACtE,KAAD,EAAQugD,aAAR,CAAzB;EACA,OAAOqhB,MAAM,CAAC5hE,KAAD,EAAQugD,aAAR,CAAN,GACH0f,qBAAqB,CAACjgE,KAAD,EAAQiH,cAAc,EAAtB,EAA0B04D,UAA1B,EAAsC2B,YAAY,CAACzpJ,SAAnD,EAA8DwmI,EAA9D,EAAkEE,EAAlE,EAAsEG,EAAtE,EAA0E4iB,YAA1E,CADlB,GAEHA,YAAY,CAACzpJ,SAAb,CAAuBwmI,EAAvB,EAA2BE,EAA3B,EAA+BG,EAA/B,CAFJ;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASojB,WAAT,CAAqBvtJ,KAArB,EAA4BorJ,UAA5B,EAAwCthB,EAAxC,EAA4CE,EAA5C,EAAgDG,EAAhD,EAAoDG,EAApD,EAAwD;EACpD,MAAM0B,aAAa,GAAGhsI,KAAK,GAAGuqF,aAA9B;EACA,MAAMkB,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMq7D,YAAY,GAAGh9D,IAAI,CAACtE,KAAD,EAAQugD,aAAR,CAAzB;EACA,OAAOqhB,MAAM,CAAC5hE,KAAD,EAAQugD,aAAR,CAAN,GAA+B4f,qBAAqB,CAACngE,KAAD,EAAQiH,cAAc,EAAtB,EAA0B04D,UAA1B,EAAsC2B,YAAY,CAACzpJ,SAAnD,EAA8DwmI,EAA9D,EAAkEE,EAAlE,EAAsEG,EAAtE,EAA0EG,EAA1E,EAA8EyiB,YAA9E,CAApD,GACHA,YAAY,CAACzpJ,SAAb,CAAuBwmI,EAAvB,EAA2BE,EAA3B,EAA+BG,EAA/B,EAAmCG,EAAnC,CADJ;AAEH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkjB,WAAT,CAAqBxtJ,KAArB,EAA4BorJ,UAA5B,EAAwClzI,MAAxC,EAAgD;EAC5C,MAAM8zH,aAAa,GAAGhsI,KAAK,GAAGuqF,aAA9B;EACA,MAAMkB,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMq7D,YAAY,GAAGh9D,IAAI,CAACtE,KAAD,EAAQugD,aAAR,CAAzB;EACA,OAAOqhB,MAAM,CAAC5hE,KAAD,EAAQugD,aAAR,CAAN,GACHugB,qBAAqB,CAAC9gE,KAAD,EAAQiH,cAAc,EAAtB,EAA0B04D,UAA1B,EAAsC2B,YAAY,CAACzpJ,SAAnD,EAA8D4U,MAA9D,EAAsE60I,YAAtE,CADlB,GAEHA,YAAY,CAACzpJ,SAAb,CAAuBkV,KAAvB,CAA6Bu0I,YAA7B,EAA2C70I,MAA3C,CAFJ;AAGH;;AACD,SAASm1I,MAAT,CAAgB5hE,KAAhB,EAAuBzrF,KAAvB,EAA8B;EAC1B,OAAOyrF,KAAK,CAACvC,KAAD,CAAL,CAAa/jF,IAAb,CAAkBnF,KAAlB,EAAyBoE,IAAhC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqpJ,aAAN,SAA4Bj/I,yCAA5B,CAAoC;EAChCtL,WAAW,CAACwqJ,OAAO,GAAG,KAAX,EAAkB;IACzB;IACA,KAAKC,SAAL,GAAiBD,OAAjB;EACH;;EACDtmJ,IAAI,CAACR,KAAD,EAAQ;IACR,MAAMqI,IAAN,CAAWrI,KAAX;EACH;;EACD4J,SAAS,CAACI,cAAD,EAAiBhB,KAAjB,EAAwBiB,QAAxB,EAAkC;IACvC,IAAI+8I,MAAM,GAAGh9I,cAAb;;IACA,IAAIi9I,OAAO,GAAGj+I,KAAK,KAAK,MAAM,IAAX,CAAnB;;IACA,IAAIk+I,UAAU,GAAGj9I,QAAjB;;IACA,IAAID,cAAc,IAAI,OAAOA,cAAP,KAA0B,QAAhD,EAA0D;MACtD,MAAM+M,QAAQ,GAAG/M,cAAjB;MACAg9I,MAAM,GAAGjwI,QAAQ,CAAC1O,IAAT,EAAe0F,IAAf,CAAoBgJ,QAApB,CAAT;MACAkwI,OAAO,GAAGlwI,QAAQ,CAAC/N,KAAT,EAAgB+E,IAAhB,CAAqBgJ,QAArB,CAAV;MACAmwI,UAAU,GAAGnwI,QAAQ,CAAC9M,QAAT,EAAmB8D,IAAnB,CAAwBgJ,QAAxB,CAAb;IACH;;IACD,IAAI,KAAKgwI,SAAT,EAAoB;MAChBE,OAAO,GAAGE,cAAc,CAACF,OAAD,CAAxB;;MACA,IAAID,MAAJ,EAAY;QACRA,MAAM,GAAGG,cAAc,CAACH,MAAD,CAAvB;MACH;;MACD,IAAIE,UAAJ,EAAgB;QACZA,UAAU,GAAGC,cAAc,CAACD,UAAD,CAA3B;MACH;IACJ;;IACD,MAAMh9I,IAAI,GAAG,MAAMN,SAAN,CAAgB;MAAEvB,IAAI,EAAE2+I,MAAR;MAAgBh+I,KAAK,EAAEi+I,OAAvB;MAAgCh9I,QAAQ,EAAEi9I;IAA1C,CAAhB,CAAb;;IACA,IAAIl9I,cAAc,YAAYuC,8CAA9B,EAA4C;MACxCvC,cAAc,CAACG,GAAf,CAAmBD,IAAnB;IACH;;IACD,OAAOA,IAAP;EACH;;AAhC+B;;AAkCpC,SAASi9I,cAAT,CAAwB9lJ,EAAxB,EAA4B;EACxB,OAAQrB,KAAD,IAAW;IACdsd,UAAU,CAACjc,EAAD,EAAKL,SAAL,EAAgBhB,KAAhB,CAAV;EACH,CAFD;AAGH;AACD;AACA;AACA;;;AACA,MAAMrJ,YAAY,GAAGkwJ,aAArB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASO,cAAT,GAA0B;EACtB,OAAO,KAAKC,QAAL,CAAc3qI,iBAAiB,EAA/B,GAAP;AACH;AACD;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,MAAM4qI,SAAN,CAAgB;EACZ;AACJ;AACA;AACA;AACA;EACIhrJ,WAAW,CAACirJ,wBAAwB,GAAG,KAA5B,EAAmC;IAC1C,KAAKA,wBAAL,GAAgCA,wBAAhC;IACA,KAAKt2B,KAAL,GAAa,IAAb;IACA,KAAKo2B,QAAL,GAAgB,EAAhB;IACA,KAAKG,gBAAL,GAAwB,KAAxB;IACA,KAAKC,QAAL,GAAgB,IAAhB;IACA,KAAK9mJ,MAAL,GAAc,CAAd;IACA,KAAK2R,KAAL,GAAatR,SAAb;IACA,KAAKsS,IAAL,GAAYtS,SAAZ,CAR0C,CAS1C;IACA;IACA;IACA;;IACA,MAAMo/C,MAAM,GAAG1jC,iBAAiB,EAAhC;IACA,MAAMglF,KAAK,GAAG4lD,SAAS,CAACjiJ,SAAxB;IACA,IAAI,CAACq8F,KAAK,CAACthD,MAAD,CAAV,EACIshD,KAAK,CAACthD,MAAD,CAAL,GAAgBgnG,cAAhB;EACP;EACD;AACJ;AACA;;;EACe,IAAP/0F,OAAO,GAAG;IACV,OAAO,KAAKo1F,QAAL,KAAkB,KAAKA,QAAL,GAAgB,IAAI9wJ,YAAJ,EAAlC,CAAP;EACH;EACD;AACJ;AACA;;;EACI2wB,GAAG,CAACluB,KAAD,EAAQ;IACP,OAAO,KAAKiuJ,QAAL,CAAcjuJ,KAAd,CAAP;EACH;EACD;AACJ;AACA;AACA;;;EACIkH,GAAG,CAACe,EAAD,EAAK;IACJ,OAAO,KAAKgmJ,QAAL,CAAc/mJ,GAAd,CAAkBe,EAAlB,CAAP;EACH;EACD;AACJ;AACA;AACA;;;EACIrG,MAAM,CAACqG,EAAD,EAAK;IACP,OAAO,KAAKgmJ,QAAL,CAAcrsJ,MAAd,CAAqBqG,EAArB,CAAP;EACH;EACD;AACJ;AACA;AACA;;;EACIq1B,IAAI,CAACr1B,EAAD,EAAK;IACL,OAAO,KAAKgmJ,QAAL,CAAc3wH,IAAd,CAAmBr1B,EAAnB,CAAP;EACH;EACD;AACJ;AACA;AACA;;;EACI4N,MAAM,CAAC5N,EAAD,EAAKwf,IAAL,EAAW;IACb,OAAO,KAAKwmI,QAAL,CAAcp4I,MAAd,CAAqB5N,EAArB,EAAyBwf,IAAzB,CAAP;EACH;EACD;AACJ;AACA;AACA;;;EACInf,OAAO,CAACL,EAAD,EAAK;IACR,KAAKgmJ,QAAL,CAAc3lJ,OAAd,CAAsBL,EAAtB;EACH;EACD;AACJ;AACA;AACA;;;EACI41B,IAAI,CAAC51B,EAAD,EAAK;IACL,OAAO,KAAKgmJ,QAAL,CAAcpwH,IAAd,CAAmB51B,EAAnB,CAAP;EACH;EACD;AACJ;AACA;;;EACIqmJ,OAAO,GAAG;IACN,OAAO,KAAKL,QAAL,CAAczkJ,KAAd,EAAP;EACH;;EACD5F,QAAQ,GAAG;IACP,OAAO,KAAKqqJ,QAAL,CAAcrqJ,QAAd,EAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIqkB,KAAK,CAACsmI,WAAD,EAAc1rD,gBAAd,EAAgC;IACjC;IACA;IACA,MAAM7e,IAAI,GAAG,IAAb;IACAA,IAAI,CAAC6zC,KAAL,GAAa,KAAb;IACA,MAAM22B,aAAa,GAAGxrD,OAAO,CAACurD,WAAD,CAA7B;;IACA,IAAI,KAAKH,gBAAL,GAAwB,CAACxrD,WAAW,CAAC5e,IAAI,CAACiqE,QAAN,EAAgBO,aAAhB,EAA+B3rD,gBAA/B,CAAxC,EAA0F;MACtF7e,IAAI,CAACiqE,QAAL,GAAgBO,aAAhB;MACAxqE,IAAI,CAACz8E,MAAL,GAAcinJ,aAAa,CAACjnJ,MAA5B;MACAy8E,IAAI,CAAC9pE,IAAL,GAAYs0I,aAAa,CAAC,KAAKjnJ,MAAL,GAAc,CAAf,CAAzB;MACAy8E,IAAI,CAAC9qE,KAAL,GAAas1I,aAAa,CAAC,CAAD,CAA1B;IACH;EACJ;EACD;AACJ;AACA;;;EACIC,eAAe,GAAG;IACd,IAAI,KAAKJ,QAAL,KAAkB,KAAKD,gBAAL,IAAyB,CAAC,KAAKD,wBAAjD,CAAJ,EACI,KAAKE,QAAL,CAAcjnJ,IAAd,CAAmB,IAAnB;EACP;EACD;;;EACAsnJ,QAAQ,GAAG;IACP,KAAK72B,KAAL,GAAa,IAAb;EACH;EACD;;;EACA7vG,OAAO,GAAG;IACN,KAAKixC,OAAL,CAAapoD,QAAb;IACA,KAAKooD,OAAL,CAAanpD,WAAb;EACH;;AA/HW;;AAiIhByT,MAAM,CAAC7B,QAAP;AAEA;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,MAAMu7C,WAAN,CAAkB;AAElB;AACA;AACA;AACA;;;AACAA,WAAW,CAACspB,iBAAZ,GAAgCooE,iBAAhC;AACA,MAAMC,qBAAqB,GAAG3xF,WAA9B,EACA;AACA;;AACA,MAAM4xF,aAAa,GAAG,MAAM5xF,WAAN,SAA0B2xF,qBAA1B,CAAgD;EAClE1rJ,WAAW,CAAC4rJ,iBAAD,EAAoBC,sBAApB,EAA4CC,UAA5C,EAAwD;IAC/D;IACA,KAAKF,iBAAL,GAAyBA,iBAAzB;IACA,KAAKC,sBAAL,GAA8BA,sBAA9B;IACA,KAAKC,UAAL,GAAkBA,UAAlB;EACH;;EACDxyF,kBAAkB,CAAC9nD,OAAD,EAAU4lD,QAAV,EAAoB;IAClC,MAAMgnE,aAAa,GAAG,KAAKytB,sBAAL,CAA4Bp6B,MAAlD;IACA,MAAM0M,aAAa,GAAG1G,WAAW,CAAC,KAAKm0B,iBAAN,EAAyBxtB,aAAzB,EAAwC5sH,OAAxC,EAAiD;IAAG;IAApD,EAAkF,IAAlF,EAAwF4sH,aAAa,CAACztC,SAAtG,EAAiH,IAAjH,EAAuH,IAAvH,EAA6H,IAA7H,EAAmI,IAAnI,EAAyIv5B,QAAQ,IAAI,IAArJ,CAAjC;IACA,MAAMk4C,qBAAqB,GAAG,KAAKs8C,iBAAL,CAAuB,KAAKC,sBAAL,CAA4B/uJ,KAAnD,CAA9B;IACA4N,SAAS,IAAI0+E,gBAAgB,CAACkmB,qBAAD,CAA7B;IACA6uB,aAAa,CAACn3C,sBAAD,CAAb,GAAwCsoB,qBAAxC;IACA,MAAMy8C,uBAAuB,GAAG,KAAKH,iBAAL,CAAuB1kE,OAAvB,CAAhC;;IACA,IAAI6kE,uBAAuB,KAAK,IAAhC,EAAsC;MAClC5tB,aAAa,CAACj3C,OAAD,CAAb,GAAyB6kE,uBAAuB,CAACzyF,kBAAxB,CAA2C8kE,aAA3C,CAAzB;IACH;;IACDlG,UAAU,CAACkG,aAAD,EAAgBD,aAAhB,EAA+B3sH,OAA/B,CAAV;IACA,OAAO,IAAIwuH,SAAJ,CAAc7B,aAAd,CAAP;EACH;;AAnBiE,CAAtE;AAqBA;AACA;AACA;AACA;AACA;;AACA,SAASstB,iBAAT,GAA6B;EACzB,OAAOO,iBAAiB,CAACp9D,eAAe,EAAhB,EAAoBJ,QAAQ,EAA5B,CAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw9D,iBAAT,CAA2B3uB,SAA3B,EAAsChG,SAAtC,EAAiD;EAC7C,IAAIgG,SAAS,CAACp8H,IAAV,GAAiB;EAAE;EAAvB,EAAkD;IAC9CyJ,SAAS,IAAIyzE,aAAa,CAACk/C,SAAS,CAAC5L,MAAX,EAAmB,yBAAnB,CAA1B;IACA,OAAO,IAAIk6B,aAAJ,CAAkBt0B,SAAlB,EAA6BgG,SAA7B,EAAwClb,gBAAgB,CAACkb,SAAD,EAAYhG,SAAZ,CAAxD,CAAP;EACH;;EACD,OAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMx/D,gBAAN,CAAuB;AAEvB;AACA;AACA;AACA;;;AACAA,gBAAgB,CAACwrB,iBAAjB,GAAqC4oE,sBAArC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASA,sBAAT,GAAkC;EAC9B,MAAMC,aAAa,GAAGt9D,eAAe,EAArC;EACA,OAAOu9D,kBAAkB,CAACD,aAAD,EAAgB19D,QAAQ,EAAxB,CAAzB;AACH;;AACD,MAAM49D,mBAAmB,GAAGv0F,gBAA5B,EACA;AACA;;AACA,MAAMw0F,kBAAkB,GAAG,MAAMx0F,gBAAN,SAA+Bu0F,mBAA/B,CAAmD;EAC1EpsJ,WAAW,CAACssJ,WAAD,EAAcC,UAAd,EAA0BC,UAA1B,EAAsC;IAC7C;IACA,KAAKF,WAAL,GAAmBA,WAAnB;IACA,KAAKC,UAAL,GAAkBA,UAAlB;IACA,KAAKC,UAAL,GAAkBA,UAAlB;EACH;;EACU,IAAPhiI,OAAO,GAAG;IACV,OAAO23F,gBAAgB,CAAC,KAAKoqC,UAAN,EAAkB,KAAKC,UAAvB,CAAvB;EACH;;EACW,IAARp1F,QAAQ,GAAG;IACX,OAAO,IAAImkC,YAAJ,CAAiB,KAAKgxD,UAAtB,EAAkC,KAAKC,UAAvC,CAAP;EACH;EACD;;;EACkB,IAAdl1F,cAAc,GAAG;IACjB,MAAMw/B,cAAc,GAAGwB,yBAAyB,CAAC,KAAKi0D,UAAN,EAAkB,KAAKC,UAAvB,CAAhD;;IACA,IAAI31D,iBAAiB,CAACC,cAAD,CAArB,EAAuC;MACnC,MAAMO,UAAU,GAAGH,qBAAqB,CAACJ,cAAD,EAAiB,KAAK01D,UAAtB,CAAxC;MACA,MAAMhiE,aAAa,GAAGuM,sBAAsB,CAACD,cAAD,CAA5C;MACApsF,SAAS,IAAI6/E,kBAAkB,CAAC8M,UAAD,EAAa7M,aAAb,CAA/B;MACA,MAAMsG,WAAW,GAAGuG,UAAU,CAACrR,KAAD,CAAV,CAAkB/jF,IAAlB,CAAuBuoF,aAAa,GAAG;MAAE;MAAzC,CAApB;MACA,OAAO,IAAI+Q,YAAJ,CAAiBzK,WAAjB,EAA8BuG,UAA9B,CAAP;IACH,CAND,MAOK;MACD,OAAO,IAAIkE,YAAJ,CAAiB,IAAjB,EAAuB,KAAKixD,UAA5B,CAAP;IACH;EACJ;;EACDlxH,KAAK,GAAG;IACJ,OAAO,KAAKj3B,MAAL,GAAc,CAArB,EAAwB;MACpB,KAAK8N,MAAL,CAAY,KAAK9N,MAAL,GAAc,CAA1B;IACH;EACJ;;EACD2mB,GAAG,CAACluB,KAAD,EAAQ;IACP,MAAMujI,QAAQ,GAAGosB,WAAW,CAAC,KAAKH,WAAN,CAA5B;IACA,OAAOjsB,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAACvjI,KAAD,CAA7B,IAAwC,IAA/C;EACH;;EACS,IAANuH,MAAM,GAAG;IACT,OAAO,KAAKioJ,WAAL,CAAiBjoJ,MAAjB,GAA0BwjF,uBAAjC;EACH;;EACDvuB,kBAAkB,CAACU,WAAD,EAAcxoD,OAAd,EAAuBk7I,cAAvB,EAAuC;IACrD,IAAI5vJ,KAAJ;IACA,IAAIs6D,QAAJ;;IACA,IAAI,OAAOs1F,cAAP,KAA0B,QAA9B,EAAwC;MACpC5vJ,KAAK,GAAG4vJ,cAAR;IACH,CAFD,MAGK,IAAIA,cAAc,IAAI,IAAtB,EAA4B;MAC7B5vJ,KAAK,GAAG4vJ,cAAc,CAAC5vJ,KAAvB;MACAs6D,QAAQ,GAAGs1F,cAAc,CAACt1F,QAA1B;IACH;;IACD,MAAMuC,OAAO,GAAGK,WAAW,CAACV,kBAAZ,CAA+B9nD,OAAO,IAAI,EAA1C,EAA8C4lD,QAA9C,CAAhB;IACA,KAAKu1F,MAAL,CAAYhzF,OAAZ,EAAqB78D,KAArB;IACA,OAAO68D,OAAP;EACH;;EACDlC,eAAe,CAACm1F,sBAAD,EAAyBF,cAAzB,EAAyCt1F,QAAzC,EAAmDO,gBAAnD,EAAqEgqE,mBAArE,EAA0F;IACrG,MAAMkrB,kBAAkB,GAAGD,sBAAsB,IAAI,CAACptD,MAAM,CAACotD,sBAAD,CAA5D;IACA,IAAI9vJ,KAAJ,CAFqG,CAGrG;IACA;IACA;IACA;IACA;;IACA,IAAI+vJ,kBAAJ,EAAwB;MACpB,IAAIniJ,SAAJ,EAAe;QACXizE,WAAW,CAAC,OAAO+uE,cAAP,KAA0B,QAA3B,EAAqC,IAArC,EAA2C,wEAClD,8EADkD,GAElD,iFAFkD,GAGlD,8EAHkD,GAIlD,qEAJO,CAAX;MAKH;;MACD5vJ,KAAK,GAAG4vJ,cAAR;IACH,CATD,MAUK;MACD,IAAIhiJ,SAAJ,EAAe;QACXyzE,aAAa,CAAC6G,eAAe,CAAC4nE,sBAAD,CAAhB,EAA2C,iEAAD,GAClD,+DADQ,CAAb;QAEAjvE,WAAW,CAAC,OAAO+uE,cAAP,KAA0B,QAA3B,EAAqC,IAArC,EAA2C,qEAClD,8EADkD,GAElD,sFAFkD,GAGlD,uEAHO,CAAX;MAIH;;MACD,MAAMzqI,OAAO,GAAIyqI,cAAc,IAAI,EAAnC;;MACA,IAAIhiJ,SAAS,IAAIuX,OAAO,CAAC0/G,mBAArB,IAA4C1/G,OAAO,CAACy1C,WAAxD,EAAqE;QACjEzgD,UAAU,CAAE,oFAAF,CAAV;MACH;;MACDna,KAAK,GAAGmlB,OAAO,CAACnlB,KAAhB;MACAs6D,QAAQ,GAAGn1C,OAAO,CAACm1C,QAAnB;MACAO,gBAAgB,GAAG11C,OAAO,CAAC01C,gBAA3B;MACAgqE,mBAAmB,GAAG1/G,OAAO,CAAC0/G,mBAAR,IAA+B1/G,OAAO,CAACy1C,WAA7D;IACH;;IACD,MAAMo1F,gBAAgB,GAAGD,kBAAkB,GACvCD,sBADuC,GAEvC,IAAI5rB,gBAAJ,CAAqBh8C,eAAe,CAAC4nE,sBAAD,CAApC,CAFJ;IAGA,MAAMG,eAAe,GAAG31F,QAAQ,IAAI,KAAKE,cAAzC,CAvCqG,CAwCrG;;IACA,IAAI,CAACqqE,mBAAD,IAAwBmrB,gBAAgB,CAAC5iJ,QAAjB,IAA6B,IAAzD,EAA+D;MAC3D;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,MAAM27I,SAAS,GAAGgH,kBAAkB,GAAGE,eAAH,GAAqB,KAAKz1F,cAA9D,CAjB2D,CAkB3D;MACA;MACA;;;MACA,MAAMjiD,MAAM,GAAGwwI,SAAS,CAAC76H,GAAV,CAAcy0F,mBAAd,EAAmC,IAAnC,CAAf;;MACA,IAAIpqG,MAAJ,EAAY;QACRssH,mBAAmB,GAAGtsH,MAAtB;MACH;IACJ;;IACD,MAAM23I,YAAY,GAAGF,gBAAgB,CAAC/9I,MAAjB,CAAwBg+I,eAAxB,EAAyCp1F,gBAAzC,EAA2DjzD,SAA3D,EAAsEi9H,mBAAtE,CAArB;IACA,KAAKgrB,MAAL,CAAYK,YAAY,CAAChgE,QAAzB,EAAmClwF,KAAnC;IACA,OAAOkwJ,YAAP;EACH;;EACDL,MAAM,CAAChzF,OAAD,EAAU78D,KAAV,EAAiB;IACnB,MAAMyrF,KAAK,GAAG5uB,OAAO,CAAC8hC,MAAtB;IACA,MAAMna,KAAK,GAAGiH,KAAK,CAACvC,KAAD,CAAnB;;IACA,IAAIt7E,SAAS,IAAIivD,OAAO,CAAC3sB,SAAzB,EAAoC;MAChC,MAAM,IAAI/9B,KAAJ,CAAU,oDAAV,CAAN;IACH;;IACD,IAAIm+E,uBAAuB,CAAC7E,KAAD,CAA3B,EAAoC;MAChC;MACA,MAAM0kE,OAAO,GAAG,KAAKxsJ,OAAL,CAAak5D,OAAb,CAAhB,CAFgC,CAGhC;MACA;MACA;MACA;;MACA,IAAIszF,OAAO,KAAK,CAAC,CAAjB,EAAoB;QAChB,KAAK3sB,MAAL,CAAY2sB,OAAZ;MACH,CAFD,MAGK;QACD,MAAMC,cAAc,GAAG3kE,KAAK,CAACrC,MAAD,CAA5B;QACAx7E,SAAS,IACLizE,WAAW,CAACqK,YAAY,CAACklE,cAAD,CAAb,EAA+B,IAA/B,EAAqC,+DAArC,CADf,CAFC,CAID;QACA;;QACA,MAAMC,SAAS,GAAG,IAAId,kBAAJ,CAAuBa,cAAvB,EAAuCA,cAAc,CAAC7mE,MAAD,CAArD,EAA+D6mE,cAAc,CAAChnE,MAAD,CAA7E,CAAlB;QACAinE,SAAS,CAAC7sB,MAAV,CAAiB6sB,SAAS,CAAC1sJ,OAAV,CAAkBk5D,OAAlB,CAAjB;MACH;IACJ,CAzBkB,CA0BnB;;;IACA,MAAMyzF,WAAW,GAAG,KAAKC,YAAL,CAAkBvwJ,KAAlB,CAApB;;IACA,MAAM0wF,UAAU,GAAG,KAAK8+D,WAAxB;IACAn9C,UAAU,CAAC7tB,KAAD,EAAQiH,KAAR,EAAeiF,UAAf,EAA2B4/D,WAA3B,CAAV,CA7BmB,CA8BnB;;IACA,MAAMz/C,UAAU,GAAG4E,oBAAoB,CAAC66C,WAAD,EAAc5/D,UAAd,CAAvC;IACA,MAAMzjB,QAAQ,GAAGwe,KAAK,CAAC7B,QAAD,CAAtB;IACA,MAAM0rB,WAAW,GAAGZ,gBAAgB,CAACznC,QAAD,EAAWyjB,UAAU,CAAC9F,MAAD,CAArB,CAApC;;IACA,IAAI0qB,WAAW,KAAK,IAApB,EAA0B;MACtBxD,kBAAkB,CAACttB,KAAD,EAAQkM,UAAU,CAACnH,MAAD,CAAlB,EAA4Btc,QAA5B,EAAsCwe,KAAtC,EAA6C6pB,WAA7C,EAA0DzE,UAA1D,CAAlB;IACH;;IACDh0C,OAAO,CAAC+mE,wBAAR;IACA3gC,UAAU,CAACutD,mBAAmB,CAAC9/D,UAAD,CAApB,EAAkC4/D,WAAlC,EAA+CzzF,OAA/C,CAAV;IACA,OAAOA,OAAP;EACH;;EACDH,IAAI,CAACG,OAAD,EAAUm4E,QAAV,EAAoB;IACpB,IAAIpnI,SAAS,IAAIivD,OAAO,CAAC3sB,SAAzB,EAAoC;MAChC,MAAM,IAAI/9B,KAAJ,CAAU,kDAAV,CAAN;IACH;;IACD,OAAO,KAAK09I,MAAL,CAAYhzF,OAAZ,EAAqBm4E,QAArB,CAAP;EACH;;EACDrxI,OAAO,CAACk5D,OAAD,EAAU;IACb,MAAM4zF,WAAW,GAAGd,WAAW,CAAC,KAAKH,WAAN,CAA/B;IACA,OAAOiB,WAAW,KAAK,IAAhB,GAAuBA,WAAW,CAAC9sJ,OAAZ,CAAoBk5D,OAApB,CAAvB,GAAsD,CAAC,CAA9D;EACH;;EACDxnD,MAAM,CAACrV,KAAD,EAAQ;IACV,MAAMswJ,WAAW,GAAG,KAAKC,YAAL,CAAkBvwJ,KAAlB,EAAyB,CAAC,CAA1B,CAApB;;IACA,MAAM0wJ,YAAY,GAAGv9C,UAAU,CAAC,KAAKq8C,WAAN,EAAmBc,WAAnB,CAA/B;;IACA,IAAII,YAAJ,EAAkB;MACd;MACA;MACA;MACA;MACA;MACA;MACAxtD,eAAe,CAACstD,mBAAmB,CAAC,KAAKhB,WAAN,CAApB,EAAwCc,WAAxC,CAAf;MACA/8C,YAAY,CAACm9C,YAAY,CAACxnE,KAAD,CAAb,EAAsBwnE,YAAtB,CAAZ;IACH;EACJ;;EACDltB,MAAM,CAACxjI,KAAD,EAAQ;IACV,MAAMswJ,WAAW,GAAG,KAAKC,YAAL,CAAkBvwJ,KAAlB,EAAyB,CAAC,CAA1B,CAApB;;IACA,MAAMy8D,IAAI,GAAG02C,UAAU,CAAC,KAAKq8C,WAAN,EAAmBc,WAAnB,CAAvB;IACA,MAAMK,WAAW,GAAGl0F,IAAI,IAAIymC,eAAe,CAACstD,mBAAmB,CAAC,KAAKhB,WAAN,CAApB,EAAwCc,WAAxC,CAAf,IAAuE,IAAnG;IACA,OAAOK,WAAW,GAAG,IAAIztB,SAAJ,CAAczmE,IAAd,CAAH,GAAyB,IAA3C;EACH;;EACD8zF,YAAY,CAACvwJ,KAAD,EAAQke,KAAK,GAAG,CAAhB,EAAmB;IAC3B,IAAIle,KAAK,IAAI,IAAb,EAAmB;MACf,OAAO,KAAKuH,MAAL,GAAc2W,KAArB;IACH;;IACD,IAAItQ,SAAJ,EAAe;MACXuzE,iBAAiB,CAACnhF,KAAD,EAAQ,CAAC,CAAT,EAAa,uCAAsCA,KAAM,EAAzD,CAAjB,CADW,CAEX;;MACAkhF,cAAc,CAAClhF,KAAD,EAAQ,KAAKuH,MAAL,GAAc,CAAd,GAAkB2W,KAA1B,EAAiC,OAAjC,CAAd;IACH;;IACD,OAAOle,KAAP;EACH;;AA7MyE,CAA9E;;AA+MA,SAAS2vJ,WAAT,CAAqBj/D,UAArB,EAAiC;EAC7B,OAAOA,UAAU,CAAC7F,SAAD,CAAjB;AACH;;AACD,SAAS2lE,mBAAT,CAA6B9/D,UAA7B,EAAyC;EACrC,OAAQA,UAAU,CAAC7F,SAAD,CAAV,KAA0B6F,UAAU,CAAC7F,SAAD,CAAV,GAAwB,EAAlD,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwkE,kBAAT,CAA4B9uB,SAA5B,EAAuChG,SAAvC,EAAkD;EAC9C3sH,SAAS,IAAIgrF,eAAe,CAAC2nC,SAAD,EAAY;EAAG;EAAH,EAAkC;EAAE;EAAhD,CAA5B;EACA,IAAI7vC,UAAJ;EACA,MAAMP,SAAS,GAAGoqC,SAAS,CAACgG,SAAS,CAACvgI,KAAX,CAA3B;;EACA,IAAIkrF,YAAY,CAACiF,SAAD,CAAhB,EAA6B;IACzB;IACAO,UAAU,GAAGP,SAAb;EACH,CAHD,MAIK;IACD,IAAIygE,WAAJ,CADC,CAED;IACA;IACA;IACA;;IACA,IAAIrwB,SAAS,CAACp8H,IAAV,GAAiB;IAAE;IAAvB,EAAyD;MACrDysJ,WAAW,GAAGphE,WAAW,CAACW,SAAD,CAAzB;IACH,CAFD,MAGK;MACD;MACA;MACA;MACA,MAAMljB,QAAQ,GAAGstD,SAAS,CAAC3wC,QAAD,CAA1B;MACAh8E,SAAS,IAAIA,SAAS,CAAC+3E,qBAAV,EAAb;MACAirE,WAAW,GAAG3jF,QAAQ,CAACykC,aAAT,CAAuB9jG,SAAS,GAAG,WAAH,GAAiB,EAAjD,CAAd;MACA,MAAMwzH,UAAU,GAAGxxC,gBAAgB,CAAC2wC,SAAD,EAAYhG,SAAZ,CAAnC;MACA,MAAMs2B,kBAAkB,GAAGn8C,gBAAgB,CAACznC,QAAD,EAAWm0D,UAAX,CAA3C;MACAnwB,kBAAkB,CAAChkC,QAAD,EAAW4jF,kBAAX,EAA+BD,WAA/B,EAA4Cj8C,iBAAiB,CAAC1nC,QAAD,EAAWm0D,UAAX,CAA7D,EAAqF,KAArF,CAAlB;IACH;;IACD7G,SAAS,CAACgG,SAAS,CAACvgI,KAAX,CAAT,GAA6B0wF,UAAU,GACnCywC,gBAAgB,CAAChxC,SAAD,EAAYoqC,SAAZ,EAAuBq2B,WAAvB,EAAoCrwB,SAApC,CADpB;IAEAI,aAAa,CAACpG,SAAD,EAAY7pC,UAAZ,CAAb;EACH;;EACD,OAAO,IAAI6+D,kBAAJ,CAAuB7+D,UAAvB,EAAmC6vC,SAAnC,EAA8ChG,SAA9C,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMu2B,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,6BAA6B,GAAG,CAAtC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,uBAAuB,GAAGF,+BAA+B,GAAGx4D,+BAAlC,GAAoEG,+BAApE,GAAsGs4D,6BAAtI;;AACA,MAAME,OAAN,CAAc;EACV/tJ,WAAW,CAACguJ,SAAD,EAAY;IACnB,KAAKA,SAAL,GAAiBA,SAAjB;IACA,KAAKv+H,OAAL,GAAe,IAAf;EACH;;EACD8gD,KAAK,GAAG;IACJ,OAAO,IAAIw9E,OAAJ,CAAY,KAAKC,SAAjB,CAAP;EACH;;EACDxC,QAAQ,GAAG;IACP,KAAKwC,SAAL,CAAexC,QAAf;EACH;;AAVS;;AAYd,MAAMyC,SAAN,CAAgB;EACZjuJ,WAAW,CAACuwH,OAAO,GAAG,EAAX,EAAe;IACtB,KAAKA,OAAL,GAAeA,OAAf;EACH;;EACDj3D,kBAAkB,CAACgoB,KAAD,EAAQ;IACtB,MAAM4sE,QAAQ,GAAG5sE,KAAK,CAACivC,OAAvB;;IACA,IAAI29B,QAAQ,KAAK,IAAjB,EAAuB;MACnB,MAAMC,oBAAoB,GAAG7sE,KAAK,CAACuC,cAAN,KAAyB,IAAzB,GAAgCvC,KAAK,CAACuC,cAAN,CAAqB,CAArB,CAAhC,GAA0DqqE,QAAQ,CAAC7pJ,MAAhG;MACA,MAAM+pJ,YAAY,GAAG,EAArB,CAFmB,CAGnB;MACA;MACA;MACA;;MACA,KAAK,IAAIx9I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGu9I,oBAApB,EAA0Cv9I,CAAC,EAA3C,EAA+C;QAC3C,MAAMy9I,MAAM,GAAGH,QAAQ,CAACI,UAAT,CAAoB19I,CAApB,CAAf;QACA,MAAM29I,YAAY,GAAG,KAAKh+B,OAAL,CAAa89B,MAAM,CAACG,sBAApB,CAArB;QACAJ,YAAY,CAAC5oJ,IAAb,CAAkB+oJ,YAAY,CAACh+E,KAAb,EAAlB;MACH;;MACD,OAAO,IAAI09E,SAAJ,CAAcG,YAAd,CAAP;IACH;;IACD,OAAO,IAAP;EACH;;EACDj/C,UAAU,CAAC7tB,KAAD,EAAQ;IACd,KAAKmtE,uBAAL,CAA6BntE,KAA7B;EACH;;EACD2uB,UAAU,CAAC3uB,KAAD,EAAQ;IACd,KAAKmtE,uBAAL,CAA6BntE,KAA7B;EACH;;EACDmtE,uBAAuB,CAACntE,KAAD,EAAQ;IAC3B,KAAK,IAAI1wE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK2/G,OAAL,CAAalsH,MAAjC,EAAyCuM,CAAC,EAA1C,EAA8C;MAC1C,IAAI89I,SAAS,CAACptE,KAAD,EAAQ1wE,CAAR,CAAT,CAAoB6e,OAApB,KAAgC,IAApC,EAA0C;QACtC,KAAK8gG,OAAL,CAAa3/G,CAAb,EAAgB46I,QAAhB;MACH;IACJ;EACJ;;AAlCW;;AAoChB,MAAMmD,eAAN,CAAsB;EAClB3uJ,WAAW,CAAC6Y,SAAD,EAAY6kD,KAAZ,EAAmBkxF,IAAI,GAAG,IAA1B,EAAgC;IACvC,KAAK/1I,SAAL,GAAiBA,SAAjB;IACA,KAAK6kD,KAAL,GAAaA,KAAb;IACA,KAAKkxF,IAAL,GAAYA,IAAZ;EACH;;AALiB;;AAOtB,MAAMC,SAAN,CAAgB;EACZ7uJ,WAAW,CAACuwH,OAAO,GAAG,EAAX,EAAe;IACtB,KAAKA,OAAL,GAAeA,OAAf;EACH;;EACD4Y,YAAY,CAAC7nD,KAAD,EAAQD,KAAR,EAAe;IACvB32E,SAAS,IACL6+E,qBAAqB,CAACjI,KAAD,EAAQ,gEAAR,CADzB;;IAEA,KAAK,IAAI1wE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK2/G,OAAL,CAAalsH,MAAjC,EAAyCuM,CAAC,EAA1C,EAA8C;MAC1C,KAAK2/G,OAAL,CAAa3/G,CAAb,EAAgBu4H,YAAhB,CAA6B7nD,KAA7B,EAAoCD,KAApC;IACH;EACJ;;EACD+nD,UAAU,CAAC/nD,KAAD,EAAQ;IACd,KAAK,IAAIzwE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK2/G,OAAL,CAAalsH,MAAjC,EAAyCuM,CAAC,EAA1C,EAA8C;MAC1C,KAAK2/G,OAAL,CAAa3/G,CAAb,EAAgBw4H,UAAhB,CAA2B/nD,KAA3B;IACH;EACJ;;EACD+8C,aAAa,CAAC/8C,KAAD,EAAQ;IACjB,IAAIytE,qBAAqB,GAAG,IAA5B;;IACA,KAAK,IAAIl+I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKvM,MAAzB,EAAiCuM,CAAC,EAAlC,EAAsC;MAClC,MAAMm+I,eAAe,GAAGD,qBAAqB,KAAK,IAA1B,GAAiCA,qBAAqB,CAACzqJ,MAAvD,GAAgE,CAAxF;MACA,MAAM2qJ,WAAW,GAAG,KAAKV,UAAL,CAAgB19I,CAAhB,EAAmBwtH,aAAnB,CAAiC/8C,KAAjC,EAAwC0tE,eAAxC,CAApB;;MACA,IAAIC,WAAJ,EAAiB;QACbA,WAAW,CAACR,sBAAZ,GAAqC59I,CAArC;;QACA,IAAIk+I,qBAAqB,KAAK,IAA9B,EAAoC;UAChCA,qBAAqB,CAACtpJ,IAAtB,CAA2BwpJ,WAA3B;QACH,CAFD,MAGK;UACDF,qBAAqB,GAAG,CAACE,WAAD,CAAxB;QACH;MACJ;IACJ;;IACD,OAAOF,qBAAqB,KAAK,IAA1B,GAAiC,IAAID,SAAJ,CAAcC,qBAAd,CAAjC,GAAwE,IAA/E;EACH;;EACDrnJ,QAAQ,CAAC65E,KAAD,EAAQD,KAAR,EAAe;IACnB32E,SAAS,IACL6+E,qBAAqB,CAACjI,KAAD,EAAQ,gEAAR,CADzB;;IAEA,KAAK,IAAI1wE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK2/G,OAAL,CAAalsH,MAAjC,EAAyCuM,CAAC,EAA1C,EAA8C;MAC1C,KAAK2/G,OAAL,CAAa3/G,CAAb,EAAgBnJ,QAAhB,CAAyB65E,KAAzB,EAAgCD,KAAhC;IACH;EACJ;;EACDitE,UAAU,CAACxxJ,KAAD,EAAQ;IACd4N,SAAS,IAAI6zE,kBAAkB,CAAC,KAAKgyC,OAAN,EAAezzH,KAAf,CAA/B;IACA,OAAO,KAAKyzH,OAAL,CAAazzH,KAAb,CAAP;EACH;;EACS,IAANuH,MAAM,GAAG;IACT,OAAO,KAAKksH,OAAL,CAAalsH,MAApB;EACH;;EACD4qJ,KAAK,CAACC,MAAD,EAAS;IACV,KAAK3+B,OAAL,CAAa/qH,IAAb,CAAkB0pJ,MAAlB;EACH;;AAjDW;;AAmDhB,MAAMC,OAAN,CAAc;EACVnvJ,WAAW,CAACk2B,QAAD,EAAW62D,SAAS,GAAG,CAAC,CAAxB,EAA2B;IAClC,KAAK72D,QAAL,GAAgBA,QAAhB;IACA,KAAKzG,OAAL,GAAe,IAAf;IACA,KAAK++H,sBAAL,GAA8B,CAAC,CAA/B;IACA,KAAKY,iBAAL,GAAyB,KAAzB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAKC,kBAAL,GAA0B,IAA1B;IACA,KAAKC,qBAAL,GAA6BviE,SAA7B;EACH;;EACDo8C,YAAY,CAAC7nD,KAAD,EAAQD,KAAR,EAAe;IACvB,IAAI,KAAKkuE,gBAAL,CAAsBluE,KAAtB,CAAJ,EAAkC;MAC9B,KAAKmuE,UAAL,CAAgBluE,KAAhB,EAAuBD,KAAvB;IACH;EACJ;;EACD+nD,UAAU,CAAC/nD,KAAD,EAAQ;IACd,IAAI,KAAKiuE,qBAAL,KAA+BjuE,KAAK,CAACvkF,KAAzC,EAAgD;MAC5C,KAAKuyJ,kBAAL,GAA0B,KAA1B;IACH;EACJ;;EACD5nJ,QAAQ,CAAC65E,KAAD,EAAQD,KAAR,EAAe;IACnB,KAAK8nD,YAAL,CAAkB7nD,KAAlB,EAAyBD,KAAzB;EACH;;EACD+8C,aAAa,CAAC/8C,KAAD,EAAQ0tE,eAAR,EAAyB;IAClC,IAAI,KAAKQ,gBAAL,CAAsBluE,KAAtB,CAAJ,EAAkC;MAC9B,KAAK+tE,iBAAL,GAAyB,IAAzB,CAD8B,CAE9B;MACA;;MACA,KAAKK,QAAL,CAAc,CAACpuE,KAAK,CAACvkF,KAArB,EAA4BiyJ,eAA5B;MACA,OAAO,IAAII,OAAJ,CAAY,KAAKj5H,QAAjB,CAAP;IACH;;IACD,OAAO,IAAP;EACH;;EACDq5H,gBAAgB,CAACluE,KAAD,EAAQ;IACpB,IAAI,KAAKguE,kBAAL,IACA,CAAC,KAAKn5H,QAAL,CAAcwnC,KAAd,GAAsB;IAAE;IAAzB,MAA2D;IAAE;IADjE,EAC+F;MAC3F,MAAMgyF,kBAAkB,GAAG,KAAKJ,qBAAhC;MACA,IAAIljJ,MAAM,GAAGi1E,KAAK,CAACj1E,MAAnB,CAF2F,CAG3F;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;;MACA,OAAOA,MAAM,KAAK,IAAX,IAAoBA,MAAM,CAACnL,IAAP,GAAc;MAAE;MAApC,GACHmL,MAAM,CAACtP,KAAP,KAAiB4yJ,kBADrB,EACyC;QACrCtjJ,MAAM,GAAGA,MAAM,CAACA,MAAhB;MACH;;MACD,OAAOsjJ,kBAAkB,MAAMtjJ,MAAM,KAAK,IAAX,GAAkBA,MAAM,CAACtP,KAAzB,GAAiC,CAAC,CAAxC,CAAzB;IACH;;IACD,OAAO,KAAKuyJ,kBAAZ;EACH;;EACDG,UAAU,CAACluE,KAAD,EAAQD,KAAR,EAAe;IACrB,MAAMxoE,SAAS,GAAG,KAAKqd,QAAL,CAAcrd,SAAhC;;IACA,IAAIhT,KAAK,CAACC,OAAN,CAAc+S,SAAd,CAAJ,EAA8B;MAC1B,KAAK,IAAIjI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGiI,SAAS,CAACxU,MAA9B,EAAsCuM,CAAC,EAAvC,EAA2C;QACvC,MAAM5P,IAAI,GAAG6X,SAAS,CAACjI,CAAD,CAAtB;QACA,KAAK++I,wBAAL,CAA8BruE,KAA9B,EAAqCD,KAArC,EAA4CuuE,wBAAwB,CAACvuE,KAAD,EAAQrgF,IAAR,CAApE,EAFuC,CAGvC;;QACA,KAAK2uJ,wBAAL,CAA8BruE,KAA9B,EAAqCD,KAArC,EAA4CgZ,yBAAyB,CAAChZ,KAAD,EAAQC,KAAR,EAAetgF,IAAf,EAAqB,KAArB,EAA4B,KAA5B,CAArE;MACH;IACJ,CAPD,MAQK;MACD,IAAI6X,SAAS,KAAKkhD,WAAlB,EAA+B;QAC3B,IAAIsnB,KAAK,CAACpgF,IAAN,GAAa;QAAE;QAAnB,EAA8C;UAC1C,KAAK0uJ,wBAAL,CAA8BruE,KAA9B,EAAqCD,KAArC,EAA4C,CAAC,CAA7C;QACH;MACJ,CAJD,MAKK;QACD,KAAKsuE,wBAAL,CAA8BruE,KAA9B,EAAqCD,KAArC,EAA4CgZ,yBAAyB,CAAChZ,KAAD,EAAQC,KAAR,EAAezoE,SAAf,EAA0B,KAA1B,EAAiC,KAAjC,CAArE;MACH;IACJ;EACJ;;EACD82I,wBAAwB,CAACruE,KAAD,EAAQD,KAAR,EAAewuE,YAAf,EAA6B;IACjD,IAAIA,YAAY,KAAK,IAArB,EAA2B;MACvB,MAAMjB,IAAI,GAAG,KAAK14H,QAAL,CAAc04H,IAA3B;;MACA,IAAIA,IAAI,KAAK,IAAb,EAAmB;QACf,IAAIA,IAAI,KAAKh0J,UAAT,IAAuBg0J,IAAI,KAAK/2F,gBAAhC,IACA+2F,IAAI,KAAK70F,WAAT,IAAyBsnB,KAAK,CAACpgF,IAAN,GAAa;QAAE;QAD5C,EACwE;UACpE,KAAKwuJ,QAAL,CAAcpuE,KAAK,CAACvkF,KAApB,EAA2B,CAAC,CAA5B;QACH,CAHD,MAIK;UACD,MAAMgzJ,sBAAsB,GAAGz1D,yBAAyB,CAAChZ,KAAD,EAAQC,KAAR,EAAestE,IAAf,EAAqB,KAArB,EAA4B,KAA5B,CAAxD;;UACA,IAAIkB,sBAAsB,KAAK,IAA/B,EAAqC;YACjC,KAAKL,QAAL,CAAcpuE,KAAK,CAACvkF,KAApB,EAA2BgzJ,sBAA3B;UACH;QACJ;MACJ,CAXD,MAYK;QACD,KAAKL,QAAL,CAAcpuE,KAAK,CAACvkF,KAApB,EAA2B+yJ,YAA3B;MACH;IACJ;EACJ;;EACDJ,QAAQ,CAACxlB,QAAD,EAAW8lB,QAAX,EAAqB;IACzB,IAAI,KAAKtgI,OAAL,KAAiB,IAArB,EAA2B;MACvB,KAAKA,OAAL,GAAe,CAACw6G,QAAD,EAAW8lB,QAAX,CAAf;IACH,CAFD,MAGK;MACD,KAAKtgI,OAAL,CAAajqB,IAAb,CAAkBykI,QAAlB,EAA4B8lB,QAA5B;IACH;EACJ;;AA5GS;AA8Gd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASH,wBAAT,CAAkCvuE,KAAlC,EAAyCx2E,QAAzC,EAAmD;EAC/C,MAAMwhG,UAAU,GAAGhrB,KAAK,CAACgrB,UAAzB;;EACA,IAAIA,UAAU,KAAK,IAAnB,EAAyB;IACrB,KAAK,IAAIz7F,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGy7F,UAAU,CAAChoG,MAA/B,EAAuCuM,CAAC,IAAI,CAA5C,EAA+C;MAC3C,IAAIy7F,UAAU,CAACz7F,CAAD,CAAV,KAAkB/F,QAAtB,EAAgC;QAC5B,OAAOwhG,UAAU,CAACz7F,CAAC,GAAG,CAAL,CAAjB;MACH;IACJ;EACJ;;EACD,OAAO,IAAP;AACH;;AACD,SAASo/I,uBAAT,CAAiC3uE,KAAjC,EAAwC6Q,WAAxC,EAAqD;EACjD,IAAI7Q,KAAK,CAACpgF,IAAN,IAAc;EAAE;EAAF,EAA6B;EAAE;EAA7C,CAAJ,EAAoF;IAChF,OAAOkhH,gBAAgB,CAAC9gC,KAAD,EAAQ6Q,WAAR,CAAvB;EACH,CAFD,MAGK,IAAI7Q,KAAK,CAACpgF,IAAN,GAAa;EAAE;EAAnB,EAA8C;IAC/C,OAAO+qJ,iBAAiB,CAAC3qE,KAAD,EAAQ6Q,WAAR,CAAxB;EACH;;EACD,OAAO,IAAP;AACH;;AACD,SAAS+9D,mBAAT,CAA6B1nE,KAA7B,EAAoClH,KAApC,EAA2C6uE,WAA3C,EAAwDtB,IAAxD,EAA8D;EAC1D,IAAIsB,WAAW,KAAK,CAAC,CAArB,EAAwB;IACpB;IACA,OAAOF,uBAAuB,CAAC3uE,KAAD,EAAQkH,KAAR,CAA9B;EACH,CAHD,MAIK,IAAI2nE,WAAW,KAAK,CAAC,CAArB,EAAwB;IACzB;IACA,OAAOC,kBAAkB,CAAC5nE,KAAD,EAAQlH,KAAR,EAAeutE,IAAf,CAAzB;EACH,CAHI,MAIA;IACD;IACA,OAAOt0D,iBAAiB,CAAC/R,KAAD,EAAQA,KAAK,CAACvC,KAAD,CAAb,EAAsBkqE,WAAtB,EAAmC7uE,KAAnC,CAAxB;EACH;AACJ;;AACD,SAAS8uE,kBAAT,CAA4B5nE,KAA5B,EAAmClH,KAAnC,EAA0CutE,IAA1C,EAAgD;EAC5C,IAAIA,IAAI,KAAKh0J,UAAb,EAAyB;IACrB,OAAOunH,gBAAgB,CAAC9gC,KAAD,EAAQkH,KAAR,CAAvB;EACH,CAFD,MAGK,IAAIqmE,IAAI,KAAK70F,WAAb,EAA0B;IAC3B,OAAOiyF,iBAAiB,CAAC3qE,KAAD,EAAQkH,KAAR,CAAxB;EACH,CAFI,MAGA,IAAIqmE,IAAI,KAAK/2F,gBAAb,EAA+B;IAChCntD,SAAS,IAAIgrF,eAAe,CAACrU,KAAD,EAAQ;IAAE;IAAF,EAA6B;IAAG;IAAxC,CAA5B;IACA,OAAO8qE,kBAAkB,CAAC9qE,KAAD,EAAQkH,KAAR,CAAzB;EACH,CAHI,MAIA;IACD79E,SAAS,IACLuM,UAAU,CAAE,8FAA6F0hD,SAAS,CAACi2F,IAAD,CAAO,GAA/G,CADd;EAEH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASwB,sBAAT,CAAgC9uE,KAAhC,EAAuCiH,KAAvC,EAA8C8lE,MAA9C,EAAsDgC,UAAtD,EAAkE;EAC9D,MAAMC,MAAM,GAAG/nE,KAAK,CAACrB,OAAD,CAAL,CAAeqpC,OAAf,CAAuB8/B,UAAvB,CAAf;;EACA,IAAIC,MAAM,CAAC7gI,OAAP,KAAmB,IAAvB,EAA6B;IACzB,MAAMkrG,SAAS,GAAGr5C,KAAK,CAACr/E,IAAxB;IACA,MAAMsuJ,aAAa,GAAGlC,MAAM,CAAC5+H,OAA7B;IACA,MAAMpa,MAAM,GAAG,EAAf;;IACA,KAAK,IAAIzE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2/I,aAAa,CAAClsJ,MAAlC,EAA0CuM,CAAC,IAAI,CAA/C,EAAkD;MAC9C,MAAM4/I,cAAc,GAAGD,aAAa,CAAC3/I,CAAD,CAApC;;MACA,IAAI4/I,cAAc,GAAG,CAArB,EAAwB;QACpB;QACA;QACA;QACAn7I,MAAM,CAAC7P,IAAP,CAAY,IAAZ;MACH,CALD,MAMK;QACDkF,SAAS,IAAI6zE,kBAAkB,CAACo8C,SAAD,EAAY61B,cAAZ,CAA/B;QACA,MAAMnvE,KAAK,GAAGs5C,SAAS,CAAC61B,cAAD,CAAvB;QACAn7I,MAAM,CAAC7P,IAAP,CAAYyqJ,mBAAmB,CAAC1nE,KAAD,EAAQlH,KAAR,EAAekvE,aAAa,CAAC3/I,CAAC,GAAG,CAAL,CAA5B,EAAqCy9I,MAAM,CAACn4H,QAAP,CAAgB04H,IAArD,CAA/B;MACH;IACJ;;IACD0B,MAAM,CAAC7gI,OAAP,GAAiBpa,MAAjB;EACH;;EACD,OAAOi7I,MAAM,CAAC7gI,OAAd;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASghI,mBAAT,CAA6BnvE,KAA7B,EAAoCiH,KAApC,EAA2C8nE,UAA3C,EAAuDh7I,MAAvD,EAA+D;EAC3D,MAAMg5I,MAAM,GAAG/sE,KAAK,CAACivC,OAAN,CAAc+9B,UAAd,CAAyB+B,UAAzB,CAAf;EACA,MAAME,aAAa,GAAGlC,MAAM,CAAC5+H,OAA7B;;EACA,IAAI8gI,aAAa,KAAK,IAAtB,EAA4B;IACxB,MAAMG,YAAY,GAAGN,sBAAsB,CAAC9uE,KAAD,EAAQiH,KAAR,EAAe8lE,MAAf,EAAuBgC,UAAvB,CAA3C;;IACA,KAAK,IAAIz/I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2/I,aAAa,CAAClsJ,MAAlC,EAA0CuM,CAAC,IAAI,CAA/C,EAAkD;MAC9C,MAAMq5H,QAAQ,GAAGsmB,aAAa,CAAC3/I,CAAD,CAA9B;;MACA,IAAIq5H,QAAQ,GAAG,CAAf,EAAkB;QACd50H,MAAM,CAAC7P,IAAP,CAAYkrJ,YAAY,CAAC9/I,CAAC,GAAG,CAAL,CAAxB;MACH,CAFD,MAGK;QACD,MAAMm+I,eAAe,GAAGwB,aAAa,CAAC3/I,CAAC,GAAG,CAAL,CAArC;QACA,MAAM0+F,qBAAqB,GAAG/mB,KAAK,CAAC,CAAC0hD,QAAF,CAAnC;QACAv/H,SAAS,IAAI0+E,gBAAgB,CAACkmB,qBAAD,CAA7B,CAHC,CAID;;QACA,KAAK,IAAI1+F,CAAC,GAAGi3E,uBAAb,EAAsCj3E,CAAC,GAAG0+F,qBAAqB,CAACjrG,MAAhE,EAAwEuM,CAAC,EAAzE,EAA6E;UACzE,MAAMutH,aAAa,GAAG7uB,qBAAqB,CAAC1+F,CAAD,CAA3C;;UACA,IAAIutH,aAAa,CAACn3C,sBAAD,CAAb,KAA0Cm3C,aAAa,CAACj4C,MAAD,CAA3D,EAAqE;YACjEuqE,mBAAmB,CAACtyB,aAAa,CAACn4C,KAAD,CAAd,EAAuBm4C,aAAvB,EAAsC4wB,eAAtC,EAAuD15I,MAAvD,CAAnB;UACH;QACJ,CAVA,CAWD;QACA;;;QACA,IAAIi6F,qBAAqB,CAAC1nB,WAAD,CAArB,KAAuC,IAA3C,EAAiD;UAC7C,MAAM+oE,cAAc,GAAGrhD,qBAAqB,CAAC1nB,WAAD,CAA5C;;UACA,KAAK,IAAIh3E,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+/I,cAAc,CAACtsJ,MAAnC,EAA2CuM,CAAC,EAA5C,EAAgD;YAC5C,MAAMutH,aAAa,GAAGwyB,cAAc,CAAC//I,CAAD,CAApC;YACA6/I,mBAAmB,CAACtyB,aAAa,CAACn4C,KAAD,CAAd,EAAuBm4C,aAAvB,EAAsC4wB,eAAtC,EAAuD15I,MAAvD,CAAnB;UACH;QACJ;MACJ;IACJ;EACJ;;EACD,OAAOA,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu7I,cAAT,CAAwB5C,SAAxB,EAAmC;EAC/B,MAAMzlE,KAAK,GAAGiG,QAAQ,EAAtB;EACA,MAAMlN,KAAK,GAAGmN,QAAQ,EAAtB;EACA,MAAM4hE,UAAU,GAAG7/D,oBAAoB,EAAvC;EACAC,oBAAoB,CAAC4/D,UAAU,GAAG,CAAd,CAApB;EACA,MAAMhC,MAAM,GAAGK,SAAS,CAACptE,KAAD,EAAQ+uE,UAAR,CAAxB;;EACA,IAAIrC,SAAS,CAACr5B,KAAV,IACCznC,cAAc,CAAC3E,KAAD,CAAd,MACI,CAAC8lE,MAAM,CAACn4H,QAAP,CAAgBwnC,KAAhB,GAAwB;EAAE;EAA3B,MAA0D;EAAE;EADhE,CADL,EAEkG;IAC9F,IAAI2wF,MAAM,CAAC5+H,OAAP,KAAmB,IAAvB,EAA6B;MACzBu+H,SAAS,CAACjpI,KAAV,CAAgB,EAAhB;IACH,CAFD,MAGK;MACD,MAAM1P,MAAM,GAAGg5I,MAAM,CAACe,iBAAP,GACXqB,mBAAmB,CAACnvE,KAAD,EAAQiH,KAAR,EAAe8nE,UAAf,EAA2B,EAA3B,CADR,GAEXD,sBAAsB,CAAC9uE,KAAD,EAAQiH,KAAR,EAAe8lE,MAAf,EAAuBgC,UAAvB,CAF1B;MAGArC,SAAS,CAACjpI,KAAV,CAAgB1P,MAAhB,EAAwB+sG,gBAAxB;MACA4rC,SAAS,CAACzC,eAAV;IACH;;IACD,OAAO,IAAP;EACH;;EACD,OAAO,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsF,WAAT,CAAqBh4I,SAArB,EAAgC6kD,KAAhC,EAAuCkxF,IAAvC,EAA6C;EACzClkJ,SAAS,IAAIwyE,YAAY,CAACxf,KAAD,EAAQ,iBAAR,CAAzB;EACA,MAAM4jB,KAAK,GAAGmN,QAAQ,EAAtB;;EACA,IAAInN,KAAK,CAACF,eAAV,EAA2B;IACvB0vE,YAAY,CAACxvE,KAAD,EAAQ,IAAIqtE,eAAJ,CAAoB91I,SAApB,EAA+B6kD,KAA/B,EAAsCkxF,IAAtC,CAAR,EAAqD,CAAC,CAAtD,CAAZ;;IACA,IAAI,CAAClxF,KAAK,GAAG;IAAE;IAAX,MAA0C;IAAE;IAAhD,EAA2E;MACvE4jB,KAAK,CAACmvC,iBAAN,GAA0B,IAA1B;IACH;EACJ;;EACDsgC,YAAY,CAACzvE,KAAD,EAAQkN,QAAQ,EAAhB,EAAoB9wB,KAApB,CAAZ;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASszF,cAAT,CAAwBp+D,cAAxB,EAAwC/5E,SAAxC,EAAmD6kD,KAAnD,EAA0DkxF,IAA1D,EAAgE;EAC5DlkJ,SAAS,IAAIwyE,YAAY,CAACxf,KAAD,EAAQ,iBAAR,CAAzB;EACA,MAAM4jB,KAAK,GAAGmN,QAAQ,EAAtB;;EACA,IAAInN,KAAK,CAACF,eAAV,EAA2B;IACvB,MAAMC,KAAK,GAAGuN,eAAe,EAA7B;IACAkiE,YAAY,CAACxvE,KAAD,EAAQ,IAAIqtE,eAAJ,CAAoB91I,SAApB,EAA+B6kD,KAA/B,EAAsCkxF,IAAtC,CAAR,EAAqDvtE,KAAK,CAACvkF,KAA3D,CAAZ;IACAm0J,iCAAiC,CAAC3vE,KAAD,EAAQsR,cAAR,CAAjC;;IACA,IAAI,CAACl1B,KAAK,GAAG;IAAE;IAAX,MAA0C;IAAE;IAAhD,EAA2E;MACvE4jB,KAAK,CAACovC,oBAAN,GAA6B,IAA7B;IACH;EACJ;;EACDqgC,YAAY,CAACzvE,KAAD,EAAQkN,QAAQ,EAAhB,EAAoB9wB,KAApB,CAAZ;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASwzF,WAAT,GAAuB;EACnB,OAAOC,iBAAiB,CAAC3iE,QAAQ,EAAT,EAAagC,oBAAoB,EAAjC,CAAxB;AACH;;AACD,SAAS2gE,iBAAT,CAA2B5oE,KAA3B,EAAkC8nE,UAAlC,EAA8C;EAC1C3lJ,SAAS,IACLyzE,aAAa,CAACoK,KAAK,CAACrB,OAAD,CAAN,EAAiB,wDAAjB,CADjB;EAEAx8E,SAAS,IAAI6zE,kBAAkB,CAACgK,KAAK,CAACrB,OAAD,CAAL,CAAeqpC,OAAhB,EAAyB8/B,UAAzB,CAA/B;EACA,OAAO9nE,KAAK,CAACrB,OAAD,CAAL,CAAeqpC,OAAf,CAAuB8/B,UAAvB,EAAmCrC,SAA1C;AACH;;AACD,SAAS+C,YAAT,CAAsBzvE,KAAtB,EAA6BiH,KAA7B,EAAoC7qB,KAApC,EAA2C;EACvC,MAAMswF,SAAS,GAAG,IAAIhD,SAAJ,CAAc,CAACttF,KAAK,GAAG;EAAE;EAAX,MAAyD;EAAE;EAAzE,CAAlB;EACAu8D,uBAAuB,CAAC34C,KAAD,EAAQiH,KAAR,EAAeylE,SAAf,EAA0BA,SAAS,CAAClpI,OAApC,CAAvB;EACA,IAAIyjE,KAAK,CAACrB,OAAD,CAAL,KAAmB,IAAvB,EACIqB,KAAK,CAACrB,OAAD,CAAL,GAAiB,IAAI+mE,SAAJ,EAAjB;EACJ1lE,KAAK,CAACrB,OAAD,CAAL,CAAeqpC,OAAf,CAAuB/qH,IAAvB,CAA4B,IAAIuoJ,OAAJ,CAAYC,SAAZ,CAA5B;AACH;;AACD,SAAS8C,YAAT,CAAsBxvE,KAAtB,EAA6BprD,QAA7B,EAAuC62D,SAAvC,EAAkD;EAC9C,IAAIzL,KAAK,CAACivC,OAAN,KAAkB,IAAtB,EACIjvC,KAAK,CAACivC,OAAN,GAAgB,IAAIs+B,SAAJ,EAAhB;EACJvtE,KAAK,CAACivC,OAAN,CAAc0+B,KAAd,CAAoB,IAAIE,OAAJ,CAAYj5H,QAAZ,EAAsB62D,SAAtB,CAApB;AACH;;AACD,SAASkkE,iCAAT,CAA2C3vE,KAA3C,EAAkDsR,cAAlD,EAAkE;EAC9D,MAAMw+D,mBAAmB,GAAG9vE,KAAK,CAACuC,cAAN,KAAyBvC,KAAK,CAACuC,cAAN,GAAuB,EAAhD,CAA5B;EACA,MAAMwtE,uBAAuB,GAAGD,mBAAmB,CAAC/sJ,MAApB,GAA6B+sJ,mBAAmB,CAACA,mBAAmB,CAAC/sJ,MAApB,GAA6B,CAA9B,CAAhD,GAAmF,CAAC,CAApH;;EACA,IAAIuuF,cAAc,KAAKy+D,uBAAvB,EAAgD;IAC5CD,mBAAmB,CAAC5rJ,IAApB,CAAyB87E,KAAK,CAACivC,OAAN,CAAclsH,MAAd,GAAuB,CAAhD,EAAmDuuF,cAAnD;EACH;AACJ;;AACD,SAAS87D,SAAT,CAAmBptE,KAAnB,EAA0BxkF,KAA1B,EAAiC;EAC7B4N,SAAS,IAAIyzE,aAAa,CAACmD,KAAK,CAACivC,OAAP,EAAgB,+CAAhB,CAA1B;EACA,OAAOjvC,KAAK,CAACivC,OAAN,CAAc+9B,UAAd,CAAyBxxJ,KAAzB,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw0J,sBAAT,CAAgCjwE,KAAhC,EAAuCkH,KAAvC,EAA8C;EAC1C,OAAOyjE,iBAAiB,CAAC3qE,KAAD,EAAQkH,KAAR,CAAxB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgpE,cAAc,GAAG,CAAC,OAAO;EAC3B,eAAep0J,WADY;EAE3B,2BAA2B2qI,uBAFA;EAG3B,2BAA2BE,uBAHA;EAI3B,2BAA2BC,uBAJA;EAK3B,2BAA2BC,uBALA;EAM3B,2BAA2BC,uBANA;EAO3B,2BAA2BC,uBAPA;EAQ3B,2BAA2BC,uBARA;EAS3B,2BAA2BC,uBATA;EAU3B,2BAA2BC,uBAVA;EAW3B,qBAAqB1hI,iBAXM;EAY3B,qBAAqB6C,iBAZM;EAa3B,sBAAsB4xC,kBAbK;EAc3B,oBAAoB/wC,gBAdO;EAe3B,oBAAoBF,gBAfO;EAgB3B,gBAAgBtJ,YAhBW;EAiB3B,qBAAqB4F,iBAjBM;EAkB3B,yBAAyB+0F,qBAlBE;EAmB3B,YAAYzhD,QAnBe;EAoB3B,qBAAqBmiD,iBApBM;EAqB3B,oBAAoBiyB,gBArBO;EAsB3B,uBAAuBpqB,mBAtBI;EAuB3B,0BAA0BqtD,sBAvBC;EAwB3B,eAAe30J,WAxBY;EAyB3B,wBAAwBkuF,oBAzBG;EA0B3B,sBAAsBxjF,kBA1BK;EA2B3B,2BAA2Bi9H,uBA3BA;EA4B3B,8BAA8BpB,0BA5BH;EA6B3B,uBAAuB+iB,mBA7BI;EA8B3B,iBAAiBrqJ,aA9BU;EA+B3B,mBAAmB42F,eA/BQ;EAgC3B,qBAAqBD,iBAhCM;EAiC3B,kBAAkBD,cAjCS;EAkC3B,oBAAoBhE,gBAlCO;EAmC3B,qBAAqBC,iBAnCM;EAoC3B,kBAAkB/yF,cApCS;EAqC3B,gBAAgBE,YArCW;EAsC3B,aAAaqC,SAtCc;EAuC3B,2BAA2BurI,uBAvCA;EAwC3B,yBAAyBC,qBAxCE;EAyC3B,sBAAsBC,kBAzCK;EA0C3B,mBAAmBye,eA1CQ;EA2C3B,mBAAmBhgJ,eA3CQ;EA4C3B,mBAAmBogJ,eA5CQ;EA6C3B,mBAAmBE,eA7CQ;EA8C3B,mBAAmBE,eA9CQ;EA+C3B,mBAAmBE,eA/CQ;EAgD3B,mBAAmBE,eAhDQ;EAiD3B,mBAAmBE,eAjDQ;EAkD3B,mBAAmBE,eAlDQ;EAmD3B,mBAAmBE,eAnDQ;EAoD3B,oBAAoBjtJ,gBApDO;EAqD3B,iBAAiBK,aArDU;EAsD3B,cAAcJ,UAtDa;EAuD3B,gBAAgB2vI,YAvDW;EAwD3B,2BAA2BkJ,uBAxDA;EAyD3B,2BAA2BjL,uBAzDA;EA0D3B,eAAemgB,WA1DY;EA2D3B,eAAe/hJ,WA3DY;EA4D3B,eAAeiiJ,WA5DY;EA6D3B,eAAeC,WA7DY;EA8D3B,eAAeC,WA9DY;EA+D3B,mBAAmB9e,eA/DQ;EAgE3B,kBAAkBuJ,cAhES;EAiE3B,cAAc/3I,UAjEa;EAkE3B,yBAAyBgvI,qBAlEE;EAmE3B,0BAA0BC,sBAnEC;EAoE3B,0BAA0BC,sBApEC;EAqE3B,0BAA0BC,sBArEC;EAsE3B,0BAA0BC,sBAtEC;EAuE3B,0BAA0BC,sBAvEC;EAwE3B,0BAA0BC,sBAxEC;EAyE3B,0BAA0BC,sBAzEC;EA0E3B,0BAA0BC,sBA1EC;EA2E3B,0BAA0BC,sBA3EC;EA4E3B,UAAU1kI,MA5EiB;EA6E3B,kBAAkB6oJ,cA7ES;EA8E3B,eAAeC,WA9EY;EA+E3B,eAAeK,WA/EY;EAgF3B,kBAAkBF,cAhFS;EAiF3B,eAAehoB,WAjFY;EAkF3B,cAAc+G,UAlFa;EAmF3B,0BAA0BoD,sBAnFC;EAoF3B,0BAA0BC,sBApFC;EAqF3B,0BAA0BC,sBArFC;EAsF3B,0BAA0BC,sBAtFC;EAuF3B,0BAA0BC,sBAvFC;EAwF3B,0BAA0BC,sBAxFC;EAyF3B,0BAA0BC,sBAzFC;EA0F3B,0BAA0BC,sBA1FC;EA2F3B,0BAA0BC,sBA3FC;EA4F3B,cAAchE,UA5Fa;EA6F3B,0BAA0BiE,sBA7FC;EA8F3B,0BAA0BC,sBA9FC;EA+F3B,0BAA0BC,sBA/FC;EAgG3B,0BAA0BC,sBAhGC;EAiG3B,0BAA0BC,sBAjGC;EAkG3B,0BAA0BC,sBAlGC;EAmG3B,0BAA0BC,sBAnGC;EAoG3B,0BAA0BC,sBApGC;EAqG3B,0BAA0BC,sBArGC;EAsG3B,eAAelsI,WAtGY;EAuG3B,2BAA2BmsI,uBAvGA;EAwG3B,2BAA2BE,uBAxGA;EAyG3B,2BAA2BC,uBAzGA;EA0G3B,2BAA2BC,uBA1GA;EA2G3B,2BAA2BC,uBA3GA;EA4G3B,2BAA2BC,uBA5GA;EA6G3B,2BAA2BC,uBA7GA;EA8G3B,2BAA2BC,uBA9GA;EA+G3B,2BAA2BC,uBA/GA;EAgH3B,eAAe9sI,WAhHY;EAiH3B,aAAanM,SAjHc;EAkH3B,cAAciM,UAlHa;EAmH3B,UAAUrM,MAnHiB;EAoH3B,qBAAqBK,iBApHM;EAqH3B,sBAAsBuB,kBArHK;EAsH3B,sBAAsBs1I,kBAtHK;EAuH3B,sBAAsBC,kBAvHK;EAwH3B,sBAAsBC,kBAxHK;EAyH3B,sBAAsBC,kBAzHK;EA0H3B,sBAAsBC,kBA1HK;EA2H3B,sBAAsBC,kBA3HK;EA4H3B,sBAAsBC,kBA5HK;EA6H3B,sBAAsBC,kBA7HK;EA8H3B,UAAU+P,MA9HiB;EA+H3B,oBAAoBC,gBA/HO;EAgI3B,aAAaC,SAhIc;EAiI3B,eAAeN,WAjIY;EAkI3B,aAAaG,SAlIc;EAmI3B,eAAeI,WAnIY;EAoI3B,qBAAqBC,iBApIM;EAqI3B,mBAAmB5/B,eArIQ;EAsI3B,qBAAqB35G,iBAtIM;EAuI3B,iBAAiB65G,aAvIU;EAwI3B,uBAAuB9+B,mBAxII;EAyI3B,sBAAsB35E,kBAzIK;EA0I3B,0BAA0Bi8F,oBA1IC;EA2I3B,kBAAkByU,cA3IS;EA4I3B,mBAAmBI,eA5IQ;EA6I3B,yBAAyBK,qBA7IE;EA8I3B,oBAAoBG,gBA9IO;EA+I3B,iBAAiBL,aA/IU;EAgJ3B,8BAA8Ba,0BAhJH;EAiJ3B,uBAAuBL,mBAjJI;EAkJ3B,8BAA8BE,0BAlJH;EAmJ3B,6BAA6BxH,yBAnJF;EAoJ3B,cAAcj7G,UApJa;EAqJ3B,qBAAqB0hF;AArJM,CAAP,CAAD,GAAvB;;AAwJA,IAAI01E,UAAU,GAAG,IAAjB;;AACA,SAASC,aAAT,CAAuBxvI,OAAvB,EAAgC;EAC5B,IAAIuvI,UAAU,KAAK,IAAnB,EAAyB;IACrB,IAAIvvI,OAAO,CAACyvI,oBAAR,KAAiCF,UAAU,CAACE,oBAAhD,EAAsE;MAClEhnJ,SAAS,IACL2D,OAAO,CAAC3B,KAAR,CAAc,oFAAd,CADJ;MAEA;IACH;;IACD,IAAIuV,OAAO,CAAC0vI,mBAAR,KAAgCH,UAAU,CAACG,mBAA/C,EAAoE;MAChEjnJ,SAAS,IACL2D,OAAO,CAAC3B,KAAR,CAAc,mFAAd,CADJ;MAEA;IACH;EACJ;;EACD8kJ,UAAU,GAAGvvI,OAAb;AACH;;AACD,SAAS2vI,aAAT,GAAyB;EACrB,OAAOJ,UAAP;AACH;;AACD,SAASK,eAAT,GAA2B;EACvBL,UAAU,GAAG,IAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASM,sBAAT,GAAkC,CAC9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,qBAAT,CAA+BruJ,KAA/B,EAAsC;EAClC,OAAOA,KAAK,CAACwG,QAAN,KAAmBxF,SAA1B;AACH;;AACD,SAASstJ,UAAT,CAAoBtuJ,KAApB,EAA2B;EACvB,OAAO,CAAC,CAAC4hF,cAAc,CAAC5hF,KAAD,CAAvB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuuJ,WAAW,GAAG,EAApB;AACA;AACA;AACA;AACA;;AACA,SAASC,8BAAT,CAAwC1M,UAAxC,EAAoDt7I,QAApD,EAA8D;EAC1D+nJ,WAAW,CAACzsJ,IAAZ,CAAiB;IAAEggJ,UAAF;IAAct7I;EAAd,CAAjB;AACH;;AACD,IAAIioJ,mBAAmB,GAAG,KAA1B;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,uCAAT,GAAmD;EAC/C,IAAI,CAACD,mBAAL,EAA0B;IACtBA,mBAAmB,GAAG,IAAtB;;IACA,IAAI;MACA,KAAK,IAAIvhJ,CAAC,GAAGqhJ,WAAW,CAAC5tJ,MAAZ,GAAqB,CAAlC,EAAqCuM,CAAC,IAAI,CAA1C,EAA6CA,CAAC,EAA9C,EAAkD;QAC9C,MAAM;UAAE40I,UAAF;UAAct7I;QAAd,IAA2B+nJ,WAAW,CAACrhJ,CAAD,CAA5C;;QACA,IAAI1G,QAAQ,CAACa,YAAT,IAAyBb,QAAQ,CAACa,YAAT,CAAsBkmD,KAAtB,CAA4BohG,qBAA5B,CAA7B,EAAiF;UAC7E;UACAJ,WAAW,CAACrtJ,MAAZ,CAAmBgM,CAAnB,EAAsB,CAAtB;UACA0hJ,4BAA4B,CAAC9M,UAAD,EAAat7I,QAAb,CAA5B;QACH;MACJ;IACJ,CATD,SAUQ;MACJioJ,mBAAmB,GAAG,KAAtB;IACH;EACJ;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASE,qBAAT,CAA+BE,WAA/B,EAA4C;EACxC,IAAI1sJ,KAAK,CAACC,OAAN,CAAcysJ,WAAd,CAAJ,EAAgC;IAC5B,OAAOA,WAAW,CAACthG,KAAZ,CAAkBohG,qBAAlB,CAAP;EACH;;EACD,OAAO,CAAC,CAACv2E,iBAAiB,CAACy2E,WAAD,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,eAAT,CAAyBhN,UAAzB,EAAqCt7I,QAAQ,GAAG,EAAhD,EAAoD;EAChD4nJ,sBAAsB;EACtBW,mBAAmB,CAACjN,UAAD,EAAat7I,QAAb,CAAnB;;EACA,IAAIA,QAAQ,CAAChK,EAAT,KAAgBwE,SAApB,EAA+B;IAC3ByiG,oBAAoB,CAACq+C,UAAD,EAAat7I,QAAQ,CAAChK,EAAtB,CAApB;EACH,CAL+C,CAMhD;EACA;EACA;EACA;;;EACAgyJ,8BAA8B,CAAC1M,UAAD,EAAat7I,QAAb,CAA9B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuoJ,mBAAT,CAA6BjN,UAA7B,EAAyCt7I,QAAzC,EAAmDwoJ,gCAAgC,GAAG,KAAtF,EAA6F;EACzFhoJ,SAAS,IAAIyzE,aAAa,CAACqnE,UAAD,EAAa,2BAAb,CAA1B;EACA96I,SAAS,IAAIyzE,aAAa,CAACj0E,QAAD,EAAW,yBAAX,CAA1B;EACA,MAAMa,YAAY,GAAG+0F,OAAO,CAAC51F,QAAQ,CAACa,YAAT,IAAyB83E,WAA1B,CAA5B;EACA,IAAIwC,WAAW,GAAG,IAAlB;EACAzhF,MAAM,CAACu5F,cAAP,CAAsBqoD,UAAtB,EAAkCtiE,UAAlC,EAA8C;IAC1CilC,YAAY,EAAE,IAD4B;IAE1Cn9F,GAAG,EAAE,MAAM;MACP,IAAIq6D,WAAW,KAAK,IAApB,EAA0B;QACtB,IAAI36E,SAAS,IAAIR,QAAQ,CAACO,OAAtB,IAAiCP,QAAQ,CAACO,OAAT,CAAiBhK,OAAjB,CAAyB+kJ,UAAzB,IAAuC,CAAC,CAA7E,EAAgF;UAC5E;UACA;UACA,MAAM,IAAIv2I,KAAJ,CAAW,IAAGqtE,iBAAiB,CAACkpE,UAAD,CAAa,8BAA5C,CAAN;QACH;;QACD,MAAMz9B,QAAQ,GAAG9oB,iBAAiB,CAAC;UAAEI,KAAK,EAAE;UAAE;UAAX;UAA6CD,IAAI,EAAE,UAAnD;UAA+Dn+F,IAAI,EAAEukJ;QAArE,CAAD,CAAlC;QACAngE,WAAW,GAAG0iC,QAAQ,CAACyqC,eAAT,CAAyBjB,cAAzB,EAA0C,SAAQ/L,UAAU,CAACxkJ,IAAK,UAAlE,EAA6E;UACvFC,IAAI,EAAEukJ,UADiF;UAEvFtgE,SAAS,EAAE4a,OAAO,CAAC51F,QAAQ,CAACg7E,SAAT,IAAsBrC,WAAvB,CAAP,CAA2C7+E,GAA3C,CAA+C83E,iBAA/C,CAF4E;UAGvF/wE,YAAY,EAAEA,YAAY,CAAC/G,GAAb,CAAiB83E,iBAAjB,CAHyE;UAIvFrxE,OAAO,EAAEq1F,OAAO,CAAC51F,QAAQ,CAACO,OAAT,IAAoBo4E,WAArB,CAAP,CACJ7+E,GADI,CACA83E,iBADA,EAEJ93E,GAFI,CAEA2uJ,yBAFA,CAJ8E;UAOvF3nJ,OAAO,EAAE80F,OAAO,CAAC51F,QAAQ,CAACc,OAAT,IAAoB63E,WAArB,CAAP,CACJ7+E,GADI,CACA83E,iBADA,EAEJ93E,GAFI,CAEA2uJ,yBAFA,CAP8E;UAUvFpuE,OAAO,EAAEr6E,QAAQ,CAACq6E,OAAT,GAAmBub,OAAO,CAAC51F,QAAQ,CAACq6E,OAAV,CAA1B,GAA+C,IAV+B;UAWvFrkF,EAAE,EAAEgK,QAAQ,CAAChK,EAAT,IAAe;QAXoE,CAA7E,CAAd,CAPsB,CAoBtB;QACA;QACA;QACA;;QACA,IAAI,CAACmlF,WAAW,CAACd,OAAjB,EAA0B;UACtBc,WAAW,CAACd,OAAZ,GAAsB,EAAtB;QACH;MACJ;;MACD,OAAOc,WAAP;IACH;EAhCyC,CAA9C;EAkCA,IAAIyiC,YAAY,GAAG,IAAnB;EACAlkH,MAAM,CAACu5F,cAAP,CAAsBqoD,UAAtB,EAAkCriE,cAAlC,EAAkD;IAC9Cn4D,GAAG,EAAE,MAAM;MACP,IAAI88F,YAAY,KAAK,IAArB,EAA2B;QACvB,MAAMC,QAAQ,GAAG9oB,iBAAiB,CAAC;UAAEI,KAAK,EAAE;UAAE;UAAX;UAA6CD,IAAI,EAAE,UAAnD;UAA+Dn+F,IAAI,EAAEukJ;QAArE,CAAD,CAAlC;QACA19B,YAAY,GAAGC,QAAQ,CAACE,cAAT,CAAwBspC,cAAxB,EAAyC,SAAQ/L,UAAU,CAACxkJ,IAAK,UAAjE,EAA4E;UACvFA,IAAI,EAAEwkJ,UAAU,CAACxkJ,IADsE;UAEvFC,IAAI,EAAEukJ,UAFiF;UAGvF9xF,IAAI,EAAEqxC,mBAAmB,CAACygD,UAAD,CAH8D;UAIvF37I,MAAM,EAAEk+G,QAAQ,CAAChpB,aAAT,CAAuBjkG,QAJwD;UAKvFotH,iBAAiB,EAAE;QALoE,CAA5E,CAAf;MAOH;;MACD,OAAOJ,YAAP;IACH,CAb6C;IAc9C;IACAK,YAAY,EAAE,CAAC,CAACz9G;EAf8B,CAAlD;EAiBA,IAAI+0E,aAAa,GAAG,IAApB;EACA77E,MAAM,CAACu5F,cAAP,CAAsBqoD,UAAtB,EAAkClmE,UAAlC,EAA8C;IAC1Ct0D,GAAG,EAAE,MAAM;MACP,IAAIy0D,aAAa,KAAK,IAAtB,EAA4B;QACxB/0E,SAAS,IACLkoJ,4BAA4B,CAACpN,UAAD,EAAakN,gCAAb,CADhC;QAEA,MAAMx0D,IAAI,GAAG;UACTl9F,IAAI,EAAEwkJ,UAAU,CAACxkJ,IADR;UAETC,IAAI,EAAEukJ,UAFG;UAGTh7I,SAAS,EAAEN,QAAQ,CAACM,SAAT,IAAsBq4E,WAHxB;UAITp4E,OAAO,EAAE,CACL,CAACP,QAAQ,CAACO,OAAT,IAAoBo4E,WAArB,EAAkC7+E,GAAlC,CAAsC83E,iBAAtC,CADK,EAEL,CAAC5xE,QAAQ,CAACc,OAAT,IAAoB63E,WAArB,EAAkC7+E,GAAlC,CAAsC83E,iBAAtC,CAFK;QAJA,CAAb;QASA,MAAMisC,QAAQ,GAAG9oB,iBAAiB,CAAC;UAAEI,KAAK,EAAE;UAAE;UAAX;UAA6CD,IAAI,EAAE,UAAnD;UAA+Dn+F,IAAI,EAAEukJ;QAArE,CAAD,CAAlC;QACA/lE,aAAa,GACTsoC,QAAQ,CAAC8qC,eAAT,CAAyBtB,cAAzB,EAA0C,SAAQ/L,UAAU,CAACxkJ,IAAK,UAAlE,EAA6Ek9F,IAA7E,CADJ;MAEH;;MACD,OAAOze,aAAP;IACH,CAnByC;IAoB1C;IACA0oC,YAAY,EAAE,CAAC,CAACz9G;EArB0B,CAA9C;AAuBH;;AACD,SAASooJ,qCAAT,CAA+C7xJ,IAA/C,EAAqD27C,QAArD,EAA+D;EAC3D,MAAM6nE,MAAM,GAAI,eAAcnoC,iBAAiB,CAACr7E,IAAD,CAAO,4CAAtD;EACA,MAAMylI,MAAM,GAAI,IAAGpqD,iBAAiB,CAACr7E,IAAD,CAAO,kDAA5B,GACX,8FADJ;EAEA,OAAQ,GAAEwjH,MAAO,IAAG7nE,QAAS,KAAI8pF,MAAO,EAAxC;AACH;;AACD,SAASksB,4BAAT,CAAsCpN,UAAtC,EAAkDkN,gCAAlD,EAAoFK,eAApF,EAAqG;EACjG,IAAIC,gBAAgB,CAAChoI,GAAjB,CAAqBw6H,UAArB,CAAJ,EACI,OAF6F,CAGjG;;EACA,IAAI3/D,YAAY,CAAC2/D,UAAD,CAAhB,EACI;EACJwN,gBAAgB,CAACznI,GAAjB,CAAqBi6H,UAArB,EAAiC,IAAjC;EACAA,UAAU,GAAG1pE,iBAAiB,CAAC0pE,UAAD,CAA9B;EACA,IAAIngE,WAAJ;;EACA,IAAI0tE,eAAJ,EAAqB;IACjB1tE,WAAW,GAAGC,cAAc,CAACkgE,UAAD,CAA5B;;IACA,IAAI,CAACngE,WAAL,EAAkB;MACd,MAAM,IAAIp2E,KAAJ,CAAW,qBAAoBu2I,UAAU,CAACxkJ,IAAK,6BAA4B+xJ,eAAe,CAAC/xJ,IAAK,wCAAhG,CAAN;IACH;EACJ,CALD,MAMK;IACDqkF,WAAW,GAAGC,cAAc,CAACkgE,UAAD,EAAa,IAAb,CAA5B;EACH;;EACD,MAAMtzI,MAAM,GAAG,EAAf;EACA,MAAMnH,YAAY,GAAG84G,aAAa,CAACx+B,WAAW,CAACt6E,YAAb,CAAlC;EACA,MAAMN,OAAO,GAAGo5G,aAAa,CAACx+B,WAAW,CAAC56E,OAAb,CAA7B;EACAq1F,OAAO,CAACr1F,OAAD,CAAP,CAAiBzG,GAAjB,CAAqBivJ,gCAArB,EAAuD7tJ,OAAvD,CAA+D8tJ,mBAAmB,IAAI;IAClFC,+BAA+B,CAACD,mBAAD,EAAsB1N,UAAtB,CAA/B;IACAoN,4BAA4B,CAACM,mBAAD,EAAsB,KAAtB,EAA6B1N,UAA7B,CAA5B;EACH,CAHD;EAIA,MAAMx6I,OAAO,GAAG64G,aAAa,CAACx+B,WAAW,CAACr6E,OAAb,CAA7B;EACAD,YAAY,CAAC3F,OAAb,CAAqBguJ,iCAArB;EACAroJ,YAAY,CAAC3F,OAAb,CAAqBiuJ,4BAArB;EACAtoJ,YAAY,CAAC3F,OAAb,CAAsBkuJ,eAAD,IAAqBC,mBAAmB,CAACD,eAAD,EAAkB9N,UAAlB,CAA7D;EACA,MAAMgO,oBAAoB,GAAG,CACzB,GAAGzoJ,YAAY,CAAC/G,GAAb,CAAiB83E,iBAAjB,CADsB,EAEzB,GAAGgkB,OAAO,CAACr1F,OAAO,CAACzG,GAAR,CAAYyvJ,sBAAZ,CAAD,CAAP,CAA6CzvJ,GAA7C,CAAiD83E,iBAAjD,CAFsB,CAA7B;EAIA9wE,OAAO,CAAC5F,OAAR,CAAgBsuJ,oCAAhB;EACA3oJ,YAAY,CAAC3F,OAAb,CAAqBuuJ,IAAI,IAAIC,yBAAyB,CAACD,IAAD,EAAOjB,gCAAP,CAAtD;EACA3nJ,YAAY,CAAC3F,OAAb,CAAqByuJ,8CAArB;EACA,MAAM3pJ,QAAQ,GAAG4pJ,aAAa,CAACtO,UAAD,EAAa,UAAb,CAA9B;;EACA,IAAIt7I,QAAJ,EAAc;IACVA,QAAQ,CAACO,OAAT,IACIq1F,OAAO,CAAC51F,QAAQ,CAACO,OAAV,CAAP,CAA0BzG,GAA1B,CAA8BivJ,gCAA9B,EAAgE7tJ,OAAhE,CAAwE2uJ,GAAG,IAAI;MAC3EZ,+BAA+B,CAACY,GAAD,EAAMvO,UAAN,CAA/B;MACAoN,4BAA4B,CAACmB,GAAD,EAAM,KAAN,EAAavO,UAAb,CAA5B;IACH,CAHD,CADJ;IAKAt7I,QAAQ,CAACg7E,SAAT,IAAsB1e,WAAW,CAACt8D,QAAQ,CAACg7E,SAAV,EAAqB8uE,0BAArB,CAAjC;IACA9pJ,QAAQ,CAACg7E,SAAT,IAAsB1e,WAAW,CAACt8D,QAAQ,CAACg7E,SAAV,EAAqB+uE,+BAArB,CAAjC;IACA/pJ,QAAQ,CAACgqJ,eAAT,IACI1tF,WAAW,CAACt8D,QAAQ,CAACgqJ,eAAV,EAA2BD,+BAA3B,CADf;EAEH,CA/CgG,CAgDjG;;;EACA,IAAI/hJ,MAAM,CAAC7N,MAAX,EAAmB;IACf,MAAM,IAAI4K,KAAJ,CAAUiD,MAAM,CAAC6O,IAAP,CAAY,IAAZ,CAAV,CAAN;EACH,CAnDgG,CAoDjG;;;EACA,SAASqyI,iCAAT,CAA2CnyJ,IAA3C,EAAiD;IAC7CA,IAAI,GAAG66E,iBAAiB,CAAC76E,IAAD,CAAxB;IACA,MAAMi2B,GAAG,GAAG8tD,eAAe,CAAC/jF,IAAD,CAAf,IAAyBgkF,eAAe,CAAChkF,IAAD,CAAxC,IAAkD2jF,YAAY,CAAC3jF,IAAD,CAA1E;;IACA,IAAI,CAACi2B,GAAL,EAAU;MACNhlB,MAAM,CAAC1M,IAAP,CAAa,qBAAoB82E,iBAAiB,CAACr7E,IAAD,CAAO,6BAA4Bq7E,iBAAiB,CAACkpE,UAAD,CAAa,yDAAnH;IACH;EACJ;;EACD,SAAS6N,4BAAT,CAAsCpyJ,IAAtC,EAA4C;IACxCA,IAAI,GAAG66E,iBAAiB,CAAC76E,IAAD,CAAxB;IACA,MAAMi2B,GAAG,GAAG+tD,eAAe,CAAChkF,IAAD,CAA3B;;IACA,IAAI,CAAC+jF,eAAe,CAAC/jF,IAAD,CAAhB,IAA0Bi2B,GAA1B,IAAiCA,GAAG,CAACpwB,SAAJ,CAAczC,MAAd,IAAwB,CAA7D,EAAgE;MAC5D6N,MAAM,CAAC1M,IAAP,CAAa,aAAY82E,iBAAiB,CAACr7E,IAAD,CAAO,kCAAjD;IACH;EACJ;;EACD,SAASsyJ,mBAAT,CAA6BtyJ,IAA7B,EAAmCukJ,UAAnC,EAA+C;IAC3CvkJ,IAAI,GAAG66E,iBAAiB,CAAC76E,IAAD,CAAxB;IACA,MAAMi2B,GAAG,GAAG8tD,eAAe,CAAC/jF,IAAD,CAAf,IAAyBgkF,eAAe,CAAChkF,IAAD,CAAxC,IAAkD2jF,YAAY,CAAC3jF,IAAD,CAA1E;;IACA,IAAIi2B,GAAG,EAAEw/B,UAAT,EAAqB;MACjB,MAAM9Z,QAAQ,GAAI,IAAG0/B,iBAAiB,CAACkpE,UAAD,CAAa,YAAnD;MACAtzI,MAAM,CAAC1M,IAAP,CAAYstJ,qCAAqC,CAAC7xJ,IAAD,EAAO27C,QAAP,CAAjD;IACH;EACJ;;EACD,SAAS82G,oCAAT,CAA8CzyJ,IAA9C,EAAoD;IAChDA,IAAI,GAAG66E,iBAAiB,CAAC76E,IAAD,CAAxB;IACA,MAAMm+F,IAAI,GAAGpa,eAAe,CAAC/jF,IAAD,CAAf,IAAyB,WAAzB,IAAwCgkF,eAAe,CAAChkF,IAAD,CAAf,IAAyB,WAAjE,IACT2jF,YAAY,CAAC3jF,IAAD,CAAZ,IAAsB,MAD1B;;IAEA,IAAIm+F,IAAJ,EAAU;MACN;MACA;MACA,IAAIo0D,oBAAoB,CAAClhG,WAArB,CAAiCrxD,IAAjC,MAA2C,CAAC,CAAhD,EAAmD;QAC/C;QACAiR,MAAM,CAAC1M,IAAP,CAAa,gBAAe45F,IAAK,IAAG9iB,iBAAiB,CAACr7E,IAAD,CAAO,SAAQq7E,iBAAiB,CAACkpE,UAAD,CAAa,2CAAlG;MACH;IACJ;EACJ;;EACD,SAASoO,yBAAT,CAAmC3yJ,IAAnC,EAAyCkzJ,cAAzC,EAAyD;IACrDlzJ,IAAI,GAAG66E,iBAAiB,CAAC76E,IAAD,CAAxB;IACA,MAAMmzJ,cAAc,GAAGC,aAAa,CAACrpI,GAAd,CAAkB/pB,IAAlB,CAAvB;;IACA,IAAImzJ,cAAc,IAAIA,cAAc,KAAK5O,UAAzC,EAAqD;MACjD,IAAI,CAAC2O,cAAL,EAAqB;QACjB,MAAMptD,OAAO,GAAG,CAACqtD,cAAD,EAAiB5O,UAAjB,EAA6BxhJ,GAA7B,CAAiCs4E,iBAAjC,EAAoDpvC,IAApD,EAAhB;QACAh7B,MAAM,CAAC1M,IAAP,CAAa,QAAO82E,iBAAiB,CAACr7E,IAAD,CAAO,8CAA6C8lG,OAAO,CAAC,CAAD,CAAI,QAAOA,OAAO,CAAC,CAAD,CAAI,IAA1G,GACP,0BAAyBzqB,iBAAiB,CAACr7E,IAAD,CAAO,oCAAmC8lG,OAAO,CAAC,CAAD,CAAI,QAAOA,OAAO,CAAC,CAAD,CAAI,IAD1G,GAEP,gEAA+DzqB,iBAAiB,CAACr7E,IAAD,CAAO,iCAAgC8lG,OAAO,CAAC,CAAD,CAAI,QAAOA,OAAO,CAAC,CAAD,CAAI,GAFzJ;MAGH;IACJ,CAPD,MAQK;MACD;MACAstD,aAAa,CAAC9oI,GAAd,CAAkBtqB,IAAlB,EAAwBukJ,UAAxB;IACH;EACJ;;EACD,SAASyO,+BAAT,CAAyChzJ,IAAzC,EAA+C;IAC3CA,IAAI,GAAG66E,iBAAiB,CAAC76E,IAAD,CAAxB;IACA,MAAMmzJ,cAAc,GAAGC,aAAa,CAACrpI,GAAd,CAAkB/pB,IAAlB,CAAvB;;IACA,IAAI,CAACmzJ,cAAD,IAAmB,CAACvuE,YAAY,CAAC5kF,IAAD,CAApC,EAA4C;MACxCiR,MAAM,CAAC1M,IAAP,CAAa,aAAY82E,iBAAiB,CAACr7E,IAAD,CAAO,oFAAjD;IACH;EACJ;;EACD,SAAS+yJ,0BAAT,CAAoC/yJ,IAApC,EAA0C;IACtCA,IAAI,GAAG66E,iBAAiB,CAAC76E,IAAD,CAAxB;;IACA,IAAI,CAAC+jF,eAAe,CAAC/jF,IAAD,CAApB,EAA4B;MACxBiR,MAAM,CAAC1M,IAAP,CAAa,GAAE82E,iBAAiB,CAACr7E,IAAD,CAAO,wCAAvC;IACH;;IACD,IAAI4kF,YAAY,CAAC5kF,IAAD,CAAhB,EAAwB;MACpB;MACA;MACAiR,MAAM,CAAC1M,IAAP,CAAa,SAAQ82E,iBAAiB,CAACr7E,IAAD,CAAO,gDAAjC,GACP,qFADO,GAEP,iCAFL;IAGH;EACJ;;EACD,SAAS4yJ,8CAAT,CAAwD5yJ,IAAxD,EAA8D;IAC1DA,IAAI,GAAG66E,iBAAiB,CAAC76E,IAAD,CAAxB;;IACA,IAAI+jF,eAAe,CAAC/jF,IAAD,CAAnB,EAA2B;MACvB;MACA,MAAM4kG,SAAS,GAAGiuD,aAAa,CAAC7yJ,IAAD,EAAO,WAAP,CAA/B;;MACA,IAAI4kG,SAAS,IAAIA,SAAS,CAACquD,eAA3B,EAA4C;QACxC1tF,WAAW,CAACq/B,SAAS,CAACquD,eAAX,EAA4BD,+BAA5B,CAAX;MACH;IACJ;EACJ;;EACD,SAASd,+BAAT,CAAyClyJ,IAAzC,EAA+C8xJ,eAA/C,EAAgE;IAC5D9xJ,IAAI,GAAG66E,iBAAiB,CAAC76E,IAAD,CAAxB;IACA,MAAM4xF,YAAY,GAAG7N,eAAe,CAAC/jF,IAAD,CAAf,IAAyBgkF,eAAe,CAAChkF,IAAD,CAA7D;;IACA,IAAI4xF,YAAY,KAAK,IAAjB,IAAyB,CAACA,YAAY,CAACn8B,UAA3C,EAAuD;MACnD,MAAM,IAAIznD,KAAJ,CAAW,yBAAwBhO,IAAI,CAACD,IAAK,6BAA4B+xJ,eAAe,CAAC/xJ,IAAK,wCAA9F,CAAN;IACH;;IACD,MAAM4kF,OAAO,GAAGhB,YAAY,CAAC3jF,IAAD,CAA5B;;IACA,IAAI2kF,OAAO,KAAK,IAAZ,IAAoB,CAACA,OAAO,CAAClvB,UAAjC,EAA6C;MACzC,MAAM,IAAIznD,KAAJ,CAAW,oBAAmBhO,IAAI,CAACD,IAAK,6BAA4B+xJ,eAAe,CAAC/xJ,IAAK,wCAAzF,CAAN;IACH;EACJ;AACJ;;AACD,SAASiyJ,gCAAT,CAA0CqB,mBAA1C,EAA+D;EAC3DA,mBAAmB,GAAGx4E,iBAAiB,CAACw4E,mBAAD,CAAvC;EACA,OAAOA,mBAAmB,CAACpqJ,QAApB,IAAgCoqJ,mBAAvC;AACH;;AACD,SAASR,aAAT,CAAuB7yJ,IAAvB,EAA6BD,IAA7B,EAAmC;EAC/B,IAAI28F,UAAU,GAAG,IAAjB;EACA42D,OAAO,CAACtzJ,IAAI,CAACuzJ,eAAN,CAAP;EACAD,OAAO,CAACtzJ,IAAI,CAACs9C,UAAN,CAAP;EACA,OAAOo/C,UAAP;;EACA,SAAS42D,OAAT,CAAiBr3D,WAAjB,EAA8B;IAC1B,IAAIA,WAAJ,EAAiB;MACbA,WAAW,CAAC93F,OAAZ,CAAoBqvJ,cAApB;IACH;EACJ;;EACD,SAASA,cAAT,CAAwBhwD,SAAxB,EAAmC;IAC/B,IAAI,CAAC9G,UAAL,EAAiB;MACb,MAAMyH,KAAK,GAAGxhG,MAAM,CAACsS,cAAP,CAAsBuuF,SAAtB,CAAd;;MACA,IAAIW,KAAK,CAAChI,cAAN,IAAwBp8F,IAA5B,EAAkC;QAC9B28F,UAAU,GAAG8G,SAAb;MACH,CAFD,MAGK,IAAIA,SAAS,CAACxjG,IAAd,EAAoB;QACrB,MAAMmkG,KAAK,GAAGxhG,MAAM,CAACsS,cAAP,CAAsBuuF,SAAS,CAACxjG,IAAhC,CAAd;;QACA,IAAImkG,KAAK,CAAChI,cAAN,IAAwBp8F,IAA5B,EAAkC;UAC9B28F,UAAU,GAAG8G,SAAS,CAAC75F,IAAV,CAAe,CAAf,CAAb;QACH;MACJ;IACJ;EACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIypJ,aAAa,GAAG,IAAI58G,OAAJ,EAApB;AACA,IAAIu7G,gBAAgB,GAAG,IAAIv7G,OAAJ,EAAvB;;AACA,SAASi9G,uBAAT,GAAmC;EAC/BL,aAAa,GAAG,IAAI58G,OAAJ,EAAhB;EACAu7G,gBAAgB,GAAG,IAAIv7G,OAAJ,EAAnB;EACAw6G,WAAW,CAAC5tJ,MAAZ,GAAqB,CAArB;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASovJ,sBAAT,CAAgCxyJ,IAAhC,EAAsC;EAClCA,IAAI,GAAG66E,iBAAiB,CAAC76E,IAAD,CAAxB;EACA,MAAMokF,WAAW,GAAGC,cAAc,CAACrkF,IAAD,CAAlC,CAFkC,CAGlC;;EACA,IAAIokF,WAAW,KAAK,IAApB,EAA0B;IACtB,OAAO,CAACpkF,IAAD,CAAP;EACH;;EACD,OAAO,CAAC,GAAG6+F,OAAO,CAAC+jB,aAAa,CAACx+B,WAAW,CAACr6E,OAAb,CAAb,CAAmChH,GAAnC,CAAwC/C,IAAD,IAAU;IAC5D,MAAMokF,WAAW,GAAGC,cAAc,CAACrkF,IAAD,CAAlC;;IACA,IAAIokF,WAAJ,EAAiB;MACbutE,4BAA4B,CAAC3xJ,IAAD,EAAO,KAAP,CAA5B;MACA,OAAOwyJ,sBAAsB,CAACxyJ,IAAD,CAA7B;IACH,CAHD,MAIK;MACD,OAAOA,IAAP;IACH;EACJ,CATc,CAAD,CAAX,CAAP;AAUH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASqxJ,4BAAT,CAAsC9M,UAAtC,EAAkDt7I,QAAlD,EAA4D;EACxD,MAAMa,YAAY,GAAG+0F,OAAO,CAAC51F,QAAQ,CAACa,YAAT,IAAyB83E,WAA1B,CAA5B;EACA,MAAM8xE,gBAAgB,GAAGC,mBAAmB,CAACpP,UAAD,CAA5C;EACAz6I,YAAY,CAAC3F,OAAb,CAAqBmtJ,WAAW,IAAI;IAChCA,WAAW,GAAGz2E,iBAAiB,CAACy2E,WAAD,CAA/B;;IACA,IAAIA,WAAW,CAACviI,cAAZ,CAA2B+yD,WAA3B,CAAJ,EAA6C;MACzC;MACA,MAAM8iB,SAAS,GAAG0sD,WAAlB;MACA,MAAMnpD,YAAY,GAAGpkB,eAAe,CAAC6gB,SAAD,CAApC;MACAgvD,0BAA0B,CAACzrD,YAAD,EAAeurD,gBAAf,CAA1B;IACH,CALD,MAMK,IAAI,CAACpC,WAAW,CAACviI,cAAZ,CAA2BgzD,UAA3B,CAAD,IAA2C,CAACuvE,WAAW,CAACviI,cAAZ,CAA2BizD,WAA3B,CAAhD,EAAyF;MAC1F;MACAsvE,WAAW,CAACuC,eAAZ,GAA8BtP,UAA9B;IACH;EACJ,CAZD;AAaH;AACD;AACA;AACA;AACA;;;AACA,SAASqP,0BAAT,CAAoCzrD,YAApC,EAAkDurD,gBAAlD,EAAoE;EAChEvrD,YAAY,CAACplB,aAAb,GAA6B,MAAMn+E,KAAK,CAAC4P,IAAN,CAAWk/I,gBAAgB,CAACI,WAAjB,CAA6BjwE,UAAxC,EAC9B9gF,GAD8B,CAC1B81D,GAAG,IAAIA,GAAG,CAAC9pC,cAAJ,CAAmB+yD,WAAnB,IAAkCiC,eAAe,CAAClrB,GAAD,CAAjD,GAAyDmrB,eAAe,CAACnrB,GAAD,CADrD,EAE9Bp7D,MAF8B,CAEvBw4B,GAAG,IAAI,CAAC,CAACA,GAFc,CAAnC;;EAGAkyE,YAAY,CAACnlB,QAAb,GAAwB,MAAMp+E,KAAK,CAAC4P,IAAN,CAAWk/I,gBAAgB,CAACI,WAAjB,CAA6BhwE,KAAxC,EAA+C/gF,GAA/C,CAAmD2K,IAAI,IAAIi2E,YAAY,CAACj2E,IAAD,CAAvE,CAA9B;;EACAy6F,YAAY,CAAC7kB,OAAb,GAAuBowE,gBAAgB,CAACpwE,OAAxC,CALgE,CAMhE;EACA;EACA;EACA;;EACA6kB,YAAY,CAAC9nB,KAAb,GAAqB,IAArB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASszE,mBAAT,CAA6B3zJ,IAA7B,EAAmC;EAC/B,IAAI+wJ,UAAU,CAAC/wJ,IAAD,CAAd,EAAsB;IAClB,OAAO+zJ,2BAA2B,CAAC/zJ,IAAD,CAAlC;EACH,CAFD,MAGK,IAAI4kF,YAAY,CAAC5kF,IAAD,CAAhB,EAAwB;IACzB,MAAM4xF,YAAY,GAAG7N,eAAe,CAAC/jF,IAAD,CAAf,IAAyBgkF,eAAe,CAAChkF,IAAD,CAA7D;;IACA,IAAI4xF,YAAY,KAAK,IAArB,EAA2B;MACvB,OAAO;QACHtO,OAAO,EAAE,IADN;QAEHwwE,WAAW,EAAE;UACTjwE,UAAU,EAAE,IAAIh7D,GAAJ,EADH;UAETi7D,KAAK,EAAE,IAAIj7D,GAAJ;QAFE,CAFV;QAMHmrI,QAAQ,EAAE;UACNnwE,UAAU,EAAE,IAAIh7D,GAAJ,CAAQ,CAAC7oB,IAAD,CAAR,CADN;UAEN8jF,KAAK,EAAE,IAAIj7D,GAAJ;QAFD;MANP,CAAP;IAWH;;IACD,MAAM87D,OAAO,GAAGhB,YAAY,CAAC3jF,IAAD,CAA5B;;IACA,IAAI2kF,OAAO,KAAK,IAAhB,EAAsB;MAClB,OAAO;QACHrB,OAAO,EAAE,IADN;QAEHwwE,WAAW,EAAE;UACTjwE,UAAU,EAAE,IAAIh7D,GAAJ,EADH;UAETi7D,KAAK,EAAE,IAAIj7D,GAAJ;QAFE,CAFV;QAMHmrI,QAAQ,EAAE;UACNnwE,UAAU,EAAE,IAAIh7D,GAAJ,EADN;UAENi7D,KAAK,EAAE,IAAIj7D,GAAJ,CAAQ,CAAC7oB,IAAD,CAAR;QAFD;MANP,CAAP;IAWH;EACJ,CAjC8B,CAkC/B;;;EACA,MAAM,IAAIgO,KAAJ,CAAW,GAAEhO,IAAI,CAACD,IAAK,6CAAvB,CAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg0J,2BAAT,CAAqCxP,UAArC,EAAiD;EAC7C,MAAMtuH,GAAG,GAAGouD,cAAc,CAACkgE,UAAD,EAAa,IAAb,CAA1B;;EACA,IAAItuH,GAAG,CAACiuD,uBAAJ,KAAgC,IAApC,EAA0C;IACtC,OAAOjuD,GAAG,CAACiuD,uBAAX;EACH;;EACD,MAAMw6B,MAAM,GAAG;IACXp7B,OAAO,EAAErtD,GAAG,CAACqtD,OAAJ,IAAe,IADb;IAEXwwE,WAAW,EAAE;MACTjwE,UAAU,EAAE,IAAIh7D,GAAJ,EADH;MAETi7D,KAAK,EAAE,IAAIj7D,GAAJ;IAFE,CAFF;IAMXmrI,QAAQ,EAAE;MACNnwE,UAAU,EAAE,IAAIh7D,GAAJ,EADN;MAENi7D,KAAK,EAAE,IAAIj7D,GAAJ;IAFD;EANC,CAAf;EAWA+5F,aAAa,CAAC3sF,GAAG,CAACzsB,OAAL,CAAb,CAA2BrF,OAA3B,CAAoCq5G,QAAD,IAAc;IAC7C;IACA;IACA,MAAMy2C,aAAa,GAAGN,mBAAmB,CAACn2C,QAAD,CAAzC;IACAy2C,aAAa,CAACD,QAAd,CAAuBnwE,UAAvB,CAAkC1/E,OAAlC,CAA0C6hC,KAAK,IAAI04E,MAAM,CAACo1C,WAAP,CAAmBjwE,UAAnB,CAA8Bj3E,GAA9B,CAAkCo5B,KAAlC,CAAnD;IACAiuH,aAAa,CAACD,QAAd,CAAuBlwE,KAAvB,CAA6B3/E,OAA7B,CAAqC6hC,KAAK,IAAI04E,MAAM,CAACo1C,WAAP,CAAmBhwE,KAAnB,CAAyBl3E,GAAzB,CAA6Bo5B,KAA7B,CAA9C;EACH,CAND;EAOA48E,aAAa,CAAC3sF,GAAG,CAACnsB,YAAL,CAAb,CAAgC3F,OAAhC,CAAwC+vJ,QAAQ,IAAI;IAChD,MAAMC,gBAAgB,GAAGD,QAAzB;;IACA,IAAIvwE,YAAY,CAACwwE,gBAAD,CAAhB,EAAoC;MAChCz1C,MAAM,CAACo1C,WAAP,CAAmBhwE,KAAnB,CAAyBl3E,GAAzB,CAA6BsnJ,QAA7B;IACH,CAFD,MAGK;MACD;MACA;MACA;MACAx1C,MAAM,CAACo1C,WAAP,CAAmBjwE,UAAnB,CAA8Bj3E,GAA9B,CAAkCsnJ,QAAlC;IACH;EACJ,CAXD;EAYAtxC,aAAa,CAAC3sF,GAAG,CAAClsB,OAAL,CAAb,CAA2B5F,OAA3B,CAAoC6vJ,QAAD,IAAc;IAC7C,MAAMI,YAAY,GAAGJ,QAArB,CAD6C,CAE7C;IACA;;IACA,IAAIjD,UAAU,CAACqD,YAAD,CAAd,EAA8B;MAC1B;MACA;MACA,MAAMC,aAAa,GAAGV,mBAAmB,CAACS,YAAD,CAAzC;MACAC,aAAa,CAACL,QAAd,CAAuBnwE,UAAvB,CAAkC1/E,OAAlC,CAA0C6hC,KAAK,IAAI;QAC/C04E,MAAM,CAACo1C,WAAP,CAAmBjwE,UAAnB,CAA8Bj3E,GAA9B,CAAkCo5B,KAAlC;QACA04E,MAAM,CAACs1C,QAAP,CAAgBnwE,UAAhB,CAA2Bj3E,GAA3B,CAA+Bo5B,KAA/B;MACH,CAHD;MAIAquH,aAAa,CAACL,QAAd,CAAuBlwE,KAAvB,CAA6B3/E,OAA7B,CAAqC6hC,KAAK,IAAI;QAC1C04E,MAAM,CAACo1C,WAAP,CAAmBhwE,KAAnB,CAAyBl3E,GAAzB,CAA6Bo5B,KAA7B;QACA04E,MAAM,CAACs1C,QAAP,CAAgBlwE,KAAhB,CAAsBl3E,GAAtB,CAA0Bo5B,KAA1B;MACH,CAHD;IAIH,CAZD,MAaK,IAAI29C,YAAY,CAACywE,YAAD,CAAhB,EAAgC;MACjC11C,MAAM,CAACs1C,QAAP,CAAgBlwE,KAAhB,CAAsBl3E,GAAtB,CAA0BwnJ,YAA1B;IACH,CAFI,MAGA;MACD11C,MAAM,CAACs1C,QAAP,CAAgBnwE,UAAhB,CAA2Bj3E,GAA3B,CAA+BwnJ,YAA/B;IACH;EACJ,CAvBD;EAwBAn+H,GAAG,CAACiuD,uBAAJ,GAA8Bw6B,MAA9B;EACA,OAAOA,MAAP;AACH;;AACD,SAASgzC,yBAAT,CAAmCjvJ,KAAnC,EAA0C;EACtC,IAAIquJ,qBAAqB,CAACruJ,KAAD,CAAzB,EAAkC;IAC9B,OAAOA,KAAK,CAACwG,QAAb;EACH;;EACD,OAAOxG,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI6xJ,gBAAgB,GAAG,CAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,gBAAT,CAA0Bv0J,IAA1B,EAAgCi1B,QAAhC,EAA0C;EACtC;EACA;EACA,CAAC,OAAOxrB,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDi4E,aAAa,EAAhE;EACA,IAAI8yE,cAAc,GAAG,IAArB,CAJsC,CAKtC;;EACAjvD,wCAAwC,CAACvlG,IAAD,EAAOi1B,QAAP,CAAxC,CANsC,CAOtC;EACA;EACA;;EACAw/H,sBAAsB,CAACz0J,IAAD,EAAOi1B,QAAP,CAAtB;EACAtyB,MAAM,CAACu5F,cAAP,CAAsBl8F,IAAtB,EAA4B8hF,WAA5B,EAAyC;IACrC/3D,GAAG,EAAE,MAAM;MACP,IAAIyqI,cAAc,KAAK,IAAvB,EAA6B;QACzB,MAAM1tC,QAAQ,GAAG9oB,iBAAiB,CAAC;UAAEI,KAAK,EAAE;UAAE;UAAX;UAA6CD,IAAI,EAAE,WAAnD;UAAgEn+F,IAAI,EAAEA;QAAtE,CAAD,CAAlC;;QACA,IAAIwlG,wBAAwB,CAACvwE,QAAD,CAA5B,EAAwC;UACpC,MAAMxpB,KAAK,GAAG,CAAE,cAAazL,IAAI,CAACD,IAAK,oBAAzB,CAAd;;UACA,IAAIk1B,QAAQ,CAAC6vE,WAAb,EAA0B;YACtBr5F,KAAK,CAAClH,IAAN,CAAY,mBAAkB0wB,QAAQ,CAAC6vE,WAAY,EAAnD;UACH;;UACD,IAAI7vE,QAAQ,CAAC8vE,SAAT,IAAsB9vE,QAAQ,CAAC8vE,SAAT,CAAmB3hG,MAA7C,EAAqD;YACjDqI,KAAK,CAAClH,IAAN,CAAY,iBAAgBkzD,IAAI,CAACC,SAAL,CAAeziC,QAAQ,CAAC8vE,SAAxB,CAAmC,EAA/D;UACH;;UACDt5F,KAAK,CAAClH,IAAN,CAAY,yDAAZ;UACA,MAAM,IAAIyJ,KAAJ,CAAUvC,KAAK,CAACqU,IAAN,CAAW,IAAX,CAAV,CAAN;QACH,CAZwB,CAazB;QACA;QACA;QACA;;;QACA,MAAMkB,OAAO,GAAG2vI,aAAa,EAA7B;QACA,IAAID,mBAAmB,GAAGz7H,QAAQ,CAACy7H,mBAAnC;;QACA,IAAIA,mBAAmB,KAAKjtJ,SAA5B,EAAuC;UACnC,IAAIud,OAAO,KAAK,IAAZ,IAAoBA,OAAO,CAAC0vI,mBAAR,KAAgCjtJ,SAAxD,EAAmE;YAC/DitJ,mBAAmB,GAAG1vI,OAAO,CAAC0vI,mBAA9B;UACH,CAFD,MAGK;YACDA,mBAAmB,GAAG,KAAtB;UACH;QACJ;;QACD,IAAIvtE,aAAa,GAAGluD,QAAQ,CAACkuD,aAA7B;;QACA,IAAIA,aAAa,KAAK1/E,SAAtB,EAAiC;UAC7B,IAAIud,OAAO,KAAK,IAAZ,IAAoBA,OAAO,CAACyvI,oBAAR,KAAiChtJ,SAAzD,EAAoE;YAChE0/E,aAAa,GAAGniE,OAAO,CAACyvI,oBAAxB;UACH,CAFD,MAGK;YACDttE,aAAa,GAAG3D,mBAAmB,CAAC4D,QAApC;UACH;QACJ;;QACD,MAAM0hB,WAAW,GAAG7vE,QAAQ,CAAC6vE,WAAT,IAAyB,SAAQ9kG,IAAI,CAACD,IAAK,gBAA/D;QACA,MAAMk9F,IAAI,GAAG,EACT,GAAGy3D,iBAAiB,CAAC10J,IAAD,EAAOi1B,QAAP,CADX;UAET0/H,cAAc,EAAE7tC,QAAQ,CAAC8tC,qBAAT,CAA+B,WAA/B,EAA4C50J,IAAI,CAACD,IAAjD,EAAuD+kG,WAAvD,CAFP;UAGTt+F,QAAQ,EAAEyuB,QAAQ,CAACzuB,QAAT,IAAqB,EAHtB;UAITkqJ,mBAJS;UAKT/oJ,MAAM,EAAEstB,QAAQ,CAACttB,MAAT,IAAmBi6E,WALlB;UAMTizE,UAAU,EAAE5/H,QAAQ,CAAC4/H,UANZ;UAOT;UACA;UACA;UACA;UACA;UACA/qJ,YAAY,EAAE,EAZL;UAaTlC,eAAe,EAAEqtB,QAAQ,CAACrtB,eAbjB;UAcTu7E,aAdS;UAeT2xE,aAAa,EAAE7/H,QAAQ,CAAC6/H,aAff;UAgBT5/B,aAAa,EAAEjgG,QAAQ,CAACigG,aAAT,IAA0B,IAhBhC;UAiBTtwC,YAAY,EAAE,CAAC,CAAC3vD,QAAQ,CAACwgC;QAjBhB,CAAb;QAmBA6+F,gBAAgB;;QAChB,IAAI;UACA,IAAIr3D,IAAI,CAAC83D,eAAT,EAA0B;YACtBC,mCAAmC,CAACh1J,IAAD,CAAnC;UACH;;UACDw0J,cAAc,GACV1tC,QAAQ,CAACytC,gBAAT,CAA0BjE,cAA1B,EAA0CxrD,WAA1C,EAAuD7H,IAAvD,CADJ;;UAEA,IAAIhoE,QAAQ,CAACwgC,UAAb,EAAyB;YACrB;YACA;YACA;YACA,MAAMjsD,OAAO,GAAGq1F,OAAO,CAAC5pE,QAAQ,CAACzrB,OAAT,IAAoBo4E,WAArB,CAAvB;YACA,MAAM;cAAEmB,aAAF;cAAiBC;YAAjB,IAA8BiyE,yBAAyB,CAACj1J,IAAD,EAAOwJ,OAAP,CAA7D;YACAgrJ,cAAc,CAACzxE,aAAf,GAA+BA,aAA/B;YACAyxE,cAAc,CAACxxE,QAAf,GAA0BA,QAA1B;;YACAwxE,cAAc,CAACrtJ,YAAf,GAA8B,MAAMqC,OAAO,CAACzG,GAAR,CAAY83E,iBAAZ,CAApC;UACH;QACJ,CAhBD,SAiBQ;UACJ;UACAy5E,gBAAgB;QACnB;;QACD,IAAIA,gBAAgB,KAAK,CAAzB,EAA4B;UACxB;UACA;UACA;UACA;UACA;UACAnD,uCAAuC;QAC1C,CArFwB,CAsFzB;QACA;QACA;QACA;;;QACA,IAAI+D,gBAAgB,CAACl1J,IAAD,CAApB,EAA4B;UACxB,MAAM0+G,MAAM,GAAGi1C,mBAAmB,CAAC3zJ,IAAI,CAAC6zJ,eAAN,CAAlC;UACAD,0BAA0B,CAACY,cAAD,EAAiB91C,MAAjB,CAA1B;QACH;;QACD,IAAIzpF,QAAQ,CAACquD,OAAb,EAAsB;UAClB,IAAIruD,QAAQ,CAACwgC,UAAb,EAAyB;YACrB++F,cAAc,CAAClxE,OAAf,GAAyBruD,QAAQ,CAACquD,OAAlC;UACH,CAFD,MAGK;YACD,MAAM,IAAIt1E,KAAJ,CAAW,uCAAsCqtE,iBAAiB,CAACr7E,IAAD,CAAO,uDAAzE,CAAN;UACH;QACJ,CAPD,MAQK,IAAIi1B,QAAQ,CAACwgC,UAAb,EAAyB;UAC1B++F,cAAc,CAAClxE,OAAf,GAAyB,EAAzB;QACH;MACJ;;MACD,OAAOkxE,cAAP;IACH,CA7GoC;IA8GrC;IACAttC,YAAY,EAAE,CAAC,CAACz9G;EA/GqB,CAAzC;AAiHH;;AACD,SAAS0rJ,yBAAT,CAAmCn1J,IAAnC,EAAyC;EACrC,IAAI+jF,eAAe,CAAC/jF,IAAD,CAAnB,EACI,OAAO,WAAP;EACJ,IAAIgkF,eAAe,CAAChkF,IAAD,CAAnB,EACI,OAAO,WAAP;EACJ,IAAI2jF,YAAY,CAAC3jF,IAAD,CAAhB,EACI,OAAO,MAAP;EACJ,OAAO,MAAP;AACH;;AACD,SAASo1J,sBAAT,CAAgCC,OAAhC,EAAyCC,aAAzC,EAAwD;EACpD,IAAIx6E,YAAY,CAACu6E,OAAD,CAAhB,EAA2B;IACvBA,OAAO,GAAGx6E,iBAAiB,CAACw6E,OAAD,CAA3B;;IACA,IAAI,CAACA,OAAL,EAAc;MACV,MAAM,IAAIrnJ,KAAJ,CAAW,gDAA+CqtE,iBAAiB,CAACi6E,aAAD,CAAgB,yDAAwDj6E,iBAAiB,CAACg6E,OAAD,CAAjB,IAA8BA,OAAQ,IAAzL,CAAN;IACH;EACJ;;EACD,IAAIhxE,cAAc,CAACgxE,OAAD,CAAd,IAA2B,IAA/B,EAAqC;IACjC,MAAMp/H,GAAG,GAAG8tD,eAAe,CAACsxE,OAAD,CAAf,IAA4BrxE,eAAe,CAACqxE,OAAD,CAA3C,IAAwD1xE,YAAY,CAAC0xE,OAAD,CAAhF;;IACA,IAAIp/H,GAAG,IAAI,IAAX,EAAiB;MACb;MACA,IAAI,CAACA,GAAG,CAACw/B,UAAT,EAAqB;QACjB,MAAM,IAAIznD,KAAJ,CAAW,QAAOqtE,iBAAiB,CAACg6E,OAAD,CAAU,KAAIF,yBAAyB,CAACE,OAAD,CAAU,oBAAmBh6E,iBAAiB,CAACi6E,aAAD,CAAgB,wEAAxI,CAAN;MACH;IACJ,CALD,MAMK;MACD;MACA,IAAIxE,qBAAqB,CAACuE,OAAD,CAAzB,EAAoC;QAChC,MAAM,IAAIrnJ,KAAJ,CAAW,8CAA6CqtE,iBAAiB,CAACi6E,aAAD,CAAgB,+EAAzF,CAAN;MACH,CAFD,MAGK;QACD,MAAM,IAAItnJ,KAAJ,CAAW,QAAOqtE,iBAAiB,CAACg6E,OAAD,CAAU,0BAAyBh6E,iBAAiB,CAACi6E,aAAD,CAAgB,kKAAvG,CAAN;MACH;IACJ;EACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASL,yBAAT,CAAmCj1J,IAAnC,EAAyCwJ,OAAzC,EAAkD;EAC9C,IAAI+rJ,mBAAmB,GAAG,IAA1B;EACA,IAAIC,cAAc,GAAG,IAArB;;EACA,MAAMzyE,aAAa,GAAG,MAAM;IACxB,IAAIwyE,mBAAmB,KAAK,IAA5B,EAAkC;MAC9B;MACA;MACAA,mBAAmB,GAAG,CAACxxE,eAAe,CAAC/jF,IAAD,CAAhB,CAAtB;MACA,MAAMy1J,IAAI,GAAG,IAAI5sI,GAAJ,EAAb;;MACA,KAAK,MAAM6sI,MAAX,IAAqBlsJ,OAArB,EAA8B;QAC1BC,SAAS,IAAI2rJ,sBAAsB,CAACM,MAAD,EAAS11J,IAAT,CAAnC;QACA,MAAMgkG,GAAG,GAAGnpB,iBAAiB,CAAC66E,MAAD,CAA7B;;QACA,IAAID,IAAI,CAAC/oI,GAAL,CAASs3E,GAAT,CAAJ,EAAmB;UACf;QACH;;QACDyxD,IAAI,CAAC7oJ,GAAL,CAASo3F,GAAT;;QACA,IAAI,CAAC,CAAC3f,cAAc,CAAC2f,GAAD,CAApB,EAA2B;UACvB,MAAM7f,KAAK,GAAGwvE,mBAAmB,CAAC3vD,GAAD,CAAjC;;UACA,KAAK,MAAMnrC,GAAX,IAAkBsrB,KAAK,CAAC6vE,QAAN,CAAenwE,UAAjC,EAA6C;YACzC,MAAM5tD,GAAG,GAAG8tD,eAAe,CAAClrB,GAAD,CAAf,IAAwBmrB,eAAe,CAACnrB,GAAD,CAAnD;;YACA,IAAI5iC,GAAG,IAAI,CAACw/H,IAAI,CAAC/oI,GAAL,CAASmsC,GAAT,CAAZ,EAA2B;cACvB48F,IAAI,CAAC7oJ,GAAL,CAASisD,GAAT;cACA08F,mBAAmB,CAAChxJ,IAApB,CAAyB0xB,GAAzB;YACH;UACJ;QACJ,CATD,MAUK;UACD,MAAMA,GAAG,GAAG8tD,eAAe,CAACigB,GAAD,CAAf,IAAwBhgB,eAAe,CAACggB,GAAD,CAAnD;;UACA,IAAI/tE,GAAJ,EAAS;YACLs/H,mBAAmB,CAAChxJ,IAApB,CAAyB0xB,GAAzB;UACH;QACJ;MACJ;IACJ;;IACD,OAAOs/H,mBAAP;EACH,CAhCD;;EAiCA,MAAMvyE,QAAQ,GAAG,MAAM;IACnB,IAAIwyE,cAAc,KAAK,IAAvB,EAA6B;MACzBA,cAAc,GAAG,EAAjB;MACA,MAAMC,IAAI,GAAG,IAAI5sI,GAAJ,EAAb;;MACA,KAAK,MAAM6sI,MAAX,IAAqBlsJ,OAArB,EAA8B;QAC1B,MAAMw6F,GAAG,GAAGnpB,iBAAiB,CAAC66E,MAAD,CAA7B;;QACA,IAAID,IAAI,CAAC/oI,GAAL,CAASs3E,GAAT,CAAJ,EAAmB;UACf;QACH;;QACDyxD,IAAI,CAAC7oJ,GAAL,CAASo3F,GAAT;;QACA,IAAI,CAAC,CAAC3f,cAAc,CAAC2f,GAAD,CAApB,EAA2B;UACvB,MAAM7f,KAAK,GAAGwvE,mBAAmB,CAAC3vD,GAAD,CAAjC;;UACA,KAAK,MAAMt2F,IAAX,IAAmBy2E,KAAK,CAAC6vE,QAAN,CAAelwE,KAAlC,EAAyC;YACrC,MAAM7tD,GAAG,GAAG0tD,YAAY,CAACj2E,IAAD,CAAxB;;YACA,IAAIuoB,GAAG,IAAI,CAACw/H,IAAI,CAAC/oI,GAAL,CAAShf,IAAT,CAAZ,EAA4B;cACxB+nJ,IAAI,CAAC7oJ,GAAL,CAASc,IAAT;cACA8nJ,cAAc,CAACjxJ,IAAf,CAAoB0xB,GAApB;YACH;UACJ;QACJ,CATD,MAUK;UACD,MAAMA,GAAG,GAAG0tD,YAAY,CAACqgB,GAAD,CAAxB;;UACA,IAAI/tE,GAAJ,EAAS;YACLu/H,cAAc,CAACjxJ,IAAf,CAAoB0xB,GAApB;UACH;QACJ;MACJ;IACJ;;IACD,OAAOu/H,cAAP;EACH,CA7BD;;EA8BA,OAAO;IACHzyE,aADG;IAEHC;EAFG,CAAP;AAIH;;AACD,SAASkyE,gBAAT,CAA0BtwD,SAA1B,EAAqC;EACjC,OAAOA,SAAS,CAACivD,eAAV,KAA8BpwJ,SAArC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkyJ,gBAAT,CAA0B31J,IAA1B,EAAgCyzF,SAAhC,EAA2C;EACvC,IAAImiE,cAAc,GAAG,IAArB;EACAnB,sBAAsB,CAACz0J,IAAD,EAAOyzF,SAAS,IAAI,EAApB,CAAtB;EACA9wF,MAAM,CAACu5F,cAAP,CAAsBl8F,IAAtB,EAA4B+hF,UAA5B,EAAwC;IACpCh4D,GAAG,EAAE,MAAM;MACP,IAAI6rI,cAAc,KAAK,IAAvB,EAA6B;QACzB;QACA;QACA;QACA,MAAM34D,IAAI,GAAG44D,oBAAoB,CAAC71J,IAAD,EAAOyzF,SAAS,IAAI,EAApB,CAAjC;QACA,MAAMqzB,QAAQ,GAAG9oB,iBAAiB,CAAC;UAAEI,KAAK,EAAE;UAAE;UAAX;UAA6CD,IAAI,EAAE,WAAnD;UAAgEn+F;QAAhE,CAAD,CAAlC;QACA41J,cAAc,GACV9uC,QAAQ,CAAC6uC,gBAAT,CAA0BrF,cAA1B,EAA0CrzD,IAAI,CAAC64D,YAA/C,EAA6D74D,IAAI,CAAChoE,QAAlE,CADJ;MAEH;;MACD,OAAO2gI,cAAP;IACH,CAZmC;IAapC;IACA1uC,YAAY,EAAE,CAAC,CAACz9G;EAdoB,CAAxC;AAgBH;;AACD,SAASosJ,oBAAT,CAA8B71J,IAA9B,EAAoCi1B,QAApC,EAA8C;EAC1C,MAAMl1B,IAAI,GAAGC,IAAI,IAAIA,IAAI,CAACD,IAA1B;EACA,MAAM+1J,YAAY,GAAI,SAAQ/1J,IAAK,UAAnC;EACA,MAAM+mH,QAAQ,GAAG9oB,iBAAiB,CAAC;IAAEI,KAAK,EAAE;IAAE;IAAX;IAA6CD,IAAI,EAAE,WAAnD;IAAgEn+F;EAAhE,CAAD,CAAlC;EACA,MAAM+1J,MAAM,GAAGrB,iBAAiB,CAAC10J,IAAD,EAAOi1B,QAAP,CAAhC;EACA8gI,MAAM,CAACpB,cAAP,GAAwB7tC,QAAQ,CAAC8tC,qBAAT,CAA+B,WAA/B,EAA4C70J,IAA5C,EAAkD+1J,YAAlD,CAAxB;;EACA,IAAIC,MAAM,CAAChB,eAAX,EAA4B;IACxBC,mCAAmC,CAACh1J,IAAD,CAAnC;EACH;;EACD,OAAO;IAAEi1B,QAAQ,EAAE8gI,MAAZ;IAAoBD;EAApB,CAAP;AACH;;AACD,SAASrB,sBAAT,CAAgCz0J,IAAhC,EAAsCi1B,QAAtC,EAAgD;EAC5C,IAAI4xF,YAAY,GAAG,IAAnB;EACAlkH,MAAM,CAACu5F,cAAP,CAAsBl8F,IAAtB,EAA4BkiF,cAA5B,EAA4C;IACxCn4D,GAAG,EAAE,MAAM;MACP,IAAI88F,YAAY,KAAK,IAArB,EAA2B;QACvB,MAAM5pB,IAAI,GAAG44D,oBAAoB,CAAC71J,IAAD,EAAOi1B,QAAP,CAAjC;QACA,MAAM6xF,QAAQ,GAAG9oB,iBAAiB,CAAC;UAAEI,KAAK,EAAE;UAAE;UAAX;UAA6CD,IAAI,EAAE,WAAnD;UAAgEn+F;QAAhE,CAAD,CAAlC;QACA6mH,YAAY,GAAGC,QAAQ,CAACE,cAAT,CAAwBspC,cAAxB,EAAyC,SAAQtwJ,IAAI,CAACD,IAAK,UAA3D,EAAsE;UACjFA,IAAI,EAAEk9F,IAAI,CAAChoE,QAAL,CAAcl1B,IAD6D;UAEjFC,IAAI,EAAEi9F,IAAI,CAAChoE,QAAL,CAAcj1B,IAF6D;UAGjFinH,iBAAiB,EAAE,CAH8D;UAIjFx0D,IAAI,EAAEqxC,mBAAmB,CAAC9jG,IAAD,CAJwD;UAKjF4I,MAAM,EAAEk+G,QAAQ,CAAChpB,aAAT,CAAuBlkG;QALkD,CAAtE,CAAf;MAOH;;MACD,OAAOitH,YAAP;IACH,CAduC;IAexC;IACAK,YAAY,EAAE,CAAC,CAACz9G;EAhBwB,CAA5C;AAkBH;;AACD,SAASusJ,yBAAT,CAAmCh2J,IAAnC,EAAyC;EACrC,OAAO2C,MAAM,CAACsS,cAAP,CAAsBjV,IAAI,CAAC8H,SAA3B,MAA0CnF,MAAM,CAACmF,SAAxD;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS4sJ,iBAAT,CAA2B10J,IAA3B,EAAiCi1B,QAAjC,EAA2C;EACvC;EACA,MAAMurE,OAAO,GAAGqD,UAAU,EAA1B;EACA,MAAMpC,YAAY,GAAGjB,OAAO,CAACoB,eAAR,CAAwB5hG,IAAxB,CAArB;EACA,OAAO;IACHD,IAAI,EAAEC,IAAI,CAACD,IADR;IAEHC,IAAI,EAAEA,IAFH;IAGH4J,QAAQ,EAAEqrB,QAAQ,CAACrrB,QAAT,KAAsBnG,SAAtB,GAAkCwxB,QAAQ,CAACrrB,QAA3C,GAAsD,IAH7D;IAIH8hB,IAAI,EAAEuJ,QAAQ,CAACvJ,IAAT,IAAiBi2D,SAJpB;IAKH8f,YAAY,EAAEA,YALX;IAMHx7F,MAAM,EAAEgvB,QAAQ,CAAChvB,MAAT,IAAmB27E,WANxB;IAOH17E,OAAO,EAAE+uB,QAAQ,CAAC/uB,OAAT,IAAoB07E,WAP1B;IAQH0tC,OAAO,EAAE2mC,sBAAsB,CAACj2J,IAAD,EAAOyhG,YAAP,EAAqBy0D,cAArB,CAR5B;IASHC,SAAS,EAAE;MAAEC,aAAa,EAAE51D,OAAO,CAACqB,gBAAR,CAAyB7hG,IAAzB,EAA+B,aAA/B;IAAjB,CATR;IAUH20J,cAAc,EAAE,IAVb;IAWHI,eAAe,EAAE,CAACiB,yBAAyB,CAACh2J,IAAD,CAXxC;IAYH6iF,QAAQ,EAAEwzE,eAAe,CAACphI,QAAQ,CAAC4tD,QAAV,CAZtB;IAaHt5E,SAAS,EAAE0rB,QAAQ,CAAC1rB,SAAT,IAAsB,IAb9B;IAcH+sJ,WAAW,EAAEL,sBAAsB,CAACj2J,IAAD,EAAOyhG,YAAP,EAAqBjE,WAArB,CAdhC;IAeH5Y,YAAY,EAAE,CAAC,CAAC3vD,QAAQ,CAACwgC;EAftB,CAAP;AAiBH;AACD;AACA;AACA;;;AACA,SAASu/F,mCAAT,CAA6Ch1J,IAA7C,EAAmD;EAC/C,MAAMu2J,YAAY,GAAG5zJ,MAAM,CAACmF,SAA5B;EACA,IAAIqD,MAAM,GAAGxI,MAAM,CAACsS,cAAP,CAAsBjV,IAAI,CAAC8H,SAA3B,EAAsC/I,WAAnD,CAF+C,CAG/C;;EACA,OAAOoM,MAAM,IAAIA,MAAM,KAAKorJ,YAA5B,EAA0C;IACtC;IACA;IACA,IAAI,CAACvyE,eAAe,CAAC74E,MAAD,CAAhB,IAA4B,CAAC44E,eAAe,CAAC54E,MAAD,CAA5C,IACAqrJ,0BAA0B,CAACrrJ,MAAD,CAD9B,EACwC;MACpCwqJ,gBAAgB,CAACxqJ,MAAD,EAAS,IAAT,CAAhB;IACH;;IACDA,MAAM,GAAGxI,MAAM,CAACsS,cAAP,CAAsB9J,MAAtB,CAAT;EACH;AACJ;;AACD,SAASsrJ,yBAAT,CAAmC7sJ,QAAnC,EAA6C;EACzC,OAAO,OAAOA,QAAP,KAAoB,QAApB,GAA+B8sJ,YAAY,CAAC9sJ,QAAD,CAA3C,GAAwDixE,iBAAiB,CAACjxE,QAAD,CAAhF;AACH;;AACD,SAAS+sJ,wBAAT,CAAkCr0H,YAAlC,EAAgDs0H,GAAhD,EAAqD;EACjD,OAAO;IACHt0H,YAAY,EAAEA,YADX;IAEH1qB,SAAS,EAAE6+I,yBAAyB,CAACG,GAAG,CAAChtJ,QAAL,CAFjC;IAGH6zF,WAAW,EAAEm5D,GAAG,CAACn5D,WAHd;IAIH1oF,KAAK,EAAE6hJ,GAAG,CAAC7hJ,KAJR;IAKH44I,IAAI,EAAEiJ,GAAG,CAACjJ,IAAJ,GAAWiJ,GAAG,CAACjJ,IAAf,GAAsB,IALzB;IAMHkJ,MAAM,EAAE,CAAC,CAACD,GAAG,CAACC,MANX;IAOHn5D,uBAAuB,EAAE,CAAC,CAACk5D,GAAG,CAACl5D;EAP5B,CAAP;AASH;;AACD,SAASu4D,sBAAT,CAAgCj2J,IAAhC,EAAsCyhG,YAAtC,EAAoDq1D,UAApD,EAAgE;EAC5D,MAAMC,WAAW,GAAG,EAApB;;EACA,KAAK,MAAM94E,KAAX,IAAoBwjB,YAApB,EAAkC;IAC9B,IAAIA,YAAY,CAAC1yE,cAAb,CAA4BkvD,KAA5B,CAAJ,EAAwC;MACpC,MAAMge,WAAW,GAAGwF,YAAY,CAACxjB,KAAD,CAAhC;MACAge,WAAW,CAAC93F,OAAZ,CAAoByyJ,GAAG,IAAI;QACvB,IAAIE,UAAU,CAACF,GAAD,CAAd,EAAqB;UACjB,IAAI,CAACA,GAAG,CAAChtJ,QAAT,EAAmB;YACf,MAAM,IAAIoE,KAAJ,CAAW,6CAA4CiwE,KAAM,OAAnD,GACX,IAAG5C,iBAAiB,CAACr7E,IAAD,CAAO,4CAD1B,CAAN;UAEH;;UACD,IAAIi8F,WAAW,CAACviE,IAAZ,CAAiBs9H,iBAAjB,CAAJ,EAAyC;YACrC,MAAM,IAAIhpJ,KAAJ,CAAW,wDAAX,CAAN;UACH;;UACD+oJ,WAAW,CAACxyJ,IAAZ,CAAiBoyJ,wBAAwB,CAAC14E,KAAD,EAAQ24E,GAAR,CAAzC;QACH;MACJ,CAXD;IAYH;EACJ;;EACD,OAAOG,WAAP;AACH;;AACD,SAASV,eAAT,CAAyBxzE,QAAzB,EAAmC;EAC/B,OAAOA,QAAQ,KAAKp/E,SAAb,GAAyB,IAAzB,GAAgCizJ,YAAY,CAAC7zE,QAAD,CAAnD;AACH;;AACD,SAASqzE,cAAT,CAAwBzzJ,KAAxB,EAA+B;EAC3B,MAAM1C,IAAI,GAAG0C,KAAK,CAAC05F,cAAnB;EACA,OAAOp8F,IAAI,KAAK,cAAT,IAA2BA,IAAI,KAAK,iBAA3C;AACH;;AACD,SAASy9F,WAAT,CAAqB/6F,KAArB,EAA4B;EACxB,MAAM1C,IAAI,GAAG0C,KAAK,CAAC05F,cAAnB;EACA,OAAOp8F,IAAI,KAAK,WAAT,IAAwBA,IAAI,KAAK,cAAxC;AACH;;AACD,SAASi3J,iBAAT,CAA2Bv0J,KAA3B,EAAkC;EAC9B,OAAOA,KAAK,CAAC05F,cAAN,KAAyB,OAAhC;AACH;;AACD,SAASu6D,YAAT,CAAsBj0J,KAAtB,EAA6B;EACzB,OAAOA,KAAK,CAACsxB,KAAN,CAAY,GAAZ,EAAiBhxB,GAAjB,CAAqBk0J,KAAK,IAAIA,KAAK,CAACt0H,IAAN,EAA9B,CAAP;AACH;;AACD,MAAMu0H,eAAe,GAAG,CACpB,aADoB,EACL,UADK,EACO,aADP,EACsB,WADtB,EACmC,iBADnC,EACsD,oBADtD,EAEpB,oBAFoB,EAEE,uBAFF,CAAxB;;AAIA,SAASV,0BAAT,CAAoCx2J,IAApC,EAA0C;EACtC,MAAMwgG,OAAO,GAAGqD,UAAU,EAA1B;;EACA,IAAIqzD,eAAe,CAACx9H,IAAhB,CAAqBy9H,QAAQ,IAAI32D,OAAO,CAACqB,gBAAR,CAAyB7hG,IAAzB,EAA+Bm3J,QAA/B,CAAjC,CAAJ,EAAgF;IAC5E,OAAO,IAAP;EACH;;EACD,MAAM11D,YAAY,GAAGjB,OAAO,CAACiB,YAAR,CAAqBzhG,IAArB,CAArB;;EACA,KAAK,MAAMi+E,KAAX,IAAoBwjB,YAApB,EAAkC;IAC9B,MAAMxF,WAAW,GAAGwF,YAAY,CAACxjB,KAAD,CAAhC;;IACA,KAAK,IAAItuE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGssF,WAAW,CAAC74F,MAAhC,EAAwCuM,CAAC,EAAzC,EAA6C;MACzC,MAAMy6E,OAAO,GAAG6R,WAAW,CAACtsF,CAAD,CAA3B;MACA,MAAM+W,YAAY,GAAG0jE,OAAO,CAAC+R,cAA7B;;MACA,IAAI66D,iBAAiB,CAAC5sE,OAAD,CAAjB,IAA8B8rE,cAAc,CAAC9rE,OAAD,CAA5C,IAAyDoT,WAAW,CAACpT,OAAD,CAApE,IACA1jE,YAAY,KAAK,QADjB,IAC6BA,YAAY,KAAK,aAD9C,IAEAA,YAAY,KAAK,cAFrB,EAEqC;QACjC,OAAO,IAAP;MACH;IACJ;EACJ;;EACD,OAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0wI,WAAT,CAAqBp3J,IAArB,EAA2Bi9F,IAA3B,EAAiC;EAC7B,IAAIo6D,SAAS,GAAG,IAAhB;EACA,IAAIxwC,YAAY,GAAG,IAAnB;EACAlkH,MAAM,CAACu5F,cAAP,CAAsBl8F,IAAtB,EAA4BkiF,cAA5B,EAA4C;IACxCn4D,GAAG,EAAE,MAAM;MACP,IAAI88F,YAAY,KAAK,IAArB,EAA2B;QACvB,MAAM5xF,QAAQ,GAAGqiI,eAAe,CAACt3J,IAAD,EAAOi9F,IAAP,CAAhC;QACA,MAAM6pB,QAAQ,GAAG9oB,iBAAiB,CAAC;UAAEI,KAAK,EAAE;UAAE;UAAX;UAA6CD,IAAI,EAAE,MAAnD;UAA2Dn+F,IAAI,EAAEi1B,QAAQ,CAACj1B;QAA1E,CAAD,CAAlC;QACA6mH,YAAY,GAAGC,QAAQ,CAACE,cAAT,CAAwBspC,cAAxB,EAAyC,SAAQr7H,QAAQ,CAACl1B,IAAK,UAA/D,EAA0E;UACrFA,IAAI,EAAEk1B,QAAQ,CAACl1B,IADsE;UAErFC,IAAI,EAAEi1B,QAAQ,CAACj1B,IAFsE;UAGrFinH,iBAAiB,EAAE,CAHkE;UAIrFx0D,IAAI,EAAEqxC,mBAAmB,CAAC9jG,IAAD,CAJ4D;UAKrF4I,MAAM,EAAEk+G,QAAQ,CAAChpB,aAAT,CAAuB5kG;QALsD,CAA1E,CAAf;MAOH;;MACD,OAAO2tH,YAAP;IACH,CAduC;IAexC;IACAK,YAAY,EAAE,CAAC,CAACz9G;EAhBwB,CAA5C;EAkBA9G,MAAM,CAACu5F,cAAP,CAAsBl8F,IAAtB,EAA4BgiF,WAA5B,EAAyC;IACrCj4D,GAAG,EAAE,MAAM;MACP,IAAIstI,SAAS,KAAK,IAAlB,EAAwB;QACpB,MAAMpiI,QAAQ,GAAGqiI,eAAe,CAACt3J,IAAD,EAAOi9F,IAAP,CAAhC;QACA,MAAM6pB,QAAQ,GAAG9oB,iBAAiB,CAAC;UAAEI,KAAK,EAAE;UAAE;UAAX;UAA6CD,IAAI,EAAE,MAAnD;UAA2Dn+F,IAAI,EAAEi1B,QAAQ,CAACj1B;QAA1E,CAAD,CAAlC;QACAq3J,SAAS,GACLvwC,QAAQ,CAACswC,WAAT,CAAqB9G,cAArB,EAAsC,SAAQr7H,QAAQ,CAACl1B,IAAK,WAA5D,EAAwEk1B,QAAxE,CADJ;MAEH;;MACD,OAAOoiI,SAAP;IACH,CAToC;IAUrC;IACAnwC,YAAY,EAAE,CAAC,CAACz9G;EAXqB,CAAzC;AAaH;;AACD,SAAS6tJ,eAAT,CAAyBt3J,IAAzB,EAA+Bi9F,IAA/B,EAAqC;EACjC,OAAO;IACHj9F,IAAI,EAAEA,IADH;IAEHD,IAAI,EAAEC,IAAI,CAACD,IAFR;IAGH0oJ,QAAQ,EAAExrD,IAAI,CAACl9F,IAHZ;IAIHE,IAAI,EAAEg9F,IAAI,CAACh9F,IAAL,KAAcwD,SAAd,GAA0Bw5F,IAAI,CAACh9F,IAA/B,GAAsC,IAJzC;IAKH2kF,YAAY,EAAE,CAAC,CAACqY,IAAI,CAACxnC;EALlB,CAAP;AAOH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM77D,SAAS,GAAG2hG,aAAa,CAAC,WAAD,EAAc,CAAC1iC,GAAG,GAAG,EAAP,KAAcA,GAA5B,EAAiCp1D,SAAjC,EAA4CA,SAA5C,EAAuD,CAACzD,IAAD,EAAOi9F,IAAP,KAAgB04D,gBAAgB,CAAC31J,IAAD,EAAOi9F,IAAP,CAAvF,CAA/B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMxjG,SAAS,GAAG8hG,aAAa,CAAC,WAAD,EAAc,CAACg8D,CAAC,GAAG,EAAL,MAAa;EAAE3vJ,eAAe,EAAElO,uBAAuB,CAAC6lF,OAA3C;EAAoD,GAAGg4E;AAAvD,CAAb,CAAd,EAAwF39J,SAAxF,EAAmG6J,SAAnG,EAA8G,CAACzD,IAAD,EAAOi9F,IAAP,KAAgBs3D,gBAAgB,CAACv0J,IAAD,EAAOi9F,IAAP,CAA9I,CAA/B;AACA;AACA;AACA;AACA;;AACA,MAAM/jG,IAAI,GAAGqiG,aAAa,CAAC,MAAD,EAAUx2E,CAAD,KAAQ;EAAE9kB,IAAI,EAAE,IAAR;EAAc,GAAG8kB;AAAjB,CAAR,CAAT,EAAwCthB,SAAxC,EAAmDA,SAAnD,EAA8D,CAACzD,IAAD,EAAOi9F,IAAP,KAAgBm6D,WAAW,CAACp3J,IAAD,EAAOi9F,IAAP,CAAzF,CAA1B;AACA;AACA;AACA;AACA;;AACA,MAAM3jG,KAAK,GAAGujG,iBAAiB,CAAC,OAAD,EAAW26D,mBAAD,KAA0B;EAAEA;AAAF,CAA1B,CAAV,CAA/B;AACA;AACA;AACA;AACA;;AACA,MAAMj+J,MAAM,GAAGsjG,iBAAiB,CAAC,QAAD,EAAY26D,mBAAD,KAA0B;EAAEA;AAAF,CAA1B,CAAX,CAAhC;AACA;AACA;AACA;AACA;;AACA,MAAMC,WAAW,GAAG56D,iBAAiB,CAAC,aAAD,EAAiB66D,gBAAD,KAAuB;EAAEA;AAAF,CAAvB,CAAhB,CAArC;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,MAAMl+J,YAAY,GAAGqjG,iBAAiB,CAAC,cAAD,EAAiB,CAACryE,SAAD,EAAY7gB,IAAZ,MAAsB;EAAE6gB,SAAF;EAAa7gB;AAAb,CAAtB,CAAjB,CAAtC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,MAAM9P,QAAQ,GAAG0hG,aAAa,CAAC,UAAD,EAActyF,QAAD,IAAcA,QAA3B,EAAqCxF,SAArC,EAAgDA,SAAhD;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAACzD,IAAD,EAAOi9F,IAAP,KAAgBs0D,eAAe,CAACvxJ,IAAD,EAAOi9F,IAAP,CAZD,CAA9B;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS18F,IAAT,CAAc,GAAGoJ,IAAjB,EAAuB,CACnB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AA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A,SAAS,CAAC14G,MAA/C,IAA0D00F,iBAAjE;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM57F,SAAS,GAAG,IAAIT,cAAJ,CAAmB,UAAnB,EAA+B;EAC7CsC,UAAU,EAAE,MADiC;EAE7CkmB,OAAO,EAAE,MAAMroB,MAAM,CAACM,SAAD,EAAYilC,WAAW,CAACtlC,QAAZ,GAAuBslC,WAAW,CAACmR,QAA/C,CAAN,IAAkEspE,eAAe;AAFnD,CAA/B,CAAlB;AAIA;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,MAAM/+G,qBAAqB,GAAG,IAAIpB,cAAJ,CAAmB,qBAAnB,EAA0C;EACpEsC,UAAU,EAAE,MADwD;EAEpEkmB,OAAO,EAAE,MAAM8zE;AAFqD,CAA1C,CAA9B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMgkB,YAAY,GAAG,IAAItgH,cAAJ,CAAmB,cAAnB,CAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMugH,mBAAmB,GAAG,IAAIvgH,cAAJ,CAAmB,oBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIwgH,0BAAJ;;AACA,CAAC,UAAUA,0BAAV,EAAsC;EACnCA,0BAA0B,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CD,OAAO;IAAEJ,2BAAF;IAA+BC;EAA/B,CAAP;AACH;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,MAAMvgH,MAAN,CAAa;EACT17C,WAAW,CAAC;IAAEq8J,oBAAoB,GAAG,KAAzB;IAAgCC,kCAAkC,GAAG,KAArE;IAA4EC,gCAAgC,GAAG;EAA/G,CAAD,EAAyH;IAChI,KAAKC,oBAAL,GAA4B,KAA5B;IACA,KAAKC,oBAAL,GAA4B,KAA5B;IACA;AACR;AACA;;IACQ,KAAKC,QAAL,GAAgB,IAAhB;IACA;AACR;AACA;;IACQ,KAAKC,UAAL,GAAkB,IAAItiK,YAAJ,CAAiB,KAAjB,CAAlB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAKuiK,gBAAL,GAAwB,IAAIviK,YAAJ,CAAiB,KAAjB,CAAxB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAKwiK,QAAL,GAAgB,IAAIxiK,YAAJ,CAAiB,KAAjB,CAAhB;IACA;AACR;AACA;;IACQ,KAAK08E,OAAL,GAAe,IAAI18E,YAAJ,CAAiB,KAAjB,CAAf;;IACA,IAAI,OAAOyhK,IAAP,IAAe,WAAnB,EAAgC;MAC5B,MAAM,IAAI7/E,YAAJ,CAAiB;MAAI;MAArB,EAA4DvxE,SAAS,IAAK,gDAA1E,CAAN;IACH;;IACDoxJ,IAAI,CAACgB,iBAAL;IACA,MAAMh8E,IAAI,GAAG,IAAb;IACAA,IAAI,CAACi8E,QAAL,GAAgB,CAAhB;IACAj8E,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,EADM,CAEN;;IACA,MAAMA,CAAN;EACH;AACJ;;AACD,SAAS2gK,cAAT,CAAwB9uE,GAAxB,EAA6Bw2B,IAA7B,EAAmC;EAC/B,IAAInnH,KAAK,CAACC,OAAN,CAAcknH,IAAd,CAAJ,EAAyB;IACrBx2B,GAAG,GAAGw2B,IAAI,CAACr6G,MAAL,CAAY2yJ,cAAZ,EAA4B9uE,GAA5B,CAAN;EACH,CAFD,MAGK;IACDA,GAAG,GAAG,EAAE,GAAGA,GAAL;MAAU,GAAGw2B;IAAb,CAAN;EACH;;EACD,OAAOx2B,GAAP;AACH;AACD;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,MAAM8tE,cAAN,CAAqB;EACjB;EACAtkK,WAAW,CAAC8lK,KAAD,EAAQjgB,SAAR,EAAmBkgB,iBAAnB,EAAsC;IAC7C,KAAKD,KAAL,GAAaA,KAAb;IACA,KAAKjgB,SAAL,GAAiBA,SAAjB;IACA,KAAKkgB,iBAAL,GAAyBA,iBAAzB;IACA;;IACA,KAAKC,mBAAL,GAA2B,EAA3B;IACA,KAAKC,MAAL,GAAc,EAAd;IACA,KAAKC,YAAL,GAAoB,KAApB;IACA,KAAKC,OAAL,GAAe,IAAf;IACA,KAAKtiJ,UAAL,GAAkB,KAAlB;IACA,KAAKmhJ,iBAAL,GAAyB,EAAzB;IACA;AACR;AACA;AACA;;IACQ,KAAKoB,cAAL,GAAsB,EAAtB;IACA;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+D;EAAG;EAAhF,CAAJ,EAA0G;IAC3G;IACA;IACA,MAAM4mK,iBAAiB,GAAGt/E,KAAK,CAACxB,0BAAD,CAA/B,CAH2G,CAG9C;;IAC7D,OAAO,IAAIi5C,SAAJ,CAAc6nC,iBAAd,EAAiCt/E,KAAjC,CAAP;EACH;;EACD,OAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMu/E,OAAN,SAAsBxtK,iBAAtB,CAAwC;AAExC;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,MAAMytK,eAAN,SAA8BD,OAA9B,CAAsC;AAGtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIE,6BAA6B,GAAG,EAApC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,MAAMC,kBAAN,CAAyB;EACrBjoK,WAAW,CAACgB,IAAD,EAAOoY,QAAP,EAAiB;IACxB,KAAKpY,IAAL,GAAYA,IAAZ;IACA,KAAKoY,QAAL,GAAgBA,QAAhB;EACH;;AAJoB;AAMzB;AACA;AACA;;;AACA,SAAS8uJ,gBAAT,CAA0BC,QAA1B,EAAoC;EAChC,OAAOA,QAAQ,CAACnkK,GAAT,CAAcy/D,EAAD,IAAQA,EAAE,CAACn6D,aAAxB,CAAP;AACH;AACD;AACA;AACA;;;AACA,MAAM8+J,SAAN,CAAgB;EACZpoK,WAAW,CAACqoK,UAAD,EAAa;IACpB,KAAKA,UAAL,GAAkBA,UAAlB;EACH;EACD;AACJ;AACA;;;EACc,IAANj8J,MAAM,GAAG;IACT,MAAMA,MAAM,GA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,KAAK,CAACC,OAAN,CAAcpC,KAAd,CAA9B,KAAuDA,KAAK,CAACW,MAAN,KAAiB,CAD7E;AAEH;;AACD,SAASq0K,cAAT,CAAwBh1K,KAAxB,EAA+B;EAC3B;EACA,OAAOA,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAK,CAACW,MAAb,KAAwB,QAAhD;AACH;AACD;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,MAAMs0K,aAAa,GAAG,IAAI3+H,yDAAJ,CAAmB,cAAnB,CAAtB;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,MAAM4+H,mBAAmB,GAAG,IAAI5+H,yDAAJ,CAAmB,mBAAnB,CAA5B;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,MAAM6+H,YAAY,GAAG,oMAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,UAAN,CAAiB;EACb;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACc,OAAH5yJ,GAAG,CAACA,GAAD,EAAM;IACZ,OAAO6yJ,YAAY,CAAC7yJ,GAAD,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACc,OAAHH,GAAG,CAACA,GAAD,EAAM;IACZ,OAAOizJ,YAAY,CAACjzJ,GAAD,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACmB,OAARkzJ,QAAQ,CAACC,OAAD,EAAU;IACrB,OAAOC,iBAAiB,CAACD,OAAD,CAAxB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACuB,OAAZE,YAAY,CAACF,OAAD,EAAU;IACzB,OAAOG,qBAAqB,CAACH,OAAD,CAA5B;EACH;EACD;AACJ;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;;;EACgB,OAALI,KAAK,CAACJ,OAAD,EAAU;IAClB,OAAOK,cAAc,CAACL,OAAD,CAArB;EACH;EACD;AACJ;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;;;EACoB,OAATM,SAAS,CAACA,SAAD,EAAY;IACxB,OAAOC,kBAAkB,CAACD,SAAD,CAAzB;EACH;EACD;AACJ;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;;;EACoB,OAATE,SAAS,CAACA,SAAD,EAAY;IACxB,OAAOC,kBAAkB,CAACD,SAAD,CAAzB;EACH;EACD;AACJ;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;A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A2BrB,UAA3B;IACA,KAAKwC,yBAAL,GAAiCoD,sBAAsB,CAAC5F,UAAD,CAAvD;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIwB,aAAa,CAACxB,UAAD,EAAa;IACtB,KAAK4G,aAAL,CAAmBpF,aAAa,CAACxB,UAAD,EAAa,KAAKmB,cAAlB,CAAhC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI2F,kBAAkB,CAAC9G,UAAD,EAAa;IAC3B,KAAK6G,kBAAL,CAAwBrF,aAAa,CAACxB,UAAD,EAAa,KAAKqB,mBAAlB,CAArC;EACH;EACD;AACJ;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;;;EACIM,gBAAgB,CAAC3B,UAAD,EAAa;IACzB,KAAK4G,aAAL,CAAmBjF,gBAAgB,CAAC3B,UAAD,EAAa,KAAKmB,cAAlB,CAAnC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI4F,qBAAqB,CAAC/G,UAAD,EAAa;IAC9B,KAAK6G,kBAAL,CAAwBlF,gBAAgB,CAAC3B,UAAD,EAAa,KAAKqB,mBAAlB,CAAxC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIE,YAAY,CAACf,SAAD,EAAY;IACpB,OAAOe,YAAY,CAAC,KAAKJ,cAAN,EAAsBX,SAAtB,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIwG,iBAAiB,CAACxG,SAAD,EAAY;IACzB,OAAOe,YAAY,CAAC,KAAKF,mBAAN,EAA2Bb,SAA3B,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIyG,eAAe,GAAG;IACd,K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AD,EAAK;IAC5B,KAAKs7K,mBAAL,GAA2Bt7K,EAA3B;EACH;EACD;;;EACAy+K,kBAAkB,CAAC7kG,IAAD,EAAO;IACrB,IAAI4gG,YAAY,CAAC5gG,IAAD,CAAZ,IAAsBA,IAAI,CAAC8hG,QAAL,IAAiB,IAA3C,EAAiD;MAC7C,KAAKC,SAAL,GAAiB/hG,IAAI,CAAC8hG,QAAtB;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;;;EACIoB,kBAAkB,CAACV,QAAD,EAAW;IACzB,MAAMsC,WAAW,GAAG,KAAK52D,OAAL,IAAgB,KAAKA,OAAL,CAAa8H,KAAjD;IACA,OAAO,CAACwsD,QAAD,IAAa,CAAC,CAACsC,WAAf,IAA8B,CAAC,KAAK52D,OAAL,CAAaw2D,iBAAb,EAAtC;EACH;EACD;;;EACAJ,KAAK,CAACjiL,IAAD,EAAO;IACR,OAAO,IAAP;EACH;;AA9yBiB;AAizBtB;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,MAAM0iL,SAAN,SAAwBzD,eAAxB,CAAwC;EACpC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,CAX2B,CAAP;EAkBlB,CArBxB,EAqB0C;IAAE53K,IAAI,EAAE,CAAC;MACnCC,IAAI,EAAE1G,gDAD6B;MAEnCqQ,IAAI,EAAE,CAAC,cAAD;IAF6B,CAAD;EAAR,CArB1C;AAAA;AA0BA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMg/K,oBAAoB,GAAG;EACzBxoL,OAAO,EAAE27K,SADgB;EAEzB17K,WAAW,EAAEjH,yDAAU,CAAC,MAAMsO,OAAP;AAFE,CAA7B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM8tE,eAAe,GAAG,CAAC,MAAMxnE,OAAO,CAACP,OAAR,EAAP,GAAxB;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,MAAM/F,OAAN,SAAsBq0K,SAAtB,CAAgC;EAC5B/8K,WAAW,CAACoM,MAAD,EAAS2tK,UAAT,EAAqB2F,eAArB,EAAsCwH,cAAtC,EAAsD2C,kBAAtD,EAA0E;IACjF;IACA,KAAKA,kBAAL,GAA0BA,kBAA1B;IACA,KAAK3Q,OAAL,GAAe,IAAI0P,WAAJ,EAAf;IACA;;IACA,KAAKkB,WAAL,GAAmB,KAAnB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAKn5G,MAAL,GAAc,IAAIt2E,uDAAJ,EAAd;IACA,KAAKwyH,OAAL,GAAezgH,MAAf;;IAC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ACA;EACqB,OAAVC,UAAU,CAACvyG,IAAD,EAAO;IACpB,OAAO;MACHz0E,QAAQ,EAAE+mL,mBADP;MAEHzmL,SAAS,EAAE,CACP;QAAEpJ,OAAO,EAAEyqL,kCAAX;QAA+ClkH,QAAQ,EAAEgX,IAAI,CAACwyG;MAA9D,CADO;IAFR,CAAP;EAMH;;AAhBqB;;AAkB1BF,mBAAmB,CAACtwL,IAApB;EAAA,iBAAiHswL,mBAAjH;AAAA;;AACAA,mBAAmB,CAAC7mL,IAApB,kBA33M4Gqc,8DA23M5G;EAAA,MAAkHwqK;AAAlH;AACAA,mBAAmB,CAAC3mL,IAApB,kBA53M4Gmc,8DA43M5G;EAAA,UAAiJuqK,0BAAjJ;AAAA;;AACA;EAAA,mDA73M4GvqK,+DA63M5G,CAA4FwqK,mBAA5F,EAA6H,CAAC;IAClHhwL,IAAI,EAAEnG,mDAD4G;IAElH8P,IAAI,EAAE,CAAC;MACCG,YAAY,EAAE,CAACgmL,0BAAD,CADf;MAEC/lL,OAAO,EAAE,CAACgmL,0BAAD,EAA6BD,0BAA7B;IAFV,CAAD;EAF4G,CAAD,CAA7H;AAAA;AAQA;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,MAAMK,SAAN,SAAwBnR,eAAxB,CAAwC;EACpC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACIjgL,WAAW,CAAC8/K,QAAD,EAAWR,eAAX,EAA4B9C,cAA5B,EAA4C;IACnD,MAAM6C,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAAC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A;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,MAAMgtN,UAAN,CAAiB;EACbjtN,WAAW,CAACqlN,MAAD,EAAShhB,KAAT,EAAgB6oB,iBAAhB,EAAmCnjJ,QAAnC,EAA6CtG,EAA7C,EAAiD;IACxD,KAAK4hJ,MAAL,GAAcA,MAAd;IACA,KAAKhhB,KAAL,GAAaA,KAAb;IACA,KAAK6oB,iBAAL,GAAyBA,iBAAzB;IACA,KAAKnjJ,QAAL,GAAgBA,QAAhB;IACA,KAAKtG,EAAL,GAAUA,EAAV;IACA,KAAK0pJ,iBAAL,GAAyB,KAAzB;IACA,KAAKC,mBAAL,GAA2B,KAA3B;IACA,KAAKC,WAAL,GAAmB,KAAnB;IACA,KAAK1iB,QAAL,GAAgB,IAAhB;IACA;;IACA,KAAK2iB,SAAL,GAAiB,IAAIhiN,0CAAJ,EAAjB;IACA,KAAKiiN,0BAAL,CAAgC,GAAhC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACwB,IAAhBtB,gBAAgB,CAACA,gBAAD,EAAmB;IACnC,KAAKkB,iBAAL,GAAyBz4C,kEAAgB,CAACu3C,gBAAD,CAAzC;EACH;;EACmB,IAAhBA,gBAAgB,GAAG;IACnB,OAAO,KAAKkB,iBAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EAC0B,IAAlBnD,kBAAkB,CAACA,kBAAD,EAAqB;IACvC,KAAKoD,mBAAL,GAA2B14C,kEAAgB,CAACs1C,kBAAD,CAA3C;EACH;;EACqB,IAAlBA,kBAAkB,GAAG;IACrB,OAA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","sources":["./node_modules/ng-multiselect-dropdown/__ivy_ngcc__/fesm2015/ng-multiselect-dropdown.js","./node_modules/rxjs/_esm2015/internal/BehaviorSubject.js","./node_modules/rxjs/_esm2015/internal/InnerSubscriber.js","./node_modules/rxjs/_esm2015/internal/Observable.js","./node_modules/rxjs/_esm2015/internal/Observer.js","./node_modules/rxjs/_esm2015/internal/OuterSubscriber.js","./node_modules/rxjs/_esm2015/internal/Scheduler.js","./node_modules/rxjs/_esm2015/internal/Subject.js","./node_modules/rxjs/_esm2015/internal/SubjectSubscription.js","./node_modules/rxjs/_esm2015/internal/Subscriber.js","./node_modules/rxjs/_esm2015/internal/Subscription.js","./node_modules/rxjs/_esm2015/internal/config.js","./node_modules/rxjs/_esm2015/internal/observable/ConnectableObservable.js","./node_modules/rxjs/_esm2015/internal/observable/combineLatest.js","./node_modules/rxjs/_esm2015/internal/observable/concat.js","./node_modules/rxjs/_esm2015/internal/observable/defer.js","./node_modules/rxjs/_esm2015/internal/observable/empty.js","./node_modules/rxjs/_esm2015/internal/observable/forkJoin.js","./node_modules/rxjs/_esm2015/internal/observable/from.js","./node_modules/rxjs/_esm2015/internal/observable/fromArray.js","./node_modules/rxjs/_esm2015/internal/observable/merge.js","./node_modules/rxjs/_esm2015/internal/observable/of.js","./node_modules/rxjs/_esm2015/internal/observable/throwError.js","./node_modules/rxjs/_esm2015/internal/operators/catchError.js","./node_modules/rxjs/_esm2015/internal/operators/concatAll.js","./node_modules/rxjs/_esm2015/internal/operators/concatMap.js","./node_modules/rxjs/_esm2015/internal/operators/debounceTime.js","./node_modules/rxjs/_esm2015/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/_esm2015/internal/operators/filter.js","./node_modules/rxjs/_esm2015/internal/operators/finalize.js","./node_modules/rxjs/_esm2015/internal/operators/first.js","./node_modules/rxjs/_esm2015/internal/operators/last.js","./node_modules/rxjs/_esm2015/internal/operators/map.js","./node_modules/rxjs/_esm2015/internal/operators/mapTo.js","./node_modules/rxjs/_esm2015/internal/operators/mergeAll.js","./node_modules/rxjs/_esm2015/internal/operators/mergeMap.js","./node_modules/rxjs/_esm2015/internal/operators/multicast.js","./node_modules/rxjs/_esm2015/internal/operators/refCount.js","./node_modules/rxjs/_esm2015/internal/operators/scan.js","./node_modules/rxjs/_esm2015/internal/operators/share.js","./node_modules/rxjs/_esm2015/internal/operators/startWith.js","./node_modules/rxjs/_esm2015/internal/operators/switchMap.js","./node_modules/rxjs/_esm2015/internal/operators/take.js","./node_modules/rxjs/_esm2015/internal/operators/takeLast.js","./node_modules/rxjs/_esm2015/internal/operators/takeUntil.js","./node_modules/rxjs/_esm2015/internal/operators/takeWhile.js","./node_modules/rxjs/_esm2015/internal/operators/tap.js","./node_modules/rxjs/_esm2015/internal/operators/throwIfEmpty.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleArray.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/_esm2015/internal/scheduled/schedulePromise.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduled.js","./node_modules/rxjs/_esm2015/internal/scheduler/Action.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsyncAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/async.js","./node_modules/rxjs/_esm2015/internal/symbol/iterator.js","./node_modules/rxjs/_esm2015/internal/symbol/observable.js","./node_modules/rxjs/_esm2015/internal/symbol/rxSubscriber.js","./node_modules/rxjs/_esm2015/internal/util/ArgumentOutOfRangeError.js","./node_modules/rxjs/_esm2015/internal/util/EmptyError.js","./node_modules/rxjs/_esm2015/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/_esm2015/internal/util/UnsubscriptionError.js","./node_modules/rxjs/_esm2015/internal/util/canReportError.js","./node_modules/rxjs/_esm2015/internal/util/hostReportError.js","./node_modules/rxjs/_esm2015/internal/util/identity.js","./node_modules/rxjs/_esm2015/internal/util/isArray.js","./node_modules/rxjs/_esm2015/internal/util/isArrayLike.js","./node_modules/rxjs/_esm2015/internal/util/isFunction.js","./node_modules/rxjs/_esm2015/internal/util/isInteropObservable.js","./node_modules/rxjs/_esm2015/internal/util/isIterable.js","./node_modules/rxjs/_esm2015/internal/util/isObject.js","./node_modules/rxjs/_esm2015/internal/util/isPromise.js","./node_modules/rxjs/_esm2015/internal/util/isScheduler.js","./node_modules/rxjs/_esm2015/internal/util/noop.js","./node_modules/rxjs/_esm2015/internal/util/pipe.js","./node_modules/rxjs/_esm2015/internal/util/subscribeTo.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToArray.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToIterable.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToObservable.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToPromise.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToResult.js","./node_modules/rxjs/_esm2015/internal/util/toSubscriber.js","./node_modules/ng-multiselect-dropdown/node_modules/tslib/tslib.es6.js","./node_modules/@angular/animations/fesm2020/animations.mjs","./node_modules/@angular/animations/fesm2020/browser.mjs","./node_modules/@angular/common/fesm2020/common.mjs","./node_modules/@angular/common/fesm2020/http.mjs","./node_modules/@angular/core/fesm2020/core.mjs","./node_modules/@angular/forms/fesm2020/forms.mjs","./node_modules/@angular/platform-browser/fesm2020/animations.mjs","./node_modules/@angular/platform-browser/fesm2020/platform-browser.mjs","./node_modules/@angular/router/fesm2020/router.mjs","./node_modules/ngx-toastr/fesm2020/ngx-toastr.mjs"],"sourcesContent":["import { __decorate } from 'tslib';\nimport { Pipe, forwardRef, EventEmitter, ChangeDetectorRef, Input, Output, HostListener, Component, ChangeDetectionStrategy, ElementRef, Directive, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\nimport * as ɵngcc2 from '@angular/forms';\n\nfunction MultiSelectComponent_span_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\");\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(ctx_r0._placeholder);\n} }\nfunction MultiSelectComponent_span_4_Template(rf, ctx) { if (rf & 1) {\n const _r11 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"span\", 15)(1, \"span\", 16)(2, \"span\");\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(4, \"a\", 17);\n ɵngcc0.ɵɵlistener(\"click\", function MultiSelectComponent_span_4_Template_a_click_4_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r11); const item_r8 = restoredCtx.$implicit; const ctx_r10 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r10.onItemClick($event, item_r8)); });\n ɵngcc0.ɵɵtext(5, \"x\");\n ɵngcc0.ɵɵelementEnd()()();\n} if (rf & 2) {\n const item_r8 = ctx.$implicit;\n const k_r9 = ctx.index;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"hidden\", k_r9 > ctx_r1._settings.itemsShowLimit - 1);\n ɵngcc0.ɵɵattribute(\"title\", item_r8.tooltip);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate1(\"\", item_r8.text, \"\\u00A0\");\n} }\nfunction MultiSelectComponent_span_6_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 18);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\"+\", ctx_r2.itemShowRemaining(), \"\");\n} }\nfunction MultiSelectComponent_li_10_Template(rf, ctx) { if (rf & 1) {\n const _r13 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"li\", 19);\n ɵngcc0.ɵɵlistener(\"click\", function MultiSelectComponent_li_10_Template_li_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r12 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r12.toggleSelectAll()); });\n ɵngcc0.ɵɵelement(1, \"input\", 20);\n ɵngcc0.ɵɵelementStart(2, \"div\");\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"checked\", ctx_r3.isAllItemsSelected())(\"disabled\", ctx_r3.disabled || ctx_r3.isLimitSelectionReached());\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(!ctx_r3.isAllItemsSelected() ? ctx_r3._settings.selectAllText : ctx_r3._settings.unSelectAllText);\n} }\nfunction MultiSelectComponent_li_11_Template(rf, ctx) { if (rf & 1) {\n const _r15 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"li\", 21)(1, \"input\", 22);\n ɵngcc0.ɵɵlistener(\"ngModelChange\", function MultiSelectComponent_li_11_Template_input_ngModelChange_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r15); const ctx_r14 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r14.filter.text = $event); })(\"ngModelChange\", function MultiSelectComponent_li_11_Template_input_ngModelChange_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r15); const ctx_r16 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r16.onFilterTextChange($event)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"readOnly\", ctx_r4.disabled)(\"placeholder\", ctx_r4._settings.searchPlaceholderText)(\"ngModel\", ctx_r4.filter.text);\n} }\nfunction MultiSelectComponent_li_13_Template(rf, ctx) { if (rf & 1) {\n const _r20 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"li\", 23);\n ɵngcc0.ɵɵlistener(\"click\", function MultiSelectComponent_li_13_Template_li_click_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r20); const item_r17 = restoredCtx.$implicit; const ctx_r19 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r19.onItemClick($event, item_r17)); });\n ɵngcc0.ɵɵelement(1, \"input\", 24);\n ɵngcc0.ɵɵelementStart(2, \"div\");\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const item_r17 = ctx.$implicit;\n const ctx_r5 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"title\", item_r17.tooltip);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"checked\", ctx_r5.isSelected(item_r17))(\"disabled\", ctx_r5.disabled || ctx_r5.isLimitSelectionReached() && !ctx_r5.isSelected(item_r17) || item_r17.isDisabled);\n ɵngcc0.ɵɵattribute(\"aria-label\", item_r17.text);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(item_r17.text);\n} }\nfunction MultiSelectComponent_li_15_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"li\", 25)(1, \"h5\");\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r6 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r6._settings.noFilteredDataAvailablePlaceholderText);\n} }\nfunction MultiSelectComponent_li_17_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"li\", 26)(1, \"h5\");\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r7 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r7._settings.noDataAvailablePlaceholderText);\n} }\nconst _c0 = function (a0) { return { \"dropdown-multiselect--active\": a0 }; };\nclass ListItem {\n constructor(source) {\n if (typeof source === 'string' || typeof source === 'number') {\n this.id = this.text = source;\n this.isDisabled = false;\n }\n if (typeof source === 'object') {\n this.id = source.id;\n this.text = source.text;\n this.tooltip = source.tooltip;\n this.isDisabled = source.isDisabled;\n }\n }\n}\n\nlet ListFilterPipe = class ListFilterPipe {\n transform(items, filter) {\n if (!items || !filter) {\n return items;\n }\n return items.filter((item) => this.applyFilter(item, filter));\n }\n applyFilter(item, filter) {\n if (typeof item.text === 'string' && typeof filter.text === 'string') {\n return !(filter.text && item.text && item.text.toLowerCase().indexOf(filter.text.toLowerCase()) === -1);\n }\n else {\n return !(filter.text && item.text && item.text.toString().toLowerCase().indexOf(filter.text.toString().toLowerCase()) === -1);\n }\n }\n};\nListFilterPipe.ɵfac = function ListFilterPipe_Factory(t) { return new (t || ListFilterPipe)(); };\nListFilterPipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"multiSelectFilter\", type: ListFilterPipe, pure: false });\n\nconst DROPDOWN_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectComponent),\n multi: true\n};\nconst noop = () => { };\nconst ɵ0 = noop;\nlet MultiSelectComponent = class MultiSelectComponent {\n constructor(listFilterPipe, cdr) {\n this.listFilterPipe = listFilterPipe;\n this.cdr = cdr;\n this._data = [];\n this.selectedItems = [];\n this.isDropdownOpen = true;\n this._placeholder = \"Select\";\n this._sourceDataType = null; // to keep note of the source data type. could be array of string/number/object\n this._sourceDataFields = []; // store source data fields names\n this.filter = new ListItem(this.data);\n this.defaultSettings = {\n singleSelection: false,\n idField: \"id\",\n textField: \"text\",\n tooltipField: \"tooltip\",\n disabledField: \"isDisabled\",\n enableCheckAll: true,\n selectAllText: \"Select All\",\n unSelectAllText: \"UnSelect All\",\n allowSearchFilter: false,\n limitSelection: -1,\n clearSearchFilter: true,\n maxHeight: 197,\n itemsShowLimit: 999999999999,\n searchPlaceholderText: \"Search\",\n noDataAvailablePlaceholderText: \"No data available\",\n noFilteredDataAvailablePlaceholderText: \"No filtered data available\",\n closeDropDownOnSelection: false,\n showSelectedItemsAtTop: false,\n defaultOpen: false,\n allowRemoteDataSearch: false\n };\n this.disabled = false;\n this.onFilterChange = new EventEmitter();\n this.onDropDownClose = new EventEmitter();\n this.onSelect = new EventEmitter();\n this.onDeSelect = new EventEmitter();\n this.onSelectAll = new EventEmitter();\n this.onDeSelectAll = new EventEmitter();\n this.onTouchedCallback = noop;\n this.onChangeCallback = noop;\n }\n set placeholder(value) {\n if (value) {\n this._placeholder = value;\n }\n else {\n this._placeholder = \"Select\";\n }\n }\n set settings(value) {\n if (value) {\n this._settings = Object.assign(this.defaultSettings, value);\n }\n else {\n this._settings = Object.assign(this.defaultSettings);\n }\n }\n set data(value) {\n if (!value) {\n this._data = [];\n }\n else {\n const firstItem = value[0];\n this._sourceDataType = typeof firstItem;\n this._sourceDataFields = this.getFields(firstItem);\n this._data = value.map(item => this.deobjectify(item));\n }\n }\n onFilterTextChange($event) {\n this.onFilterChange.emit($event);\n }\n onItemClick($event, item) {\n if (this.disabled || item.isDisabled) {\n return false;\n }\n const found = this.isSelected(item);\n const allowAdd = this._settings.limitSelection === -1 || (this._settings.limitSelection > 0 && this.selectedItems.length < this._settings.limitSelection);\n if (!found) {\n if (allowAdd) {\n this.addSelected(item);\n }\n }\n else {\n this.removeSelected(item);\n }\n if (this._settings.singleSelection && this._settings.closeDropDownOnSelection) {\n this.closeDropdown();\n }\n }\n writeValue(value) {\n if (value !== undefined && value !== null && value.length > 0) {\n if (this._settings.singleSelection) {\n try {\n if (value.length >= 1) {\n this.selectedItems = [this.deobjectify(value[0])];\n }\n }\n catch (e) {\n // console.error(e.body.msg);\n }\n }\n else {\n const _data = value.map((item) => this.deobjectify(item));\n if (this._settings.limitSelection > 0) {\n this.selectedItems = _data.splice(0, this._settings.limitSelection);\n }\n else {\n this.selectedItems = _data;\n }\n }\n }\n else {\n this.selectedItems = [];\n }\n this.onChangeCallback(value);\n this.cdr.markForCheck();\n }\n // From ControlValueAccessor interface\n registerOnChange(fn) {\n this.onChangeCallback = fn;\n }\n // From ControlValueAccessor interface\n registerOnTouched(fn) {\n this.onTouchedCallback = fn;\n }\n // Set touched on blur\n onTouched() {\n // this.closeDropdown();\n this.onTouchedCallback();\n }\n trackByFn(index, item) {\n return item.id;\n }\n isSelected(clickedItem) {\n let found = false;\n this.selectedItems.forEach(item => {\n if (clickedItem.id === item.id) {\n found = true;\n }\n });\n return found;\n }\n isLimitSelectionReached() {\n return this._settings.limitSelection === this.selectedItems.length;\n }\n isAllItemsSelected() {\n // get disabld item count\n let filteredItems = this.listFilterPipe.transform(this._data, this.filter);\n const itemDisabledCount = filteredItems.filter(item => item.isDisabled).length;\n // take disabled items into consideration when checking\n if ((!this.data || this.data.length === 0) && this._settings.allowRemoteDataSearch) {\n return false;\n }\n return filteredItems.length === this.selectedItems.length + itemDisabledCount;\n }\n showButton() {\n if (!this._settings.singleSelection) {\n if (this._settings.limitSelection > 0) {\n return false;\n }\n // this._settings.enableCheckAll = this._settings.limitSelection === -1 ? true : false;\n return true; // !this._settings.singleSelection && this._settings.enableCheckAll && this._data.length > 0;\n }\n else {\n // should be disabled in single selection mode\n return false;\n }\n }\n itemShowRemaining() {\n return this.selectedItems.length - this._settings.itemsShowLimit;\n }\n addSelected(item) {\n if (this._settings.singleSelection) {\n this.selectedItems = [];\n this.selectedItems.push(item);\n }\n else {\n this.selectedItems.push(item);\n }\n this.onChangeCallback(this.emittedValue(this.selectedItems));\n this.onSelect.emit(this.emittedValue(item));\n }\n removeSelected(itemSel) {\n this.selectedItems.forEach(item => {\n if (itemSel.id === item.id) {\n this.selectedItems.splice(this.selectedItems.indexOf(item), 1);\n }\n });\n this.onChangeCallback(this.emittedValue(this.selectedItems));\n this.onDeSelect.emit(this.emittedValue(itemSel));\n }\n emittedValue(val) {\n const selected = [];\n if (Array.isArray(val)) {\n val.map(item => {\n selected.push(this.objectify(item));\n });\n }\n else {\n if (val) {\n return this.objectify(val);\n }\n }\n return selected;\n }\n objectify(val) {\n if (this._sourceDataType === 'object') {\n const obj = {};\n obj[this._settings.idField] = val.id;\n obj[this._settings.textField] = val.text;\n if (this._sourceDataFields.includes(this._settings.disabledField)) {\n obj[this._settings.disabledField] = val.isDisabled;\n }\n if (this._sourceDataFields.includes(this._settings.tooltipField)) {\n obj[this._settings.tooltipField] = val.tooltip;\n }\n return obj;\n }\n if (this._sourceDataType === 'number') {\n return Number(val.id);\n }\n else {\n return val.text;\n }\n }\n deobjectify(item) {\n if (typeof item === \"string\" || typeof item === \"number\") {\n return new ListItem(item);\n }\n else {\n return new ListItem({\n id: item[this._settings.idField],\n text: item[this._settings.textField],\n tooltip: item[this._settings.tooltipField],\n isDisabled: item[this._settings.disabledField]\n });\n }\n }\n toggleDropdown(evt) {\n evt.preventDefault();\n if (this.disabled && this._settings.singleSelection) {\n return;\n }\n this._settings.defaultOpen = !this._settings.defaultOpen;\n if (!this._settings.defaultOpen) {\n this.onDropDownClose.emit();\n }\n }\n closeDropdown() {\n this._settings.defaultOpen = false;\n // clear search text\n if (this._settings.clearSearchFilter) {\n this.filter.text = \"\";\n }\n this.onDropDownClose.emit();\n }\n toggleSelectAll() {\n if (this.disabled) {\n return false;\n }\n if (!this.isAllItemsSelected()) {\n // filter out disabled item first before slicing\n this.selectedItems = this.listFilterPipe.transform(this._data, this.filter).filter(item => !item.isDisabled).slice();\n this.onSelectAll.emit(this.emittedValue(this.selectedItems));\n }\n else {\n this.selectedItems = [];\n this.onDeSelectAll.emit(this.emittedValue(this.selectedItems));\n }\n this.onChangeCallback(this.emittedValue(this.selectedItems));\n }\n getFields(inputData) {\n const fields = [];\n if (typeof inputData !== \"object\") {\n return fields;\n }\n // tslint:disable-next-line:forin\n for (const prop in inputData) {\n fields.push(prop);\n }\n return fields;\n }\n};\nMultiSelectComponent.ɵfac = function MultiSelectComponent_Factory(t) { return new (t || MultiSelectComponent)(ɵngcc0.ɵɵdirectiveInject(ListFilterPipe), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nMultiSelectComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MultiSelectComponent, selectors: [[\"ng-multiselect-dropdown\"]], hostBindings: function MultiSelectComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"blur\", function MultiSelectComponent_blur_HostBindingHandler() { return ctx.onTouched(); });\n } }, inputs: { disabled: \"disabled\", placeholder: \"placeholder\", settings: \"settings\", data: \"data\" }, outputs: { onFilterChange: \"onFilterChange\", onDropDownClose: \"onDropDownClose\", onSelect: \"onSelect\", onDeSelect: \"onDeSelect\", onSelectAll: \"onSelectAll\", onDeSelectAll: \"onDeSelectAll\" }, features: [ɵngcc0.ɵɵProvidersFeature([DROPDOWN_CONTROL_VALUE_ACCESSOR])], decls: 18, vars: 23, consts: [[\"tabindex\", \"0\", 1, \"multiselect-dropdown\", 3, \"blur\", \"clickOutside\"], [\"tabindex\", \"-1\", 1, \"dropdown-btn\", 3, \"click\"], [4, \"ngIf\"], [\"class\", \"selected-item-container\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [2, \"float\", \"right !important\", \"padding-right\", \"4px\", 3, \"ngClass\"], [\"style\", \"padding-right: 15px;\", 4, \"ngIf\"], [1, \"dropdown-multiselect__caret\"], [1, \"dropdown-list\", 3, \"hidden\"], [1, \"item1\"], [\"class\", \"multiselect-item-checkbox\", \"style\", \"border-bottom: 1px solid #ccc;padding:10px\", 3, \"click\", 4, \"ngIf\"], [\"class\", \"filter-textbox\", 4, \"ngIf\"], [1, \"item2\"], [\"class\", \"multiselect-item-checkbox\", 3, \"click\", 4, \"ngFor\", \"ngForOf\"], [\"class\", \"no-filtered-data\", 4, \"ngIf\"], [\"class\", \"no-data\", 4, \"ngIf\"], [1, \"selected-item-container\"], [1, \"selected-item\", 3, \"hidden\"], [2, \"padding-left\", \"2px\", \"color\", \"white\", 3, \"click\"], [2, \"padding-right\", \"15px\"], [1, \"multiselect-item-checkbox\", 2, \"border-bottom\", \"1px solid #ccc\", \"padding\", \"10px\", 3, \"click\"], [\"type\", \"checkbox\", \"aria-label\", \"multiselect-select-all\", 3, \"checked\", \"disabled\"], [1, \"filter-textbox\"], [\"type\", \"text\", \"aria-label\", \"multiselect-search\", 3, \"readOnly\", \"placeholder\", \"ngModel\", \"ngModelChange\"], [1, \"multiselect-item-checkbox\", 3, \"click\"], [\"type\", \"checkbox\", 3, \"checked\", \"disabled\"], [1, \"no-filtered-data\"], [1, \"no-data\"]], template: function MultiSelectComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0);\n ɵngcc0.ɵɵlistener(\"blur\", function MultiSelectComponent_Template_div_blur_0_listener() { return ctx.onTouched(); })(\"clickOutside\", function MultiSelectComponent_Template_div_clickOutside_0_listener() { return ctx.closeDropdown(); });\n ɵngcc0.ɵɵelementStart(1, \"div\")(2, \"span\", 1);\n ɵngcc0.ɵɵlistener(\"click\", function MultiSelectComponent_Template_span_click_2_listener($event) { return ctx.toggleDropdown($event); });\n ɵngcc0.ɵɵtemplate(3, MultiSelectComponent_span_3_Template, 2, 1, \"span\", 2);\n ɵngcc0.ɵɵtemplate(4, MultiSelectComponent_span_4_Template, 6, 3, \"span\", 3);\n ɵngcc0.ɵɵelementStart(5, \"span\", 4);\n ɵngcc0.ɵɵtemplate(6, MultiSelectComponent_span_6_Template, 2, 1, \"span\", 5);\n ɵngcc0.ɵɵelement(7, \"span\", 6);\n ɵngcc0.ɵɵelementEnd()()();\n ɵngcc0.ɵɵelementStart(8, \"div\", 7)(9, \"ul\", 8);\n ɵngcc0.ɵɵtemplate(10, MultiSelectComponent_li_10_Template, 4, 3, \"li\", 9);\n ɵngcc0.ɵɵtemplate(11, MultiSelectComponent_li_11_Template, 2, 3, \"li\", 10);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(12, \"ul\", 11);\n ɵngcc0.ɵɵtemplate(13, MultiSelectComponent_li_13_Template, 4, 5, \"li\", 12);\n ɵngcc0.ɵɵpipe(14, \"multiSelectFilter\");\n ɵngcc0.ɵɵtemplate(15, MultiSelectComponent_li_15_Template, 3, 1, \"li\", 13);\n ɵngcc0.ɵɵpipe(16, \"multiSelectFilter\");\n ɵngcc0.ɵɵtemplate(17, MultiSelectComponent_li_17_Template, 3, 1, \"li\", 14);\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"disabled\", ctx.disabled);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.selectedItems.length == 0);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.selectedItems)(\"ngForTrackBy\", ctx.trackByFn);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngClass\", ɵngcc0.ɵɵpureFunction1(21, _c0, ctx._settings.defaultOpen));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.itemShowRemaining() > 0);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"hidden\", !ctx._settings.defaultOpen);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", (ctx._data.length > 0 || ctx._settings.allowRemoteDataSearch) && !ctx._settings.singleSelection && ctx._settings.enableCheckAll && ctx._settings.limitSelection === -1);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", (ctx._data.length > 0 || ctx._settings.allowRemoteDataSearch) && ctx._settings.allowSearchFilter);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"max-height\", ctx._settings.maxHeight + \"px\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ɵngcc0.ɵɵpipeBind2(14, 15, ctx._data, ctx.filter));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx._data.length != 0 && ɵngcc0.ɵɵpipeBind2(16, 18, ctx._data, ctx.filter).length == 0 && !ctx._settings.allowRemoteDataSearch);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx._data.length == 0 && !ctx._settings.allowRemoteDataSearch);\n } }, dependencies: function () { return [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgIf, ɵngcc2.DefaultValueAccessor, ɵngcc2.NgControlStatus, ɵngcc2.NgModel, ClickOutsideDirective, ListFilterPipe]; }, styles: [\".multiselect-dropdown[_ngcontent-%COMP%]{position:relative;width:100%;font-size:inherit;font-family:inherit}.multiselect-dropdown[_ngcontent-%COMP%] .dropdown-btn[_ngcontent-%COMP%]{display:inline-block;border:1px solid #adadad;width:100%;padding:6px 12px;margin-bottom:0;font-weight:400;line-height:1.52857143;text-align:left;vertical-align:middle;cursor:pointer;background-image:none;border-radius:4px}.multiselect-dropdown[_ngcontent-%COMP%] .dropdown-btn[_ngcontent-%COMP%] .selected-item-container[_ngcontent-%COMP%]{display:flex;float:left;max-width:93%}.multiselect-dropdown[_ngcontent-%COMP%] .dropdown-btn[_ngcontent-%COMP%] .selected-item-container[_ngcontent-%COMP%] .selected-item[_ngcontent-%COMP%]{border:1px solid #337ab7;margin-right:4px;margin-bottom:4px;background:#337ab7;padding:0 5px;color:#fff;border-radius:2px;float:left}.multiselect-dropdown[_ngcontent-%COMP%] .dropdown-btn[_ngcontent-%COMP%] .selected-item-container[_ngcontent-%COMP%] .selected-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis}.multiselect-dropdown[_ngcontent-%COMP%] .dropdown-btn[_ngcontent-%COMP%] .selected-item-container[_ngcontent-%COMP%] .selected-item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}.multiselect-dropdown[_ngcontent-%COMP%] .dropdown-btn[_ngcontent-%COMP%] .selected-item[_ngcontent-%COMP%]:hover{box-shadow:1px 1px #959595}.multiselect-dropdown[_ngcontent-%COMP%] .dropdown-btn[_ngcontent-%COMP%] .dropdown-multiselect__caret[_ngcontent-%COMP%]{line-height:16px;display:block;position:absolute;box-sizing:border-box;width:40px;height:38px;right:1px;top:0;padding:4px 8px;margin:0;text-decoration:none;text-align:center;cursor:pointer;transition:transform .2s}.multiselect-dropdown[_ngcontent-%COMP%] .dropdown-btn[_ngcontent-%COMP%] .dropdown-multiselect__caret[_ngcontent-%COMP%]:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-style:solid;border-width:8px 8px 0;border-color:#999 transparent;content:\\\"\\\"}.multiselect-dropdown[_ngcontent-%COMP%] .dropdown-btn[_ngcontent-%COMP%] .dropdown-multiselect--active[_ngcontent-%COMP%] .dropdown-multiselect__caret[_ngcontent-%COMP%]{transform:rotateZ(180deg)}.multiselect-dropdown[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{background-color:#eceeef}.dropdown-list[_ngcontent-%COMP%]{position:absolute;padding-top:6px;width:100%;z-index:9999;border:1px solid #ccc;border-radius:3px;background:#fff;margin-top:10px;box-shadow:0 1px 5px #959595}.dropdown-list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{padding:0;list-style:none;overflow:auto;margin:0}.dropdown-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{padding:6px 10px;cursor:pointer;text-align:left}.dropdown-list[_ngcontent-%COMP%] .filter-textbox[_ngcontent-%COMP%]{border-bottom:1px solid #ccc;position:relative;padding:10px}.dropdown-list[_ngcontent-%COMP%] .filter-textbox[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{border:0;width:100%;padding:0 0 0 26px}.dropdown-list[_ngcontent-%COMP%] .filter-textbox[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{outline:0}.multiselect-item-checkbox[_ngcontent-%COMP%]:hover{background-color:#e4e3e3}.multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]:focus + div[_ngcontent-%COMP%]:before, .multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]:hover + div[_ngcontent-%COMP%]:before{border-color:#337ab7;background-color:#f2f2f2}.multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]:active + div[_ngcontent-%COMP%]:before{transition-duration:0s}.multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] + div[_ngcontent-%COMP%]{position:relative;padding-left:2em;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;margin:0;color:#000}.multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] + div[_ngcontent-%COMP%]:before{box-sizing:content-box;content:\\\"\\\";color:#337ab7;position:absolute;top:50%;left:0;width:14px;height:14px;margin-top:-9px;border:2px solid #337ab7;text-align:center;transition:.4s}.multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] + div[_ngcontent-%COMP%]:after{box-sizing:content-box;content:\\\"\\\";position:absolute;transform:scale(0);transform-origin:50%;transition:transform .2s ease-out;background-color:transparent;top:50%;left:4px;width:8px;height:3px;margin-top:-4px;border-style:solid;border-color:#fff;border-width:0 0 3px 3px;-o-border-image:none;border-image:none;transform:rotate(-45deg) scale(0)}.multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]:disabled + div[_ngcontent-%COMP%]:before{border-color:#ccc}.multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]:disabled:focus + div[_ngcontent-%COMP%]:before .multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]:disabled:hover + div[_ngcontent-%COMP%]:before{background-color:inherit}.multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]:disabled:checked + div[_ngcontent-%COMP%]:before{background-color:#ccc}.multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]:checked + div[_ngcontent-%COMP%]:after{content:\\\"\\\";transition:transform .2s ease-out;transform:rotate(-45deg) scale(1)}.multiselect-item-checkbox[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]:checked + div[_ngcontent-%COMP%]:before{-webkit-animation:.2s ease-in borderscale;animation:.2s ease-in borderscale;background:#337ab7}@-webkit-keyframes borderscale{50%{box-shadow:0 0 0 2px #337ab7}}@keyframes borderscale{50%{box-shadow:0 0 0 2px #337ab7}}\"], changeDetection: 0 });\nMultiSelectComponent.ctorParameters = () => [\n { type: ListFilterPipe },\n { type: ChangeDetectorRef }\n];\n__decorate([\n Input()\n], MultiSelectComponent.prototype, \"placeholder\", null);\n__decorate([\n Input()\n], MultiSelectComponent.prototype, \"disabled\", void 0);\n__decorate([\n Input()\n], MultiSelectComponent.prototype, \"settings\", null);\n__decorate([\n Input()\n], MultiSelectComponent.prototype, \"data\", null);\n__decorate([\n Output(\"onFilterChange\")\n], MultiSelectComponent.prototype, \"onFilterChange\", void 0);\n__decorate([\n Output(\"onDropDownClose\")\n], MultiSelectComponent.prototype, \"onDropDownClose\", void 0);\n__decorate([\n Output(\"onSelect\")\n], MultiSelectComponent.prototype, \"onSelect\", void 0);\n__decorate([\n Output(\"onDeSelect\")\n], MultiSelectComponent.prototype, \"onDeSelect\", void 0);\n__decorate([\n Output(\"onSelectAll\")\n], MultiSelectComponent.prototype, \"onSelectAll\", void 0);\n__decorate([\n Output(\"onDeSelectAll\")\n], MultiSelectComponent.prototype, \"onDeSelectAll\", void 0);\n__decorate([\n HostListener(\"blur\")\n], MultiSelectComponent.prototype, \"onTouched\", null);\n\nlet ClickOutsideDirective = class ClickOutsideDirective {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n this.clickOutside = new EventEmitter();\n }\n onClick(event, targetElement) {\n if (!targetElement) {\n return;\n }\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\n if (!clickedInside) {\n this.clickOutside.emit(event);\n }\n }\n};\nClickOutsideDirective.ɵfac = function ClickOutsideDirective_Factory(t) { return new (t || ClickOutsideDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nClickOutsideDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: ClickOutsideDirective, selectors: [[\"\", \"clickOutside\", \"\"]], hostBindings: function ClickOutsideDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function ClickOutsideDirective_click_HostBindingHandler($event) { return ctx.onClick($event, $event.target); }, false, ɵngcc0.ɵɵresolveDocument);\n } }, outputs: { clickOutside: \"clickOutside\" } });\nClickOutsideDirective.ctorParameters = () => [\n { type: ElementRef }\n];\n__decorate([\n Output()\n], ClickOutsideDirective.prototype, \"clickOutside\", void 0);\n__decorate([\n HostListener('document:click', ['$event', '$event.target'])\n], ClickOutsideDirective.prototype, \"onClick\", null);\n\nvar NgMultiSelectDropDownModule_1;\nlet NgMultiSelectDropDownModule = NgMultiSelectDropDownModule_1 = class NgMultiSelectDropDownModule {\n static forRoot() {\n return {\n ngModule: NgMultiSelectDropDownModule_1\n };\n }\n};\nNgMultiSelectDropDownModule.ɵfac = function NgMultiSelectDropDownModule_Factory(t) { return new (t || NgMultiSelectDropDownModule)(); };\nNgMultiSelectDropDownModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: NgMultiSelectDropDownModule });\nNgMultiSelectDropDownModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [ListFilterPipe], imports: [CommonModule, FormsModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ListFilterPipe, [{\n type: Pipe,\n args: [{\n name: 'multiSelectFilter',\n pure: false\n }]\n }], null, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MultiSelectComponent, [{\n type: Component,\n args: [{ selector: \"ng-multiselect-dropdown\", template: \"
\\n
\\n \\n {{_placeholder}}\\n \\n (this._settings.itemsShowLimit-1)\\\" [attr.title]=\\\"item.tooltip\\\">\\n {{item.text}} \\n x\\n \\n\\n \\n \\n 0\\\">+{{itemShowRemaining()}}\\n \\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n\", providers: [DROPDOWN_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".multiselect-dropdown{position:relative;width:100%;font-size:inherit;font-family:inherit}.multiselect-dropdown .dropdown-btn{display:inline-block;border:1px solid #adadad;width:100%;padding:6px 12px;margin-bottom:0;font-weight:400;line-height:1.52857143;text-align:left;vertical-align:middle;cursor:pointer;background-image:none;border-radius:4px}.multiselect-dropdown .dropdown-btn .selected-item-container{display:flex;float:left;max-width:93%}.multiselect-dropdown .dropdown-btn .selected-item-container .selected-item{border:1px solid #337ab7;margin-right:4px;margin-bottom:4px;background:#337ab7;padding:0 5px;color:#fff;border-radius:2px;float:left}.multiselect-dropdown .dropdown-btn .selected-item-container .selected-item span{overflow:hidden;text-overflow:ellipsis}.multiselect-dropdown .dropdown-btn .selected-item-container .selected-item a{text-decoration:none}.multiselect-dropdown .dropdown-btn .selected-item:hover{box-shadow:1px 1px #959595}.multiselect-dropdown .dropdown-btn .dropdown-multiselect__caret{line-height:16px;display:block;position:absolute;box-sizing:border-box;width:40px;height:38px;right:1px;top:0;padding:4px 8px;margin:0;text-decoration:none;text-align:center;cursor:pointer;transition:transform .2s}.multiselect-dropdown .dropdown-btn .dropdown-multiselect__caret:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-style:solid;border-width:8px 8px 0;border-color:#999 transparent;content:\\\"\\\"}.multiselect-dropdown .dropdown-btn .dropdown-multiselect--active .dropdown-multiselect__caret{transform:rotateZ(180deg)}.multiselect-dropdown .disabled>span{background-color:#eceeef}.dropdown-list{position:absolute;padding-top:6px;width:100%;z-index:9999;border:1px solid #ccc;border-radius:3px;background:#fff;margin-top:10px;box-shadow:0 1px 5px #959595}.dropdown-list ul{padding:0;list-style:none;overflow:auto;margin:0}.dropdown-list li{padding:6px 10px;cursor:pointer;text-align:left}.dropdown-list .filter-textbox{border-bottom:1px solid #ccc;position:relative;padding:10px}.dropdown-list .filter-textbox input{border:0;width:100%;padding:0 0 0 26px}.dropdown-list .filter-textbox input:focus{outline:0}.multiselect-item-checkbox:hover{background-color:#e4e3e3}.multiselect-item-checkbox input[type=checkbox]{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.multiselect-item-checkbox input[type=checkbox]:focus+div:before,.multiselect-item-checkbox input[type=checkbox]:hover+div:before{border-color:#337ab7;background-color:#f2f2f2}.multiselect-item-checkbox input[type=checkbox]:active+div:before{transition-duration:0s}.multiselect-item-checkbox input[type=checkbox]+div{position:relative;padding-left:2em;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;margin:0;color:#000}.multiselect-item-checkbox input[type=checkbox]+div:before{box-sizing:content-box;content:\\\"\\\";color:#337ab7;position:absolute;top:50%;left:0;width:14px;height:14px;margin-top:-9px;border:2px solid #337ab7;text-align:center;transition:.4s}.multiselect-item-checkbox input[type=checkbox]+div:after{box-sizing:content-box;content:\\\"\\\";position:absolute;transform:scale(0);transform-origin:50%;transition:transform .2s ease-out;background-color:transparent;top:50%;left:4px;width:8px;height:3px;margin-top:-4px;border-style:solid;border-color:#fff;border-width:0 0 3px 3px;-o-border-image:none;border-image:none;transform:rotate(-45deg) scale(0)}.multiselect-item-checkbox input[type=checkbox]:disabled+div:before{border-color:#ccc}.multiselect-item-checkbox input[type=checkbox]:disabled:focus+div:before .multiselect-item-checkbox input[type=checkbox]:disabled:hover+div:before{background-color:inherit}.multiselect-item-checkbox input[type=checkbox]:disabled:checked+div:before{background-color:#ccc}.multiselect-item-checkbox input[type=checkbox]:checked+div:after{content:\\\"\\\";transition:transform .2s ease-out;transform:rotate(-45deg) scale(1)}.multiselect-item-checkbox input[type=checkbox]:checked+div:before{-webkit-animation:.2s ease-in borderscale;animation:.2s ease-in borderscale;background:#337ab7}@-webkit-keyframes borderscale{50%{box-shadow:0 0 0 2px #337ab7}}@keyframes borderscale{50%{box-shadow:0 0 0 2px #337ab7}}\"] }]\n }], function () { return [{ type: ListFilterPipe }, { type: ɵngcc0.ChangeDetectorRef }]; }, { disabled: [{\n type: Input\n }], onFilterChange: [{\n type: Output,\n args: [\"onFilterChange\"]\n }], onDropDownClose: [{\n type: Output,\n args: [\"onDropDownClose\"]\n }], onSelect: [{\n type: Output,\n args: [\"onSelect\"]\n }], onDeSelect: [{\n type: Output,\n args: [\"onDeSelect\"]\n }], onSelectAll: [{\n type: Output,\n args: [\"onSelectAll\"]\n }], onDeSelectAll: [{\n type: Output,\n args: [\"onDeSelectAll\"]\n }], placeholder: [{\n type: Input\n }], settings: [{\n type: Input\n }], data: [{\n type: Input\n }], \n // Set touched on blur\n onTouched: [{\n type: HostListener,\n args: [\"blur\"]\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ClickOutsideDirective, [{\n type: Directive,\n args: [{\n selector: '[clickOutside]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { clickOutside: [{\n type: Output\n }], onClick: [{\n type: HostListener,\n args: ['document:click', ['$event', '$event.target']]\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgMultiSelectDropDownModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, FormsModule],\n declarations: [MultiSelectComponent, ClickOutsideDirective, ListFilterPipe],\n providers: [ListFilterPipe],\n exports: [MultiSelectComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgMultiSelectDropDownModule, { declarations: function () { return [MultiSelectComponent, ClickOutsideDirective, ListFilterPipe]; }, imports: function () { return [CommonModule, FormsModule]; }, exports: function () { return [MultiSelectComponent]; } }); })();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MultiSelectComponent, NgMultiSelectDropDownModule, DROPDOWN_CONTROL_VALUE_ACCESSOR as ɵa, ListFilterPipe as ɵb, ClickOutsideDirective as ɵc };\n\n","import { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n }\n getValue() {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n }\n next(value) {\n super.next(this._value = value);\n }\n}\n","import { Subscriber } from './Subscriber';\nexport class InnerSubscriber extends Subscriber {\n constructor(parent, outerValue, outerIndex) {\n super();\n this.parent = parent;\n this.outerValue = outerValue;\n this.outerIndex = outerIndex;\n this.index = 0;\n }\n _next(value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n }\n _error(error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n }\n _complete() {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n }\n}\n","import { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nexport class Observable {\n constructor(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const { operator } = this;\n const sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let subscription;\n subscription = this.subscribe((value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n }\n _subscribe(subscriber) {\n const { source } = this;\n return source && source.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => value = x, (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n","import { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport const empty = {\n closed: true,\n next(value) { },\n error(err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete() { }\n};\n","import { Subscriber } from './Subscriber';\nexport class OuterSubscriber extends Subscriber {\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n notifyError(error, innerSub) {\n this.destination.error(error);\n }\n notifyComplete(innerSub) {\n this.destination.complete();\n }\n}\n","export class Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.SchedulerAction(this, work).schedule(state, delay);\n }\n}\nScheduler.now = () => Date.now();\n","import { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nexport class SubjectSubscriber extends Subscriber {\n constructor(destination) {\n super(destination);\n this.destination = destination;\n }\n}\nexport class Subject extends Observable {\n constructor() {\n super();\n this.observers = [];\n this.closed = false;\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n [rxSubscriberSymbol]() {\n return new SubjectSubscriber(this);\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n next(value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n }\n error(err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n }\n complete() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n }\n unsubscribe() {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n }\n _trySubscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return super._trySubscribe(subscriber);\n }\n }\n _subscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n const { destination } = this;\n if (destination && destination.next) {\n destination.next(value);\n }\n }\n error(err) {\n const { destination } = this;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n }\n complete() {\n const { destination } = this;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n }\n _subscribe(subscriber) {\n const { source } = this;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n }\n}\n","import { Subscription } from './Subscription';\nexport class SubjectSubscription extends Subscription {\n constructor(subject, subscriber) {\n super();\n this.subject = subject;\n this.subscriber = subscriber;\n this.closed = false;\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.closed = true;\n const subject = this.subject;\n const observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n const subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n }\n}\n","import { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport class Subscriber extends Subscription {\n constructor(destinationOrNext, error, complete) {\n super();\n this.syncErrorValue = null;\n this.syncErrorThrown = false;\n this.syncErrorThrowable = false;\n this.isStopped = false;\n switch (arguments.length) {\n case 0:\n this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n this.destination = destinationOrNext;\n destinationOrNext.add(this);\n }\n else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n break;\n }\n }\n [rxSubscriberSymbol]() { return this; }\n static create(next, error, complete) {\n const subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n }\n next(value) {\n if (!this.isStopped) {\n this._next(value);\n }\n }\n error(err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n super.unsubscribe();\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n this.destination.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.destination.complete();\n this.unsubscribe();\n }\n _unsubscribeAndRecycle() {\n const { _parentOrParents } = this;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(_parentSubscriber, observerOrNext, error, complete) {\n super();\n this._parentSubscriber = _parentSubscriber;\n let next;\n let context = this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n }\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n next(value) {\n if (!this.isStopped && this._next) {\n const { _parentSubscriber } = this;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n }\n error(err) {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n const { useDeprecatedSynchronousErrorHandling } = config;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n }\n complete() {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n if (this._complete) {\n const wrappedComplete = () => this._complete.call(this._context);\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n }\n __tryOrUnsub(fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n }\n __tryOrSetError(parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n }\n _unsubscribe() {\n const { _parentSubscriber } = this;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n }\n}\n","import { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nexport class Subscription {\n constructor(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._unsubscribe = unsubscribe;\n }\n }\n unsubscribe() {\n let errors;\n if (this.closed) {\n return;\n }\n let { _parentOrParents, _unsubscribe, _subscriptions } = this;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (let index = 0; index < _parentOrParents.length; ++index) {\n const parent = _parentOrParents[index];\n parent.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n let index = -1;\n let len = _subscriptions.length;\n while (++index < len) {\n const sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n add(teardown) {\n let subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n const tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n let { _parentOrParents } = subscription;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n const subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n }\n remove(subscription) {\n const subscriptions = this._subscriptions;\n if (subscriptions) {\n const subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n }\n}\nSubscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n}(new Subscription()));\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce((errs, err) => errs.concat((err instanceof UnsubscriptionError) ? err.errors : err), []);\n}\n","let _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport const config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n const error = new Error();\n console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n","import { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nexport class ConnectableObservable extends Observable {\n constructor(source, subjectFactory) {\n super();\n this.source = source;\n this.subjectFactory = subjectFactory;\n this._refCount = 0;\n this._isComplete = false;\n }\n _subscribe(subscriber) {\n return this.getSubject().subscribe(subscriber);\n }\n getSubject() {\n const subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n }\n connect() {\n let connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n }\n refCount() {\n return higherOrderRefCount()(this);\n }\n}\nexport const connectableObservableDescriptor = (() => {\n const connectableProto = ConnectableObservable.prototype;\n return {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n };\n})();\nclass ConnectableSubscriber extends SubjectSubscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _error(err) {\n this._unsubscribe();\n super._error(err);\n }\n _complete() {\n this.connectable._isComplete = true;\n this._unsubscribe();\n super._complete();\n }\n _unsubscribe() {\n const connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n const connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n }\n}\nclass RefCountOperator {\n constructor(connectable) {\n this.connectable = connectable;\n }\n call(subscriber, source) {\n const { connectable } = this;\n connectable._refCount++;\n const refCounter = new RefCountSubscriber(subscriber, connectable);\n const subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n }\n}\nclass RefCountSubscriber extends Subscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _unsubscribe() {\n const { connectable } = this;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n const refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n const { connection } = this;\n const sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n }\n}\n","import { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { fromArray } from './fromArray';\nconst NONE = {};\nexport function combineLatest(...observables) {\n let resultSelector = null;\n let scheduler = null;\n if (isScheduler(observables[observables.length - 1])) {\n scheduler = observables.pop();\n }\n if (typeof observables[observables.length - 1] === 'function') {\n resultSelector = observables.pop();\n }\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0];\n }\n return fromArray(observables, scheduler).lift(new CombineLatestOperator(resultSelector));\n}\nexport class CombineLatestOperator {\n constructor(resultSelector) {\n this.resultSelector = resultSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.resultSelector));\n }\n}\nexport class CombineLatestSubscriber extends OuterSubscriber {\n constructor(destination, resultSelector) {\n super(destination);\n this.resultSelector = resultSelector;\n this.active = 0;\n this.values = [];\n this.observables = [];\n }\n _next(observable) {\n this.values.push(NONE);\n this.observables.push(observable);\n }\n _complete() {\n const observables = this.observables;\n const len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (let i = 0; i < len; i++) {\n const observable = observables[i];\n this.add(subscribeToResult(this, observable, observable, i));\n }\n }\n }\n notifyComplete(unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n const values = this.values;\n const oldVal = values[outerIndex];\n const toRespond = !this.toRespond\n ? 0\n : oldVal === NONE ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.resultSelector) {\n this._tryResultSelector(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n }\n _tryResultSelector(values) {\n let result;\n try {\n result = this.resultSelector.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\n","import { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat(...observables) {\n return concatAll()(of(...observables));\n}\n","import { Observable } from '../Observable';\nimport { from } from './from';\nimport { empty } from './empty';\nexport function defer(observableFactory) {\n return new Observable(subscriber => {\n let input;\n try {\n input = observableFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n const source = input ? from(input) : empty();\n return source.subscribe(subscriber);\n });\n}\n","import { Observable } from '../Observable';\nexport const EMPTY = new Observable(subscriber => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(subscriber => scheduler.schedule(() => subscriber.complete()));\n}\n","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { map } from '../operators/map';\nimport { isObject } from '../util/isObject';\nimport { from } from './from';\nexport function forkJoin(...sources) {\n if (sources.length === 1) {\n const first = sources[0];\n if (isArray(first)) {\n return forkJoinInternal(first, null);\n }\n if (isObject(first) && Object.getPrototypeOf(first) === Object.prototype) {\n const keys = Object.keys(first);\n return forkJoinInternal(keys.map(key => first[key]), keys);\n }\n }\n if (typeof sources[sources.length - 1] === 'function') {\n const resultSelector = sources.pop();\n sources = (sources.length === 1 && isArray(sources[0])) ? sources[0] : sources;\n return forkJoinInternal(sources, null).pipe(map((args) => resultSelector(...args)));\n }\n return forkJoinInternal(sources, null);\n}\nfunction forkJoinInternal(sources, keys) {\n return new Observable(subscriber => {\n const len = sources.length;\n if (len === 0) {\n subscriber.complete();\n return;\n }\n const values = new Array(len);\n let completed = 0;\n let emitted = 0;\n for (let i = 0; i < len; i++) {\n const source = from(sources[i]);\n let hasValue = false;\n subscriber.add(source.subscribe({\n next: value => {\n if (!hasValue) {\n hasValue = true;\n emitted++;\n }\n values[i] = value;\n },\n error: err => subscriber.error(err),\n complete: () => {\n completed++;\n if (completed === len || !hasValue) {\n if (emitted === len) {\n subscriber.next(keys ?\n keys.reduce((result, key, i) => (result[key] = values[i], result), {}) :\n values);\n }\n subscriber.complete();\n }\n }\n }));\n }\n });\n}\n","import { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n","import { Observable } from '../Observable';\nimport { subscribeToArray } from '../util/subscribeToArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function fromArray(input, scheduler) {\n if (!scheduler) {\n return new Observable(subscribeToArray(input));\n }\n else {\n return scheduleArray(input, scheduler);\n }\n}\n","import { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge(...observables) {\n let concurrent = Number.POSITIVE_INFINITY;\n let scheduler = null;\n let last = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n","import { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of(...args) {\n let scheduler = args[args.length - 1];\n if (isScheduler(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n","import { Observable } from '../Observable';\nexport function throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable(subscriber => subscriber.error(error));\n }\n else {\n return new Observable(subscriber => scheduler.schedule(dispatch, 0, { error, subscriber }));\n }\n}\nfunction dispatch({ error, subscriber }) {\n subscriber.error(error);\n}\n","import { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n const operator = new CatchOperator(selector);\n const caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nclass CatchOperator {\n constructor(selector) {\n this.selector = selector;\n }\n call(subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n }\n}\nclass CatchSubscriber extends OuterSubscriber {\n constructor(destination, selector, caught) {\n super(destination);\n this.selector = selector;\n this.caught = caught;\n }\n error(err) {\n if (!this.isStopped) {\n let result;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n super.error(err2);\n return;\n }\n this._unsubscribeAndRecycle();\n const innerSubscriber = new InnerSubscriber(this, undefined, undefined);\n this.add(innerSubscriber);\n const innerSubscription = subscribeToResult(this, result, undefined, undefined, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n this.add(innerSubscription);\n }\n }\n }\n}\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n","import { mergeMap } from './mergeMap';\nexport function concatMap(project, resultSelector) {\n return mergeMap(project, resultSelector, 1);\n}\n","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function debounceTime(dueTime, scheduler = async) {\n return (source) => source.lift(new DebounceTimeOperator(dueTime, scheduler));\n}\nclass DebounceTimeOperator {\n constructor(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n }\n}\nclass DebounceTimeSubscriber extends Subscriber {\n constructor(destination, dueTime, scheduler) {\n super(destination);\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n this.debouncedSubscription = null;\n this.lastValue = null;\n this.hasValue = false;\n }\n _next(value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n }\n _complete() {\n this.debouncedNext();\n this.destination.complete();\n }\n debouncedNext() {\n this.clearDebounce();\n if (this.hasValue) {\n const { lastValue } = this;\n this.lastValue = null;\n this.hasValue = false;\n this.destination.next(lastValue);\n }\n }\n clearDebounce() {\n const debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n }\n}\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n","import { Subscriber } from '../Subscriber';\nexport function defaultIfEmpty(defaultValue = null) {\n return (source) => source.lift(new DefaultIfEmptyOperator(defaultValue));\n}\nclass DefaultIfEmptyOperator {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n }\n call(subscriber, source) {\n return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n }\n}\nclass DefaultIfEmptySubscriber extends Subscriber {\n constructor(destination, defaultValue) {\n super(destination);\n this.defaultValue = defaultValue;\n this.isEmpty = true;\n }\n _next(value) {\n this.isEmpty = false;\n this.destination.next(value);\n }\n _complete() {\n if (this.isEmpty) {\n this.destination.next(this.defaultValue);\n }\n this.destination.complete();\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nclass FilterOperator {\n constructor(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n call(subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n }\n}\nclass FilterSubscriber extends Subscriber {\n constructor(destination, predicate, thisArg) {\n super(destination);\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.count = 0;\n }\n _next(value) {\n let result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nexport function finalize(callback) {\n return (source) => source.lift(new FinallyOperator(callback));\n}\nclass FinallyOperator {\n constructor(callback) {\n this.callback = callback;\n }\n call(subscriber, source) {\n return source.subscribe(new FinallySubscriber(subscriber, this.callback));\n }\n}\nclass FinallySubscriber extends Subscriber {\n constructor(destination, callback) {\n super(destination);\n this.add(new Subscription(callback));\n }\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { takeLast } from './takeLast';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { identity } from '../util/identity';\nexport function last(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, takeLast(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nexport class MapOperator {\n constructor(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n call(subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n }\n}\nclass MapSubscriber extends Subscriber {\n constructor(destination, project, thisArg) {\n super(destination);\n this.project = project;\n this.count = 0;\n this.thisArg = thisArg || this;\n }\n _next(value) {\n let result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function mapTo(value) {\n return (source) => source.lift(new MapToOperator(value));\n}\nclass MapToOperator {\n constructor(value) {\n this.value = value;\n }\n call(subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n }\n}\nclass MapToSubscriber extends Subscriber {\n constructor(destination, value) {\n super(destination);\n this.value = value;\n }\n _next(x) {\n this.destination.next(this.value);\n }\n}\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Number.POSITIVE_INFINITY) {\n return mergeMap(identity, concurrent);\n}\n","import { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { map } from './map';\nimport { from } from '../observable/from';\nexport function mergeMap(project, resultSelector, concurrent = Number.POSITIVE_INFINITY) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(mergeMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii))), concurrent));\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return (source) => source.lift(new MergeMapOperator(project, concurrent));\n}\nexport class MergeMapOperator {\n constructor(project, concurrent = Number.POSITIVE_INFINITY) {\n this.project = project;\n this.concurrent = concurrent;\n }\n call(observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n }\n}\nexport class MergeMapSubscriber extends OuterSubscriber {\n constructor(destination, project, concurrent = Number.POSITIVE_INFINITY) {\n super(destination);\n this.project = project;\n this.concurrent = concurrent;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n _next(value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n }\n _tryNext(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result, value, index);\n }\n _innerSub(ish, value, index) {\n const innerSubscriber = new InnerSubscriber(this, value, index);\n const destination = this.destination;\n destination.add(innerSubscriber);\n const innerSubscription = subscribeToResult(this, ish, undefined, undefined, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n _complete() {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n notifyComplete(innerSub) {\n const buffer = this.buffer;\n this.remove(innerSub);\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n }\n}\n","import { connectableObservableDescriptor } from '../observable/ConnectableObservable';\nexport function multicast(subjectOrSubjectFactory, selector) {\n return function multicastOperatorFunction(source) {\n let subjectFactory;\n if (typeof subjectOrSubjectFactory === 'function') {\n subjectFactory = subjectOrSubjectFactory;\n }\n else {\n subjectFactory = function subjectFactory() {\n return subjectOrSubjectFactory;\n };\n }\n if (typeof selector === 'function') {\n return source.lift(new MulticastOperator(subjectFactory, selector));\n }\n const connectable = Object.create(source, connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n return connectable;\n };\n}\nexport class MulticastOperator {\n constructor(subjectFactory, selector) {\n this.subjectFactory = subjectFactory;\n this.selector = selector;\n }\n call(subscriber, source) {\n const { selector } = this;\n const subject = this.subjectFactory();\n const subscription = selector(subject).subscribe(subscriber);\n subscription.add(source.subscribe(subject));\n return subscription;\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\nclass RefCountOperator {\n constructor(connectable) {\n this.connectable = connectable;\n }\n call(subscriber, source) {\n const { connectable } = this;\n connectable._refCount++;\n const refCounter = new RefCountSubscriber(subscriber, connectable);\n const subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n }\n}\nclass RefCountSubscriber extends Subscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _unsubscribe() {\n const { connectable } = this;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n const refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n const { connection } = this;\n const sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function scan(accumulator, seed) {\n let hasSeed = false;\n if (arguments.length >= 2) {\n hasSeed = true;\n }\n return function scanOperatorFunction(source) {\n return source.lift(new ScanOperator(accumulator, seed, hasSeed));\n };\n}\nclass ScanOperator {\n constructor(accumulator, seed, hasSeed = false) {\n this.accumulator = accumulator;\n this.seed = seed;\n this.hasSeed = hasSeed;\n }\n call(subscriber, source) {\n return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n }\n}\nclass ScanSubscriber extends Subscriber {\n constructor(destination, accumulator, _seed, hasSeed) {\n super(destination);\n this.accumulator = accumulator;\n this._seed = _seed;\n this.hasSeed = hasSeed;\n this.index = 0;\n }\n get seed() {\n return this._seed;\n }\n set seed(value) {\n this.hasSeed = true;\n this._seed = value;\n }\n _next(value) {\n if (!this.hasSeed) {\n this.seed = value;\n this.destination.next(value);\n }\n else {\n return this._tryNext(value);\n }\n }\n _tryNext(value) {\n const index = this.index++;\n let result;\n try {\n result = this.accumulator(this.seed, value, index);\n }\n catch (err) {\n this.destination.error(err);\n }\n this.seed = result;\n this.destination.next(result);\n }\n}\n","import { multicast } from './multicast';\nimport { refCount } from './refCount';\nimport { Subject } from '../Subject';\nfunction shareSubjectFactory() {\n return new Subject();\n}\nexport function share() {\n return (source) => refCount()(multicast(shareSubjectFactory)(source));\n}\n","import { concat } from '../observable/concat';\nimport { isScheduler } from '../util/isScheduler';\nexport function startWith(...array) {\n const scheduler = array[array.length - 1];\n if (isScheduler(scheduler)) {\n array.pop();\n return (source) => concat(array, source, scheduler);\n }\n else {\n return (source) => concat(array, source);\n }\n}\n","import { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { map } from './map';\nimport { from } from '../observable/from';\nexport function switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(switchMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii)))));\n }\n return (source) => source.lift(new SwitchMapOperator(project));\n}\nclass SwitchMapOperator {\n constructor(project) {\n this.project = project;\n }\n call(subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n }\n}\nclass SwitchMapSubscriber extends OuterSubscriber {\n constructor(destination, project) {\n super(destination);\n this.project = project;\n this.index = 0;\n }\n _next(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result, value, index);\n }\n _innerSub(result, value, index) {\n const innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n const innerSubscriber = new InnerSubscriber(this, value, index);\n const destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = subscribeToResult(this, result, undefined, undefined, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\n }\n _complete() {\n const { innerSubscription } = this;\n if (!innerSubscription || innerSubscription.closed) {\n super._complete();\n }\n this.unsubscribe();\n }\n _unsubscribe() {\n this.innerSubscription = null;\n }\n notifyComplete(innerSub) {\n const destination = this.destination;\n destination.remove(innerSub);\n this.innerSubscription = null;\n if (this.isStopped) {\n super._complete();\n }\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function take(count) {\n return (source) => {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nclass TakeOperator {\n constructor(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n call(subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n }\n}\nclass TakeSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.count = 0;\n }\n _next(value) {\n const total = this.total;\n const count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function takeLast(count) {\n return function takeLastOperatorFunction(source) {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeLastOperator(count));\n }\n };\n}\nclass TakeLastOperator {\n constructor(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n call(subscriber, source) {\n return source.subscribe(new TakeLastSubscriber(subscriber, this.total));\n }\n}\nclass TakeLastSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.ring = new Array();\n this.count = 0;\n }\n _next(value) {\n const ring = this.ring;\n const total = this.total;\n const count = this.count++;\n if (ring.length < total) {\n ring.push(value);\n }\n else {\n const index = count % total;\n ring[index] = value;\n }\n }\n _complete() {\n const destination = this.destination;\n let count = this.count;\n if (count > 0) {\n const total = this.count >= this.total ? this.total : this.count;\n const ring = this.ring;\n for (let i = 0; i < total; i++) {\n const idx = (count++) % total;\n destination.next(ring[idx]);\n }\n }\n destination.complete();\n }\n}\n","import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function takeUntil(notifier) {\n return (source) => source.lift(new TakeUntilOperator(notifier));\n}\nclass TakeUntilOperator {\n constructor(notifier) {\n this.notifier = notifier;\n }\n call(subscriber, source) {\n const takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n const notifierSubscription = subscribeToResult(takeUntilSubscriber, this.notifier);\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n }\n}\nclass TakeUntilSubscriber extends OuterSubscriber {\n constructor(destination) {\n super(destination);\n this.seenValue = false;\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.seenValue = true;\n this.complete();\n }\n notifyComplete() {\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function takeWhile(predicate, inclusive = false) {\n return (source) => source.lift(new TakeWhileOperator(predicate, inclusive));\n}\nclass TakeWhileOperator {\n constructor(predicate, inclusive) {\n this.predicate = predicate;\n this.inclusive = inclusive;\n }\n call(subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate, this.inclusive));\n }\n}\nclass TakeWhileSubscriber extends Subscriber {\n constructor(destination, predicate, inclusive) {\n super(destination);\n this.predicate = predicate;\n this.inclusive = inclusive;\n this.index = 0;\n }\n _next(value) {\n const destination = this.destination;\n let result;\n try {\n result = this.predicate(value, this.index++);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this.nextOrComplete(value, result);\n }\n nextOrComplete(value, predicateResult) {\n const destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n if (this.inclusive) {\n destination.next(value);\n }\n destination.complete();\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { noop } from '../util/noop';\nimport { isFunction } from '../util/isFunction';\nexport function tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nclass DoOperator {\n constructor(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n call(subscriber, source) {\n return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n }\n}\nclass TapSubscriber extends Subscriber {\n constructor(destination, observerOrNext, error, complete) {\n super(destination);\n this._tapNext = noop;\n this._tapError = noop;\n this._tapComplete = noop;\n this._tapError = error || noop;\n this._tapComplete = complete || noop;\n if (isFunction(observerOrNext)) {\n this._context = this;\n this._tapNext = observerOrNext;\n }\n else if (observerOrNext) {\n this._context = observerOrNext;\n this._tapNext = observerOrNext.next || noop;\n this._tapError = observerOrNext.error || noop;\n this._tapComplete = observerOrNext.complete || noop;\n }\n }\n _next(value) {\n try {\n this._tapNext.call(this._context, value);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(value);\n }\n _error(err) {\n try {\n this._tapError.call(this._context, err);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.error(err);\n }\n _complete() {\n try {\n this._tapComplete.call(this._context);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n return this.destination.complete();\n }\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { Subscriber } from '../Subscriber';\nexport function throwIfEmpty(errorFactory = defaultErrorFactory) {\n return (source) => {\n return source.lift(new ThrowIfEmptyOperator(errorFactory));\n };\n}\nclass ThrowIfEmptyOperator {\n constructor(errorFactory) {\n this.errorFactory = errorFactory;\n }\n call(subscriber, source) {\n return source.subscribe(new ThrowIfEmptySubscriber(subscriber, this.errorFactory));\n }\n}\nclass ThrowIfEmptySubscriber extends Subscriber {\n constructor(destination, errorFactory) {\n super(destination);\n this.errorFactory = errorFactory;\n this.hasValue = false;\n }\n _next(value) {\n this.hasValue = true;\n this.destination.next(value);\n }\n _complete() {\n if (!this.hasValue) {\n let err;\n try {\n err = this.errorFactory();\n }\n catch (e) {\n err = e;\n }\n this.destination.error(err);\n }\n else {\n return this.destination.complete();\n }\n }\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleArray(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n let i = 0;\n sub.add(scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n return;\n }\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n sub.add(this.schedule());\n }\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(subscriber => {\n const sub = new Subscription();\n let iterator;\n sub.add(() => {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(() => {\n iterator = input[Symbol_iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n let value;\n let done;\n try {\n const result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => {\n const observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next(value) { sub.add(scheduler.schedule(() => subscriber.next(value))); },\n error(err) { sub.add(scheduler.schedule(() => subscriber.error(err))); },\n complete() { sub.add(scheduler.schedule(() => subscriber.complete())); },\n }));\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => input.then(value => {\n sub.add(scheduler.schedule(() => {\n subscriber.next(value);\n sub.add(scheduler.schedule(() => subscriber.complete()));\n }));\n }, err => {\n sub.add(scheduler.schedule(() => subscriber.error(err)));\n })));\n return sub;\n });\n}\n","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n","import { Action } from './Action';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, delay) {\n let errored = false;\n let errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n _unsubscribe() {\n const id = this.id;\n const scheduler = this.scheduler;\n const actions = scheduler.actions;\n const index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n }\n}\n","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, () => {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n });\n this.actions = [];\n this.active = false;\n this.scheduled = undefined;\n }\n schedule(work, delay = 0, state) {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return super.schedule(work, delay, state);\n }\n }\n flush(action) {\n const { actions } = this;\n if (this.active) {\n actions.push(action);\n return;\n }\n let error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const async = new AsyncScheduler(AsyncAction);\n","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\nexport const $$iterator = iterator;\n","export const observable = (() => typeof Symbol === 'function' && Symbol.observable || '@@observable')();\n","export const rxSubscriber = (() => typeof Symbol === 'function'\n ? Symbol('rxSubscriber')\n : '@@rxSubscriber_' + Math.random())();\nexport const $$rxSubscriber = rxSubscriber;\n","const ArgumentOutOfRangeErrorImpl = (() => {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport const ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n","const EmptyErrorImpl = (() => {\n function EmptyErrorImpl() {\n Error.call(this);\n this.message = 'no elements in sequence';\n this.name = 'EmptyError';\n return this;\n }\n EmptyErrorImpl.prototype = Object.create(Error.prototype);\n return EmptyErrorImpl;\n})();\nexport const EmptyError = EmptyErrorImpl;\n","const ObjectUnsubscribedErrorImpl = (() => {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport const ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n","const UnsubscriptionErrorImpl = (() => {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}` : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport const UnsubscriptionError = UnsubscriptionErrorImpl;\n","import { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n const { closed, destination, isStopped } = observer;\n if (closed || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n","export function hostReportError(err) {\n setTimeout(() => { throw err; }, 0);\n}\n","export function identity(x) {\n return x;\n}\n","export const isArray = (() => Array.isArray || ((x) => x && typeof x.length === 'number'))();\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n","export function isFunction(x) {\n return typeof x === 'function';\n}\n","import { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n","export function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n","export function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n","export function isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\n","export function noop() { }\n","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n","import { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeTo = (result) => {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n const value = isObject(result) ? 'an invalid object' : `'${result}'`;\n const msg = `You provided ${value} where a stream was expected.`\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n","export const subscribeToArray = (array) => (subscriber) => {\n for (let i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n};\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport const subscribeToIterable = (iterable) => (subscriber) => {\n const iterator = iterable[Symbol_iterator]();\n do {\n const item = iterator.next();\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(() => {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n};\n","import { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeToObservable = (obj) => (subscriber) => {\n const obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n};\n","import { hostReportError } from './hostReportError';\nexport const subscribeToPromise = (promise) => (subscriber) => {\n promise.then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, hostReportError);\n return subscriber;\n};\n","import { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex)) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n","import { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * @license Angular v14.2.12\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the [AnimationBuilder.build](api/animations/AnimationBuilder#build)() method\n * to create a programmatic animation. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the\n * [AnimationBuilder.build](api/animations/AnimationBuilder#build)()\n * method.\n *\n * @publicApi\n */\nclass AnimationFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of [`state()`](api/animations/state)\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of\n * [`state()`](api/animations/state) and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* AnimationMetadataType.Trigger */, name, definitions, options: {} };\n}\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" }),\n * style({ background: \"red\" })\n * ])\n * ```\n *\n * @publicApi\n */\nfunction animate(timings, styles = null) {\n return { type: 4 /* AnimationMetadataType.Animate */, styles, timings };\n}\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nfunction group(steps, options = null) {\n return { type: 3 /* AnimationMetadataType.Group */, steps, options };\n}\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nfunction sequence(steps, options = null) {\n return { type: 2 /* AnimationMetadataType.Sequence */, steps, options };\n}\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation [`state`](api/animations/state), within an animation\n *`sequence`, or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow an element to animate from\n * a height of 0 up to its full height:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nfunction style(tokens) {\n return { type: 6 /* AnimationMetadataType.Style */, styles: tokens, offset: null };\n}\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nfunction state(name, styles, options) {\n return { type: 0 /* AnimationMetadataType.State */, name, styles, options };\n}\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nfunction keyframes(steps) {\n return { type: 5 /* AnimationMetadataType.Keyframes */, steps };\n}\n/**\n * Declares an animation transition which is played when a certain specified condition is met.\n *\n * @param stateChangeExpr A string with a specific format or a function that specifies when the\n * animation transition should occur (see [State Change Expression](#state-change-expression)).\n *\n * @param steps One or more animation objects that represent the animation's instructions.\n *\n * @param options An options object that can be used to specify a delay for the animation or provide\n * custom parameters for it.\n *\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n *\n * ### State Change Expression\n *\n * The State Change Expression instructs Angular when to run the transition's animations, it can\n *either be\n * - a string with a specific syntax\n * - or a function that compares the previous and current state (value of the expression bound to\n * the element's trigger) and returns `true` if the transition should occur or `false` otherwise\n *\n * The string format can be:\n * - `fromState => toState`, which indicates that the transition's animations should occur then the\n * expression bound to the trigger's element goes from `fromState` to `toState`\n *\n * _Example:_\n * ```typescript\n * transition('open => closed', animate('.5s ease-out', style({ height: 0 }) ))\n * ```\n *\n * - `fromState <=> toState`, which indicates that the transition's animations should occur then\n * the expression bound to the trigger's element goes from `fromState` to `toState` or vice versa\n *\n * _Example:_\n * ```typescript\n * transition('enabled <=> disabled', animate('1s cubic-bezier(0.8,0.3,0,1)'))\n * ```\n *\n * - `:enter`/`:leave`, which indicates that the transition's animations should occur when the\n * element enters or exists the DOM\n *\n * _Example:_\n * ```typescript\n * transition(':enter', [\n * style({ opacity: 0 }),\n * animate('500ms', style({ opacity: 1 }))\n * ])\n * ```\n *\n * - `:increment`/`:decrement`, which indicates that the transition's animations should occur when\n * the numerical expression bound to the trigger's element has increased in value or decreased\n *\n * _Example:_\n * ```typescript\n * transition(':increment', query('@counter', animateChild()))\n * ```\n *\n * - a sequence of any of the above divided by commas, which indicates that transition's animations\n * should occur whenever one of the state change expressions matches\n *\n * _Example:_\n * ```typescript\n * transition(':increment, * => enabled, :enter', animate('1s ease', keyframes([\n * style({ transform: 'scale(1)', offset: 0}),\n * style({ transform: 'scale(1.1)', offset: 0.7}),\n * style({ transform: 'scale(1)', offset: 1})\n * ]))),\n * ```\n *\n * Also note that in such context:\n * - `void` can be used to indicate the absence of the element\n * - asterisks can be used as wildcards that match any state\n * - (as a consequence of the above, `void => *` is equivalent to `:enter` and `* => void` is\n * equivalent to `:leave`)\n * - `true` and `false` also match expression values of `1` and `0` respectively (but do not match\n * _truthy_ and _falsy_ values)\n *\n *
\n *\n * Be careful about entering end leaving elements as their transitions present a common\n * pitfall for developers.\n *\n * Note that when an element with a trigger enters the DOM its `:enter` transition always\n * gets executed, but its `:leave` transition will not be executed if the element is removed\n * alongside its parent (as it will be removed \"without warning\" before its transition has\n * a chance to be executed, the only way that such transition can occur is if the element\n * is exiting the DOM on its own).\n *\n *\n *
\n *\n * ### Animating to a Final State\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no `style` data, that step is automatically considered the final animation arc,\n * for the element to reach the final state, in such case Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n *\n * ### Usage Examples\n *\n * - Transition animations applied based on\n * the trigger's expression value\n *\n * ```HTML\n *
\n * ...\n *
\n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\"on => off, open => closed\", animate(500)),\n * transition(\"* <=> error\", query('.indicator', animateChild()))\n * ])\n * ```\n *\n * - Transition animations applied based on custom logic dependent\n * on the trigger's expression value and provided parameters\n *\n * ```HTML\n *
\n * ...\n *
\n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\n * (fromState, toState, _element, params) =>\n * ['firststep', 'laststep'].includes(fromState.toLowerCase())\n * && toState === params?.['target'],\n * animate('1s')\n * )\n * ])\n * ```\n *\n * @publicApi\n **/\nfunction transition(stateChangeExpr, steps, options = null) {\n return { type: 1 /* AnimationMetadataType.Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nfunction animation(steps, options = null) {\n return { type: 8 /* AnimationMetadataType.Reference */, animation: steps, options };\n}\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nfunction animateChild(options = null) {\n return { type: 9 /* AnimationMetadataType.AnimateChild */, options };\n}\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nfunction useAnimation(animation, options = null) {\n return { type: 10 /* AnimationMetadataType.AnimateRef */, animation, options };\n}\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements (not\n * all elements can be queried via these tokens, see\n * [Entering and Leaving Elements](#entering-and-leaving-elements))\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n *\n * ### Multiple Tokens\n *\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Entering and Leaving Elements\n *\n * Not all elements can be queried via the `:enter` and `:leave` tokens, the only ones\n * that can are those that Angular assumes can enter/leave based on their own logic\n * (if their insertion/removal is simply a consequence of that of their parent they\n * should be queried via a different token in their parent's `:enter`/`:leave` transitions).\n *\n * The only elements Angular assumes can enter/leave based on their own logic (thus the only\n * ones that can be queried via the `:enter` and `:leave` tokens) are:\n * - Those inserted dynamically (via `ViewContainerRef`)\n * - Those that have a structural directive (which, under the hood, are a subset of the above ones)\n *\n *
\n *\n * Note that elements will be successfully queried via `:enter`/`:leave` even if their\n * insertion/removal is not done manually via `ViewContainerRef`or caused by their structural\n * directive (e.g. they enter/exit alongside their parent).\n *\n *
\n *\n *
\n *\n * There is an exception to what previously mentioned, besides elements entering/leaving based on\n * their own logic, elements with an animation trigger can always be queried via `:leave` when\n * their parent is also leaving.\n *\n *
\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nfunction query(selector, animation, options = null) {\n return { type: 11 /* AnimationMetadataType.Query */, selector, animation, options };\n}\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* AnimationMetadataType.Stagger */, timings, animation };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction scheduleMicroTask(cb) {\n Promise.resolve().then(cb);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._originalOnDoneFns = [];\n this._originalOnStartFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this._started = false;\n this._finished = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n }\n else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ɵPRE_STYLE = '!';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n","/**\n * @license Angular v14.2.12\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError, Injectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst LINE_START = '\\n - ';\nfunction invalidTimingValue(exp) {\n return new ɵRuntimeError(3000 /* RuntimeErrorCode.INVALID_TIMING_VALUE */, ngDevMode && `The provided timing value \"${exp}\" is invalid.`);\n}\nfunction negativeStepValue() {\n return new ɵRuntimeError(3100 /* RuntimeErrorCode.NEGATIVE_STEP_VALUE */, ngDevMode && 'Duration values below 0 are not allowed for this animation step.');\n}\nfunction negativeDelayValue() {\n return new ɵRuntimeError(3101 /* RuntimeErrorCode.NEGATIVE_DELAY_VALUE */, ngDevMode && 'Delay values below 0 are not allowed for this animation step.');\n}\nfunction invalidStyleParams(varName) {\n return new ɵRuntimeError(3001 /* RuntimeErrorCode.INVALID_STYLE_PARAMS */, ngDevMode &&\n `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\nfunction invalidParamValue(varName) {\n return new ɵRuntimeError(3003 /* RuntimeErrorCode.INVALID_PARAM_VALUE */, ngDevMode && `Please provide a value for the animation param ${varName}`);\n}\nfunction invalidNodeType(nodeType) {\n return new ɵRuntimeError(3004 /* RuntimeErrorCode.INVALID_NODE_TYPE */, ngDevMode && `Unable to resolve animation metadata node #${nodeType}`);\n}\nfunction invalidCssUnitValue(userProvidedProperty, value) {\n return new ɵRuntimeError(3005 /* RuntimeErrorCode.INVALID_CSS_UNIT_VALUE */, ngDevMode && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\nfunction invalidTrigger() {\n return new ɵRuntimeError(3006 /* RuntimeErrorCode.INVALID_TRIGGER */, ngDevMode &&\n 'animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n}\nfunction invalidDefinition() {\n return new ɵRuntimeError(3007 /* RuntimeErrorCode.INVALID_DEFINITION */, ngDevMode && 'only state() and transition() definitions can sit inside of a trigger()');\n}\nfunction invalidState(metadataName, missingSubs) {\n return new ɵRuntimeError(3008 /* RuntimeErrorCode.INVALID_STATE */, ngDevMode &&\n `state(\"${metadataName}\", ...) must define default values for all the following style substitutions: ${missingSubs.join(', ')}`);\n}\nfunction invalidStyleValue(value) {\n return new ɵRuntimeError(3002 /* RuntimeErrorCode.INVALID_STYLE_VALUE */, ngDevMode && `The provided style string value ${value} is not allowed.`);\n}\nfunction invalidProperty(prop) {\n return new ɵRuntimeError(3009 /* RuntimeErrorCode.INVALID_PROPERTY */, ngDevMode &&\n `The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n}\nfunction invalidParallelAnimation(prop, firstStart, firstEnd, secondStart, secondEnd) {\n return new ɵRuntimeError(3010 /* RuntimeErrorCode.INVALID_PARALLEL_ANIMATION */, ngDevMode &&\n `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${firstEnd}ms\" is also being animated in a parallel animation between the times of \"${secondStart}ms\" and \"${secondEnd}ms\"`);\n}\nfunction invalidKeyframes() {\n return new ɵRuntimeError(3011 /* RuntimeErrorCode.INVALID_KEYFRAMES */, ngDevMode && `keyframes() must be placed inside of a call to animate()`);\n}\nfunction invalidOffset() {\n return new ɵRuntimeError(3012 /* RuntimeErrorCode.INVALID_OFFSET */, ngDevMode && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\nfunction keyframeOffsetsOutOfOrder() {\n return new ɵRuntimeError(3200 /* RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER */, ngDevMode && `Please ensure that all keyframe offsets are in order`);\n}\nfunction keyframesMissingOffsets() {\n return new ɵRuntimeError(3202 /* RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS */, ngDevMode && `Not all style() steps within the declared keyframes() contain offsets`);\n}\nfunction invalidStagger() {\n return new ɵRuntimeError(3013 /* RuntimeErrorCode.INVALID_STAGGER */, ngDevMode && `stagger() can only be used inside of query()`);\n}\nfunction invalidQuery(selector) {\n return new ɵRuntimeError(3014 /* RuntimeErrorCode.INVALID_QUERY */, ngDevMode &&\n `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\nfunction invalidExpression(expr) {\n return new ɵRuntimeError(3015 /* RuntimeErrorCode.INVALID_EXPRESSION */, ngDevMode && `The provided transition expression \"${expr}\" is not supported`);\n}\nfunction invalidTransitionAlias(alias) {\n return new ɵRuntimeError(3016 /* RuntimeErrorCode.INVALID_TRANSITION_ALIAS */, ngDevMode && `The transition alias value \"${alias}\" is not supported`);\n}\nfunction validationFailed(errors) {\n return new ɵRuntimeError(3500 /* RuntimeErrorCode.VALIDATION_FAILED */, ngDevMode && `animation validation failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction buildingFailed(errors) {\n return new ɵRuntimeError(3501 /* RuntimeErrorCode.BUILDING_FAILED */, ngDevMode && `animation building failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerBuildFailed(name, errors) {\n return new ɵRuntimeError(3404 /* RuntimeErrorCode.TRIGGER_BUILD_FAILED */, ngDevMode &&\n `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.map(err => err.message).join('\\n - ')}`);\n}\nfunction animationFailed(errors) {\n return new ɵRuntimeError(3502 /* RuntimeErrorCode.ANIMATION_FAILED */, ngDevMode &&\n `Unable to animate due to the following errors:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction registerFailed(errors) {\n return new ɵRuntimeError(3503 /* RuntimeErrorCode.REGISTRATION_FAILED */, ngDevMode &&\n `Unable to build the animation due to the following errors: ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingOrDestroyedAnimation() {\n return new ɵRuntimeError(3300 /* RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION */, ngDevMode && 'The requested animation doesn\\'t exist or has already been destroyed');\n}\nfunction createAnimationFailed(errors) {\n return new ɵRuntimeError(3504 /* RuntimeErrorCode.CREATE_ANIMATION_FAILED */, ngDevMode &&\n `Unable to create the animation due to the following errors:${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingPlayer(id) {\n return new ɵRuntimeError(3301 /* RuntimeErrorCode.MISSING_PLAYER */, ngDevMode && `Unable to find the timeline player referenced by ${id}`);\n}\nfunction missingTrigger(phase, name) {\n return new ɵRuntimeError(3302 /* RuntimeErrorCode.MISSING_TRIGGER */, ngDevMode &&\n `Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\nfunction missingEvent(name) {\n return new ɵRuntimeError(3303 /* RuntimeErrorCode.MISSING_EVENT */, ngDevMode &&\n `Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n}\nfunction unsupportedTriggerEvent(phase, name) {\n return new ɵRuntimeError(3400 /* RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT */, ngDevMode &&\n `The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n}\nfunction unregisteredTrigger(name) {\n return new ɵRuntimeError(3401 /* RuntimeErrorCode.UNREGISTERED_TRIGGER */, ngDevMode && `The provided animation trigger \"${name}\" has not been registered!`);\n}\nfunction triggerTransitionsFailed(errors) {\n return new ɵRuntimeError(3402 /* RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED */, ngDevMode &&\n `Unable to process animations due to the following failed trigger transitions\\n ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerParsingFailed(name, errors) {\n return new ɵRuntimeError(3403 /* RuntimeErrorCode.TRIGGER_PARSING_FAILED */, ngDevMode &&\n `Animation parsing for the ${name} trigger have failed:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction transitionFailed(name, errors) {\n return new ɵRuntimeError(3505 /* RuntimeErrorCode.TRANSITION_FAILED */, ngDevMode && `@${name} has failed due to:\\n ${errors.map(err => err.message).join('\\n- ')}`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Set of all animatable CSS properties\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties\n */\nconst ANIMATABLE_PROP_SET = new Set([\n '-moz-outline-radius',\n '-moz-outline-radius-bottomleft',\n '-moz-outline-radius-bottomright',\n '-moz-outline-radius-topleft',\n '-moz-outline-radius-topright',\n '-ms-grid-columns',\n '-ms-grid-rows',\n '-webkit-line-clamp',\n '-webkit-text-fill-color',\n '-webkit-text-stroke',\n '-webkit-text-stroke-color',\n 'accent-color',\n 'all',\n 'backdrop-filter',\n 'background',\n 'background-color',\n 'background-position',\n 'background-size',\n 'block-size',\n 'border',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-width',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image-outset',\n 'border-image-slice',\n 'border-image-width',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-width',\n 'border-left',\n 'border-left-color',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-width',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-shadow',\n 'caret-color',\n 'clip',\n 'clip-path',\n 'color',\n 'column-count',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-width',\n 'column-width',\n 'columns',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-grow',\n 'flex-shrink',\n 'font',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-variation-settings',\n 'font-weight',\n 'gap',\n 'grid-column-gap',\n 'grid-gap',\n 'grid-row-gap',\n 'grid-template-columns',\n 'grid-template-rows',\n 'height',\n 'inline-size',\n 'input-security',\n 'inset',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'left',\n 'letter-spacing',\n 'line-clamp',\n 'line-height',\n 'margin',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'mask',\n 'mask-border',\n 'mask-position',\n 'mask-size',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-lines',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-width',\n 'padding',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'perspective',\n 'perspective-origin',\n 'right',\n 'rotate',\n 'row-gap',\n 'scale',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-coordinate',\n 'scroll-snap-destination',\n 'scrollbar-color',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'tab-size',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-indent',\n 'text-shadow',\n 'text-underline-offset',\n 'top',\n 'transform',\n 'transform-origin',\n 'translate',\n 'vertical-align',\n 'visibility',\n 'width',\n 'word-spacing',\n 'z-index',\n 'zoom',\n]);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction isBrowser() {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\nfunction isNode() {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes$1(driver, normalizer, element, keyframes, preStyles = new Map(), postStyles = new Map()) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf.get('offset');\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = (isSameOffset && previousKeyframe) || new Map();\n kf.forEach((val, prop) => {\n let normalizedProp = prop;\n let normalizedValue = val;\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles.get(prop);\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles.get(prop);\n break;\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe.set(normalizedProp, normalizedValue);\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return { element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled };\n}\nfunction getOrSetDefaultValue(map, key, defaultValue) {\n let value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.slice(separatorPos + 1);\n return [id, action];\n}\nlet _contains = (elm1, elm2) => false;\nlet _query = (element, selector, multi) => {\n return [];\n};\nlet _documentElement = null;\nfunction getParentElement(element) {\n const parent = element.parentNode || element.host; // consider host to support shadow DOM\n if (parent === _documentElement) {\n return null;\n }\n return parent;\n}\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n if (!isBrowser()) {\n _contains = (elm1, elm2) => elm1.contains(elm2);\n }\n else {\n // Read the document element in an IIFE that's been marked pure to avoid a top-level property\n // read that may prevent tree-shaking.\n _documentElement = /* @__PURE__ */ (() => document.documentElement)();\n _contains = (elm1, elm2) => {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n };\n }\n _query = (element, selector, multi) => {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n };\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? ('WebkitAppearance' in _CACHED_BODY.style) : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.slice(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction validateWebAnimatableStyleProperty(prop) {\n return ANIMATABLE_PROP_SET.has(prop);\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nconst containsElement = _contains;\nconst invokeQuery = _query;\nfunction hypenatePropsKeys(original) {\n const newMap = new Map();\n original.forEach((val, prop) => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newMap.set(newProp, val);\n });\n return newMap;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NoopAnimationDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\nNoopAnimationDriver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NoopAnimationDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopAnimationDriver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NoopAnimationDriver });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NoopAnimationDriver, decorators: [{\n type: Injectable\n }] });\n/**\n * @publicApi\n */\nclass AnimationDriver {\n}\nAnimationDriver.NOOP = ( /* @__PURE__ */new NoopAnimationDriver());\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n return { duration, delay, easing };\n}\nfunction copyObj(obj, destination = {}) {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\nfunction convertToMap(obj) {\n const styleMap = new Map();\n Object.keys(obj).forEach(prop => {\n const val = obj[prop];\n styleMap.set(prop, val);\n });\n return styleMap;\n}\nfunction normalizeKeyframes(keyframes) {\n if (!keyframes.length) {\n return [];\n }\n if (keyframes[0] instanceof Map) {\n return keyframes;\n }\n return keyframes.map(kf => convertToMap(kf));\n}\nfunction normalizeStyles(styles) {\n const normalizedStyles = new Map();\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, normalizedStyles));\n }\n else {\n copyStyles(styles, normalizedStyles);\n }\n return normalizedStyles;\n}\nfunction copyStyles(styles, destination = new Map(), backfill) {\n if (backfill) {\n for (let [prop, val] of backfill) {\n destination.set(prop, val);\n }\n }\n for (let [prop, val] of styles) {\n destination.set(prop, val);\n }\n return destination;\n}\nfunction getStyleAttributeString(element, key, value) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n }\n else {\n return '';\n }\n}\nfunction writeStyleAttribute(element) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\nfunction setStyles(element, styles, formerStyles) {\n if (element['style']) {\n styles.forEach((val, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.has(prop)) {\n formerStyles.set(prop, element.style[camelProp]);\n }\n element.style[camelProp] = val;\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction eraseStyles(element, styles) {\n if (element['style']) {\n styles.forEach((_, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (localVal == null) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nfunction iteratorToArray(iterator) {\n const arr = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n if (previousStyles.size && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyles.forEach((val, prop) => {\n if (!startingKeyframe.has(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe.set(prop, val);\n });\n if (missingStyleProps.length) {\n for (let i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(prop => kf.set(prop, computeStyle(element, prop)));\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case 7 /* AnimationMetadataType.Trigger */:\n return visitor.visitTrigger(node, context);\n case 0 /* AnimationMetadataType.State */:\n return visitor.visitState(node, context);\n case 1 /* AnimationMetadataType.Transition */:\n return visitor.visitTransition(node, context);\n case 2 /* AnimationMetadataType.Sequence */:\n return visitor.visitSequence(node, context);\n case 3 /* AnimationMetadataType.Group */:\n return visitor.visitGroup(node, context);\n case 4 /* AnimationMetadataType.Animate */:\n return visitor.visitAnimate(node, context);\n case 5 /* AnimationMetadataType.Keyframes */:\n return visitor.visitKeyframes(node, context);\n case 6 /* AnimationMetadataType.Style */:\n return visitor.visitStyle(node, context);\n case 8 /* AnimationMetadataType.Reference */:\n return visitor.visitReference(node, context);\n case 9 /* AnimationMetadataType.AnimateChild */:\n return visitor.visitAnimateChild(node, context);\n case 10 /* AnimationMetadataType.AnimateRef */:\n return visitor.visitAnimateRef(node, context);\n case 11 /* AnimationMetadataType.Query */:\n return visitor.visitQuery(node, context);\n case 12 /* AnimationMetadataType.Stagger */:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;\nfunction createListOfWarnings(warnings) {\n const LINE_START = '\\n - ';\n return `${LINE_START}${warnings.filter(Boolean).map(warning => warning).join(LINE_START)}`;\n}\nfunction warnValidation(warnings) {\n NG_DEV_MODE && console.warn(`animation validation warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnTriggerBuild(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`The animation trigger \"${name}\" has built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnRegister(warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction triggerParsingWarnings(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation parsing for the ${name} trigger presents the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction pushUnrecognizedPropertiesWarning(warnings, props) {\n if (props.length) {\n warnings.push(`The following provided properties are not recognized: ${props.join(', ')}`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n }\n else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(invalidExpression(eventStr));\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(invalidTransitionAlias(alias));\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors, warnings) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors, warnings);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors, warnings) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n const ast = visitDslNode(this, normalizeAnimationEntry(metadata), context);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (context.unsupportedCSSPropertiesFound.size) {\n pushUnrecognizedPropertiesWarning(warnings, [...context.unsupportedCSSPropertiesFound.keys()]);\n }\n }\n return ast;\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = new Map();\n context.collectedStyles.set(ROOT_SELECTOR, new Map());\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(invalidTrigger());\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == 0 /* AnimationMetadataType.State */) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == 1 /* AnimationMetadataType.Transition */) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push(invalidDefinition());\n }\n });\n return {\n type: 7 /* AnimationMetadataType.Trigger */,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(style => {\n if (style instanceof Map) {\n style.forEach(value => {\n extractStyleParams(value).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(invalidState(metadata.name, missingSubsArr));\n }\n }\n return {\n type: 0 /* AnimationMetadataType.State */,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: 1 /* AnimationMetadataType.Transition */,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: 2 /* AnimationMetadataType.Sequence */,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: 3 /* AnimationMetadataType.Group */,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == 5 /* AnimationMetadataType.Keyframes */) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n }\n else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: 4 /* AnimationMetadataType.Animate */,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n const metadataStyles = Array.isArray(metadata.styles) ? metadata.styles : [metadata.styles];\n for (let styleTuple of metadataStyles) {\n if (typeof styleTuple === 'string') {\n if (styleTuple === AUTO_STYLE) {\n styles.push(styleTuple);\n }\n else {\n context.errors.push(invalidStyleValue(styleTuple));\n }\n }\n else {\n styles.push(convertToMap(styleTuple));\n }\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (styleData instanceof Map) {\n if (styleData.has('easing')) {\n collectedEasing = styleData.get('easing');\n styleData.delete('easing');\n }\n if (!containsDynamicStyles) {\n for (let value of styleData.values()) {\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: 6 /* AnimationMetadataType.Style */,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple === 'string')\n return;\n tuple.forEach((value, prop) => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._driver.validateStyleProperty(prop)) {\n tuple.delete(prop);\n context.unsupportedCSSPropertiesFound.add(prop);\n return;\n }\n }\n // This is guaranteed to have a defined Map at this querySelector location making it\n // safe to add the assertion here. It is set as a default empty map in prior methods.\n const collectedStyles = context.collectedStyles.get(context.currentQuerySelector);\n const collectedEntry = collectedStyles.get(prop);\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(invalidParallelAnimation(prop, collectedEntry.startTime, collectedEntry.endTime, startTime, endTime));\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles.set(prop, { startTime, endTime });\n }\n if (context.options) {\n validateStyleParams(value, context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = { type: 5 /* AnimationMetadataType.Keyframes */, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(invalidKeyframes());\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(invalidOffset());\n }\n if (offsetsOutOfOrder) {\n context.errors.push(keyframeOffsetsOutOfOrder());\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(keyframesMissingOffsets());\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: 8 /* AnimationMetadataType.Reference */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: 9 /* AnimationMetadataType.AnimateChild */,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: 10 /* AnimationMetadataType.AnimateRef */,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = (metadata.options || {});\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetDefaultValue(context.collectedStyles, context.currentQuerySelector, new Map());\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: 11 /* AnimationMetadataType.Query */,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(invalidStagger());\n }\n const timings = metadata.timings === 'full' ?\n { duration: 0, delay: 0, easing: 'full' } :\n resolveTiming(metadata.timings, context.errors, true);\n return {\n type: 12 /* AnimationMetadataType.Stagger */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // Note: the :enter and :leave aren't normalized here since those\n // selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.slice(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? copyObj(obj) : null;\n}\nclass AnimationAstBuilderContext {\n constructor(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = new Map();\n this.options = null;\n this.unsupportedCSSPropertiesFound = new Set();\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (styleTuple instanceof Map && styleTuple.has('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n });\n }\n else if (styles instanceof Map && styles.has('offset')) {\n const obj = styles;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n return offset;\n}\nfunction constructTimingAst(value, errors) {\n if (value.hasOwnProperty('duration')) {\n return value;\n }\n if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n const timings = resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n }\n else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return { duration, delay, easing };\n}\n\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* AnimationTransitionInstructionType.TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\n\nclass ElementInstructionMap {\n constructor() {\n this._map = new Map();\n }\n get(element) {\n return this._map.get(element) || [];\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two within a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergeSort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill map. The `copyStyles` method in util.ts\n * handles propagating that backfill map to the styles object.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = new Map(), finalStyles = new Map(), options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n context.currentTimeline.delayNextStep(delay);\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n // note: we just want to apply the final styles for the rootElement, so we do not\n // just apply the styles to the last timeline but the last timeline which\n // element is the root one (basically `*`-styles are replaced with the actual\n // state style values only for the root element)\n if (timelines.length && finalStyles.size) {\n let lastRootTimeline;\n for (let i = timelines.length - 1; i >= 0; i--) {\n const timeline = timelines[i];\n if (timeline.element === rootElement) {\n lastRootTimeline = timeline;\n break;\n }\n }\n if (lastRootTimeline && !lastRootTimeline.allowOnlyTimelineStyles()) {\n lastRootTimeline.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ?\n timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, delay, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.get(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this._applyAnimationRefDelays([ast.options, ast.animation.options], context, innerContext);\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _applyAnimationRefDelays(animationsRefsOptions, context, innerContext) {\n for (const animationRefOptions of animationsRefsOptions) {\n const animationDelay = animationRefOptions?.delay;\n if (animationDelay) {\n const animationDelayValue = typeof animationDelay === 'number' ?\n animationDelay :\n resolveTimingValue(interpolateParams(animationDelay, animationRefOptions?.params ?? {}, context.errors));\n innerContext.delayNextStep(animationDelayValue);\n }\n }\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == 6 /* AnimationMetadataType.Style */) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just in case the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == 5 /* AnimationMetadataType.Keyframes */) {\n this.visitKeyframes(style, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.hasCurrentStyleProperties()) {\n timeline.forwardFrame();\n }\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = (context.currentTimeline).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {});\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay &&\n (context.previousNode.type === 6 /* AnimationMetadataType.Style */ ||\n (startTime == 0 && context.currentTimeline.hasCurrentStyleProperties()))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options)\n return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // only if :self is used then the selector can be empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(invalidQuery(originalSelector));\n }\n return results;\n }\n}\nclass TimelineBuilder {\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this._previousKeyframe = new Map();\n this._currentKeyframe = new Map();\n this._keyframes = new Map();\n this._styleSummary = new Map();\n this._localTimelineStyles = new Map();\n this._pendingStyles = new Map();\n this._backFill = new Map();\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.hasCurrentStyleProperties();\n default:\n return true;\n }\n }\n hasCurrentStyleProperties() {\n return this._currentKeyframe.size > 0;\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size === 1 && this._pendingStyles.size;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = new Map();\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles.set(prop, value);\n this._globalTimelineStyles.set(prop, value);\n this._styleSummary.set(prop, { time: this.currentTime, value });\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n for (let [prop, value] of this._globalTimelineStyles) {\n this._backFill.set(prop, value || AUTO_STYLE);\n this._currentKeyframe.set(prop, AUTO_STYLE);\n }\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n for (let [prop, value] of styles) {\n const val = interpolateParams(value, params, errors);\n this._pendingStyles.set(prop, val);\n if (!this._localTimelineStyles.has(prop)) {\n this._backFill.set(prop, this._globalTimelineStyles.get(prop) ?? AUTO_STYLE);\n }\n this._updateStyle(prop, val);\n }\n }\n applyStylesToKeyframe() {\n if (this._pendingStyles.size == 0)\n return;\n this._pendingStyles.forEach((val, prop) => {\n this._currentKeyframe.set(prop, val);\n });\n this._pendingStyles.clear();\n this._localTimelineStyles.forEach((val, prop) => {\n if (!this._currentKeyframe.has(prop)) {\n this._currentKeyframe.set(prop, val);\n }\n });\n }\n snapshotCurrentStyles() {\n for (let [prop, val] of this._localTimelineStyles) {\n this._pendingStyles.set(prop, val);\n this._updateStyle(prop, val);\n }\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n timeline._styleSummary.forEach((details1, prop) => {\n const details0 = this._styleSummary.get(prop);\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, new Map(), this._backFill);\n finalKeyframe.forEach((value, prop) => {\n if (value === ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value === AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe.set('offset', time / this.duration);\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = new Map(kf0);\n kf0.set('offset', 0);\n kf1.set('offset', 1);\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let { delay, duration, easing } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0]);\n newFirstKeyframe.set('offset', 0);\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = copyStyles(keyframes[0]);\n oldFirstKeyframe.set('offset', roundOffset(startingGap));\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still rendered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i]);\n const oldOffset = kf.get('offset');\n const timeAtKeyframe = delay + oldOffset * duration;\n kf.set('offset', roundOffset(timeAtKeyframe / totalTime));\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = new Map();\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || allStyles.keys();\n for (let prop of allProperties) {\n styles.set(prop, AUTO_STYLE);\n }\n }\n else {\n copyStyles(token, styles);\n }\n });\n return styles;\n}\n\nclass Animation {\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(_driver, input, errors, warnings);\n if (errors.length) {\n throw validationFailed(errors);\n }\n if (warnings.length) {\n warnValidation(warnings);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n throw buildingFailed(errors);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass AnimationStyleNormalizer {\n}\n/**\n * @publicApi\n */\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DIMENSIONAL_PROP_SET = new Set([\n 'width',\n 'height',\n 'minWidth',\n 'minHeight',\n 'maxWidth',\n 'maxHeight',\n 'left',\n 'top',\n 'bottom',\n 'right',\n 'fontSize',\n 'outlineWidth',\n 'outlineOffset',\n 'paddingTop',\n 'paddingLeft',\n 'paddingBottom',\n 'paddingRight',\n 'marginTop',\n 'marginLeft',\n 'marginBottom',\n 'marginRight',\n 'borderRadius',\n 'borderWidth',\n 'borderTopWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'textIndent',\n 'perspective'\n]);\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_SET.has(normalizedProperty) && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(invalidCssUnitValue(userProvidedProperty, value));\n }\n }\n }\n return strVal + unit;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* AnimationTransitionInstructionType.TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\n\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n let styler = this._stateStyles.get('*');\n if (stateName !== undefined) {\n styler = this._stateStyles.get(stateName?.toString()) || styler;\n }\n return styler ? styler.buildStyles(params, errors) : new Map();\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = {\n params: applyParamDefaults(nextAnimationParams, transitionAnimationParams),\n delay: this.ast.options?.delay,\n };\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetDefaultValue(preStyleMap, elm, new Set());\n tl.preStyleProps.forEach(prop => preProps.add(prop));\n const postProps = getOrSetDefaultValue(postStyleMap, elm, new Set());\n tl.postStyleProps.forEach(prop => postProps.add(prop));\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n checkNonAnimatableInTimelines(timelines, this._triggerName, driver);\n }\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\n/**\n * Checks inside a set of timelines if they try to animate a css property which is not considered\n * animatable, in that case it prints a warning on the console.\n * Besides that the function doesn't have any other effect.\n *\n * Note: this check is done here after the timelines are built instead of doing on a lower level so\n * that we can make sure that the warning appears only once per instruction (we can aggregate here\n * all the issues instead of finding them separately).\n *\n * @param timelines The built timelines for the current instruction.\n * @param triggerName The name of the trigger for the current instruction.\n * @param driver Animation driver used to perform the check.\n *\n */\nfunction checkNonAnimatableInTimelines(timelines, triggerName, driver) {\n if (!driver.validateAnimatableStyleProperty) {\n return;\n }\n const invalidNonAnimatableProps = new Set();\n timelines.forEach(({ keyframes }) => {\n const nonAnimatablePropsInitialValues = new Map();\n keyframes.forEach(keyframe => {\n for (const [prop, value] of keyframe.entries()) {\n if (!driver.validateAnimatableStyleProperty(prop)) {\n if (nonAnimatablePropsInitialValues.has(prop) && !invalidNonAnimatableProps.has(prop)) {\n const propInitialValue = nonAnimatablePropsInitialValues.get(prop);\n if (propInitialValue !== value) {\n invalidNonAnimatableProps.add(prop);\n }\n }\n else {\n nonAnimatablePropsInitialValues.set(prop, value);\n }\n }\n }\n });\n });\n if (invalidNonAnimatableProps.size > 0) {\n console.warn(`Warning: The animation trigger \"${triggerName}\" is attempting to animate the following` +\n ' not animatable properties: ' + Array.from(invalidNonAnimatableProps).join(', ') + '\\n' +\n '(to check the list of all animatable properties visit https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties)');\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nfunction applyParamDefaults(userParams, defaults) {\n const result = copyObj(defaults);\n for (const key in userParams) {\n if (userParams.hasOwnProperty(key) && userParams[key] != null) {\n result[key] = userParams[key];\n }\n }\n return result;\n}\nclass AnimationStateStyles {\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = new Map();\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value !== null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n value.forEach((val, prop) => {\n if (val) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles.set(normalizedProp, val);\n });\n }\n });\n return finalStyles;\n }\n}\n\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n this.transitionFactories = [];\n this.states = new Map();\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states.set(ast.name, new AnimationStateStyles(ast.style, defaultParams, _normalizer));\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = { type: 2 /* AnimationMetadataType.Sequence */, steps: [], options: null };\n const transition = {\n type: 1 /* AnimationMetadataType.Transition */,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(stateMap, key1, key2) {\n if (stateMap.has(key1)) {\n if (!stateMap.has(key2)) {\n stateMap.set(key2, stateMap.get(key1));\n }\n }\n else if (stateMap.has(key2)) {\n stateMap.set(key1, stateMap.get(key2));\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = new Map();\n this._playersById = new Map();\n this.players = [];\n }\n register(id, metadata) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw registerFailed(errors);\n }\n else {\n if (warnings.length) {\n warnRegister(warnings);\n }\n this._animations.set(id, ast);\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes$1(this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations.get(id);\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, new Map(), new Map(), options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetDefaultValue(autoStylesMap, inst.element, new Map());\n inst.postStyleProps.forEach(prop => styles.set(prop, null));\n });\n }\n else {\n errors.push(missingOrDestroyedAnimation());\n instructions = [];\n }\n if (errors.length) {\n throw createAnimationFailed(errors);\n }\n autoStylesMap.forEach((styles, element) => {\n styles.forEach((_, prop) => {\n styles.set(prop, this._driver.computeStyle(element, prop, AUTO_STYLE));\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, new Map(), styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById.set(id, player);\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n this._playersById.delete(id);\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById.get(id);\n if (!player) {\n throw missingPlayer(id);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => { };\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = (args[0] || {});\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input);\n delete options['value'];\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n get params() {\n return this.options.params;\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = new Map();\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.has(name)) {\n throw missingTrigger(phase, name);\n }\n if (phase == null || phase.length == 0) {\n throw missingEvent(name);\n }\n if (!isTriggerEventValid(phase)) {\n throw unsupportedTriggerEvent(phase, name);\n }\n const listeners = getOrSetDefaultValue(this._elementListeners, element, []);\n const data = { name, phase, callback };\n listeners.push(data);\n const triggersWithStates = getOrSetDefaultValue(this._engine.statesByElement, element, new Map());\n if (!triggersWithStates.has(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates.set(name, DEFAULT_STATE_VALUE);\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers.has(name)) {\n triggersWithStates.delete(name);\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers.has(name)) {\n // throw\n return false;\n }\n else {\n this._triggers.set(name, ast);\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers.get(name);\n if (!trigger) {\n throw unregisteredTrigger(name);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = new Map());\n }\n let fromState = triggersWithStates.get(triggerName);\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates.set(triggerName, toState);\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetDefaultValue(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new player)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({ element, triggerName, transition, fromState, toState, player, isFallbackTransition });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n this._triggers.delete(name);\n this._engine.statesByElement.forEach(stateMap => stateMap.delete(name));\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG])\n return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n }\n else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n const previousTriggersValues = new Map();\n if (triggerStates) {\n const players = [];\n triggerStates.forEach((state, triggerName) => {\n previousTriggersValues.set(triggerName, state.value);\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers.has(triggerName)) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context, previousTriggersValues);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName))\n return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers.get(triggerName);\n const transition = trigger.fallbackTransition;\n const fromState = elementStates.get(triggerName) || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true))\n return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed)\n return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n elementContainsData(element) {\n let containsData = false;\n if (this._elementListeners.has(element))\n containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\nclass TransitionAnimationEngine {\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n }\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is a part of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const namespaceList = this._namespaceList;\n const namespacesByHostElement = this.namespacesByHostElement;\n const limit = namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n // Find the closest ancestor with an existing namespace so we can then insert `ns` after it,\n // establishing a top-down ordering of namespaces in `this._namespaceList`.\n let ancestor = this.driver.getParentElement(hostElement);\n while (ancestor) {\n const ancestorNs = namespacesByHostElement.get(ancestor);\n if (ancestorNs) {\n // An animation namespace has been registered for this ancestor, so we insert `ns`\n // right after it to establish top-down ordering of animation namespaces.\n const index = namespaceList.indexOf(ancestorNs);\n namespaceList.splice(index + 1, 0, ns);\n found = true;\n break;\n }\n ancestor = this.driver.getParentElement(ancestor);\n }\n if (!found) {\n // No namespace exists that is an ancestor of `ns`, so `ns` is inserted at the front to\n // ensure that any existing descendants are ordered after `ns`, retaining the desired\n // top-down ordering.\n namespaceList.unshift(ns);\n }\n }\n else {\n namespaceList.push(ns);\n }\n namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId)\n return;\n const ns = this._fetchNamespace(namespaceId);\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply deduplicate\n // the namespaces in case (for the reason described above) there are multiple triggers\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n for (let stateValue of elementStates.values()) {\n if (stateValue.namespaceId) {\n const ns = this._fetchNamespace(stateValue.namespaceId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, isHostElement, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n }\n else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context, previousTriggersValues) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] = {\n namespaceId,\n setForRemoval: context,\n hasAnimation,\n removedBeforeQueried: false,\n previousTriggersValues\n };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => { };\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n }\n else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (element.classList?.contains(DISABLED_CLASSNAME)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n }\n else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw triggerTransitionsFailed(errors);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n }\n else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // animations for move operations (elements being removed and reinserted,\n // e.g. when the order of an *ngFor list changes) are currently not supported\n if (details && details.setForMove) {\n if (details.previousTriggersValues &&\n details.previousTriggersValues.has(entry.triggerName)) {\n const previousValue = details.previousTriggersValues.get(entry.triggerName);\n // we need to restore the previous trigger value since the element has\n // only been moved and hasn't actually left the DOM\n const triggersWithStates = this.statesByElement.get(entry.element);\n if (triggersWithStates && triggersWithStates.has(entry.triggerName)) {\n const state = triggersWithStates.get(entry.triggerName);\n state.value = previousValue;\n triggersWithStates.set(entry.triggerName, state);\n }\n }\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be in the DOM, it may still\n // be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important to still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if an unmatched transition is queued and ready to go\n // then it SHOULD NOT render an animation and cancel the\n // previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub-trigger\n // then it will instruct the timeline builder not to add a player delay, but\n // instead stretch the first keyframe gap until the animation starts. This is\n // important in order to prevent extra initialization styles from being\n // required by the user for the animation.\n const timelines = [];\n instruction.timelines.forEach(tl => {\n tl.stretchStartingKeyframe = true;\n if (!this.disabledNodes.has(tl.element)) {\n timelines.push(tl);\n }\n });\n instruction.timelines = timelines;\n subTimelines.append(element, instruction.timelines);\n const tuple = { instruction, player, element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetDefaultValue(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n if (stringMap.size) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(transitionFailed(instruction.triggerName, instruction.errors));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map tells us which element in the DOM tree is contained by\n // which animation. Further down this map will get populated once\n // the players are built and in doing so we can use it to efficiently\n // figure out if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetDefaultValue(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed either by\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or \"auto\" since the element\n // passed to getComputedStyle will not be visible (since * === destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, new Map([...Array.from(post?.entries() ?? []), ...Array.from(pre?.entries() ?? [])]));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const { element, player, instruction } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n }\n else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation players\n subPlayers.forEach(player => {\n // even if no players are found for a sub animation it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n elementContainsData(namespaceId, element) {\n let containsData = false;\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval)\n containsData = true;\n if (this.playersByElement.has(element))\n containsData = true;\n if (this.playersByQueriedElement.has(element))\n containsData = true;\n if (this.statesByElement.has(element))\n containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued)\n return;\n if (!isRemovalAnimation && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetDefaultValue(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes$1(this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetDefaultValue(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetDefaultValue(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = new Map();\n this.destroyed = false;\n this.markedForDestroy = false;\n this.disabled = false;\n this.queued = true;\n this.totalTime = 0;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer)\n return;\n this._player = player;\n this._queuedCallbacks.forEach((callbacks, phase) => {\n callbacks.forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks.clear();\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetDefaultValue(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = new Map();\n props.forEach(prop => {\n const value = driver.computeStyle(element, prop, defaultStyle);\n styles.set(prop, value);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0)\n return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node)\n return NULL_NODE;\n let root = localRootMap.get(node);\n if (root)\n return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n }\n else { // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nfunction addClass(element, className) {\n element.classList?.add(className);\n}\nfunction removeClass(element, className) {\n element.classList?.remove(className);\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n\nclass AnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw triggerBuildFailed(name, errors);\n }\n if (warnings.length) {\n warnTriggerBuild(name, warnings);\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context, isHostElement) {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return this._transitionEngine.players\n .concat(this._timelineEngine.players);\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n}\n\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n }\n else if (styles instanceof Map) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n this._state = 0 /* SpecialCasedStylesState.Pending */;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = new Map());\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* SpecialCasedStylesState.Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* SpecialCasedStylesState.Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* SpecialCasedStylesState.Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* SpecialCasedStylesState.Destroyed */;\n }\n }\n}\nSpecialCasedStyles.initialStylesByElement = ( /* @__PURE__ */new WeakMap());\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n styles.forEach((val, prop) => {\n if (isNonAnimatableStyle(prop)) {\n result = result || new Map();\n result.set(prop, val);\n }\n });\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\n\nclass WebAnimationsPlayer {\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n // the following original fns are persistent copies of the _onStartFns and _onDoneFns\n // and are used to reset the fns to their original values upon reset()\n // (since the _onStartFns and _onDoneFns get deleted after they are called)\n this._originalOnDoneFns = [];\n this._originalOnStartFns = [];\n this.time = 0;\n this.parentPlayer = null;\n this.currentSnapshot = new Map();\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized)\n return;\n this._initialized = true;\n const keyframes = this.keyframes;\n this.domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : new Map();\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this.domPlayer.pause();\n }\n }\n _convertKeyframesToObject(keyframes) {\n const kfs = [];\n keyframes.forEach(frame => {\n kfs.push(Object.fromEntries(frame));\n });\n return kfs;\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](this._convertKeyframesToObject(keyframes), options);\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n return this.domPlayer.currentTime / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = new Map();\n if (this.hasStarted()) {\n // note: this code is invoked only when the `play` function was called prior to this\n // (thus `hasStarted` returns true), this implies that the code that initializes\n // `_finalKeyframe` has also been executed and the non-null assertion can be safely used here\n const finalKeyframe = this._finalKeyframe;\n finalKeyframe.forEach((val, prop) => {\n if (prop !== 'offset') {\n styles.set(prop, this._finished ? val : computeStyle(this.element, prop));\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName === 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\nclass WebAnimationsDriver {\n validateStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n return validateStyleProperty(prop);\n }\n return true;\n }\n validateAnimatableStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const cssProp = camelCaseToDashCase(prop);\n return validateWebAnimatableStyleProperty(cssProp);\n }\n return true;\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = { duration, delay, fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = new Map();\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n player.currentSnapshot.forEach((val, prop) => previousStyles.set(prop, val));\n });\n }\n let _keyframes = normalizeKeyframes(keyframes).map(styles => copyStyles(styles));\n _keyframes = balancePreviousStylesIntoKeyframes(element, _keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, _keyframes);\n return new WebAnimationsPlayer(element, _keyframes, playerOptions, specialStyles);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, NoopAnimationDriver as ɵNoopAnimationDriver, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, containsElement as ɵcontainsElement, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, normalizeKeyframes as ɵnormalizeKeyframes, validateStyleProperty as ɵvalidateStyleProperty };\n","/**\n * @license Angular v14.2.12\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, ɵɵinject, Inject, inject, Optional, EventEmitter, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵisListLikeIterable, ɵstringify, Directive, Input, createNgModule, NgModuleRef, ɵRuntimeError, Host, Attribute, RendererStyleFlags2, ɵisPromise, ɵisSubscribable, Pipe, DEFAULT_CURRENCY_CODE, NgModule, Version, ɵɵdefineInjectable, ɵformatRuntimeError, Renderer2, ElementRef, Injector, NgZone } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet _DOM = null;\nfunction getDOM() {\n return _DOM;\n}\nfunction setDOM(adapter) {\n _DOM = adapter;\n}\nfunction setRootDomAdapter(adapter) {\n if (!_DOM) {\n _DOM = adapter;\n }\n}\n/* tslint:disable:requireParameterType */\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nclass DomAdapter {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application in a Web Worker).\n *\n * @publicApi\n */\nconst DOCUMENT = new InjectionToken('DocumentToken');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\n * platform-agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `@angular/platform-server` provides\n * one suitable for use with server-side rendering.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when they need to interact with the DOM APIs like pushState, popState, etc.\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\n * class, they are all platform-agnostic.\n *\n * @publicApi\n */\nclass PlatformLocation {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: PlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: useBrowserPlatformLocation\n }]\n }] });\nfunction useBrowserPlatformLocation() {\n return ɵɵinject(BrowserPlatformLocation);\n}\n/**\n * @description\n * Indicates when a location is initialized.\n *\n * @publicApi\n */\nconst LOCATION_INITIALIZED = new InjectionToken('Location Initialized');\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n */\nclass BrowserPlatformLocation extends PlatformLocation {\n constructor(_doc) {\n super();\n this._doc = _doc;\n this._init();\n }\n // This is moved to its own method so that `MockPlatformLocationStrategy` can overwrite it\n /** @internal */\n _init() {\n this.location = window.location;\n this._history = window.history;\n }\n getBaseHrefFromDOM() {\n return getDOM().getBaseHref(this._doc);\n }\n onPopState(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('popstate', fn, false);\n return () => window.removeEventListener('popstate', fn);\n }\n onHashChange(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('hashchange', fn, false);\n return () => window.removeEventListener('hashchange', fn);\n }\n get href() {\n return this.location.href;\n }\n get protocol() {\n return this.location.protocol;\n }\n get hostname() {\n return this.location.hostname;\n }\n get port() {\n return this.location.port;\n }\n get pathname() {\n return this.location.pathname;\n }\n get search() {\n return this.location.search;\n }\n get hash() {\n return this.location.hash;\n }\n set pathname(newPath) {\n this.location.pathname = newPath;\n }\n pushState(state, title, url) {\n if (supportsState()) {\n this._history.pushState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n replaceState(state, title, url) {\n if (supportsState()) {\n this._history.replaceState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n forward() {\n this._history.forward();\n }\n back() {\n this._history.back();\n }\n historyGo(relativePosition = 0) {\n this._history.go(relativePosition);\n }\n getState() {\n return this._history.state;\n }\n}\nBrowserPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: BrowserPlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: createBrowserPlatformLocation,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\nfunction supportsState() {\n return !!window.history.pushState;\n}\nfunction createBrowserPlatformLocation() {\n return new BrowserPlatformLocation(ɵɵinject(DOCUMENT));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nfunction joinWithSlash(start, end) {\n if (start.length == 0) {\n return end;\n }\n if (end.length == 0) {\n return start;\n }\n let slashes = 0;\n if (start.endsWith('/')) {\n slashes++;\n }\n if (end.startsWith('/')) {\n slashes++;\n }\n if (slashes == 2) {\n return start + end.substring(1);\n }\n if (slashes == 1) {\n return start + end;\n }\n return start + '/' + end;\n}\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nfunction stripTrailingSlash(url) {\n const match = url.match(/#|\\?|$/);\n const pathEndIdx = match && match.index || url.length;\n const droppedSlashIdx = pathEndIdx - (url[pathEndIdx - 1] === '/' ? 1 : 0);\n return url.slice(0, droppedSlashIdx) + url.slice(pathEndIdx);\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nfunction normalizeQueryParams(params) {\n return params && params[0] !== '?' ? '?' + params : params;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * http://example.com#/foo,\n * and `PathLocationStrategy` produces\n * http://example.com/foo as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\nclass LocationStrategy {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: LocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }]\n }] });\n/**\n * A predefined [DI token](guide/glossary#di-token) for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nconst APP_BASE_HREF = new InjectionToken('appBaseHref');\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you may provide a {@link APP_BASE_HREF}\n * or add a `` element to the document to override the default.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass PathLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, href) {\n super();\n this._platformLocation = _platformLocation;\n this._removeListenerFns = [];\n this._baseHref = href ?? this._platformLocation.getBaseHrefFromDOM() ??\n inject(DOCUMENT).location?.origin ?? '';\n }\n /** @nodoc */\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n prepareExternalUrl(internal) {\n return joinWithSlash(this._baseHref, internal);\n }\n path(includeHash = false) {\n const pathname = this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n pushState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n replaceState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n getState() {\n return this._platformLocation.getState();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nPathLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nPathLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: PathLocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass HashLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, _baseHref) {\n super();\n this._platformLocation = _platformLocation;\n this._baseHref = '';\n this._removeListenerFns = [];\n if (_baseHref != null) {\n this._baseHref = _baseHref;\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n path(includeHash = false) {\n // the hash value is always prefixed with a `#`\n // and if it is empty then it will stay empty\n let path = this._platformLocation.hash;\n if (path == null)\n path = '#';\n return path.length > 0 ? path.substring(1) : path;\n }\n prepareExternalUrl(internal) {\n const url = joinWithSlash(this._baseHref, internal);\n return url.length > 0 ? ('#' + url) : url;\n }\n pushState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.pushState(state, title, url);\n }\n replaceState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.replaceState(state, title, url);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n getState() {\n return this._platformLocation.getState();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nHashLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nHashLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: HashLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: HashLocationStrategy, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router.navigate()` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\nclass Location {\n constructor(locationStrategy) {\n /** @internal */\n this._subject = new EventEmitter();\n /** @internal */\n this._urlChangeListeners = [];\n /** @internal */\n this._urlChangeSubscription = null;\n this._locationStrategy = locationStrategy;\n const browserBaseHref = this._locationStrategy.getBaseHref();\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._locationStrategy.onPopState((ev) => {\n this._subject.emit({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n /** @nodoc */\n ngOnDestroy() {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeListeners = [];\n }\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash = false) {\n return this.normalize(this._locationStrategy.path(includeHash));\n }\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState() {\n return this._locationStrategy.getState();\n }\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path, query = '') {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url) {\n return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n }\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url) {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._locationStrategy.prepareExternalUrl(url);\n }\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path, query = '', state = null) {\n this._locationStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path, query = '', state = null) {\n this._locationStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Navigates forward in the platform's history.\n */\n forward() {\n this._locationStrategy.forward();\n }\n /**\n * Navigates back in the platform's history.\n */\n back() {\n this._locationStrategy.back();\n }\n /**\n * Navigate to a specific page from session history, identified by its relative position to the\n * current page.\n *\n * @param relativePosition Position of the target page in the history relative to the current\n * page.\n * A negative value moves backwards, a positive value moves forwards, e.g. `location.historyGo(2)`\n * moves forward two pages and `location.historyGo(-2)` moves back two pages. When we try to go\n * beyond what's stored in the history session, we stay in the current page. Same behaviour occurs\n * when `relativePosition` equals 0.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History_API#Moving_to_a_specific_point_in_history\n */\n historyGo(relativePosition = 0) {\n this._locationStrategy.historyGo?.(relativePosition);\n }\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n * @returns A function that, when executed, unregisters a URL change listener.\n */\n onUrlChange(fn) {\n this._urlChangeListeners.push(fn);\n if (!this._urlChangeSubscription) {\n this._urlChangeSubscription = this.subscribe(v => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n }\n return () => {\n const fnIndex = this._urlChangeListeners.indexOf(fn);\n this._urlChangeListeners.splice(fnIndex, 1);\n if (this._urlChangeListeners.length === 0) {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeSubscription = null;\n }\n };\n }\n /** @internal */\n _notifyUrlChangeListeners(url = '', state) {\n this._urlChangeListeners.forEach(fn => fn(url, state));\n }\n /**\n * Subscribes to the platform's `popState` events.\n *\n * Note: `Location.go()` does not trigger the `popState` event in the browser. Use\n * `Location.onUrlChange()` to subscribe to URL changes instead.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @see [onpopstate](https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate)\n *\n * @returns Subscribed events.\n */\n subscribe(onNext, onThrow, onReturn) {\n return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n }\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nLocation.normalizeQueryParams = normalizeQueryParams;\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nLocation.joinWithSlash = joinWithSlash;\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nLocation.stripTrailingSlash = stripTrailingSlash;\nLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });\nLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: Location, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n // See #23917\n useFactory: createLocation,\n }]\n }], ctorParameters: function () { return [{ type: LocationStrategy }]; } });\nfunction createLocation() {\n return new Location(ɵɵinject(LocationStrategy));\n}\nfunction _stripBaseHref(baseHref, url) {\n return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\nfunction _stripIndexHtml(url) {\n return url.replace(/\\/index.html$/, '');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @internal */\nconst CURRENCIES_EN = { \"ADP\": [undefined, undefined, 0], \"AFN\": [undefined, \"؋\", 0], \"ALL\": [undefined, undefined, 0], \"AMD\": [undefined, \"֏\", 2], \"AOA\": [undefined, \"Kz\"], \"ARS\": [undefined, \"$\"], \"AUD\": [\"A$\", \"$\"], \"AZN\": [undefined, \"₼\"], \"BAM\": [undefined, \"KM\"], \"BBD\": [undefined, \"$\"], \"BDT\": [undefined, \"৳\"], \"BHD\": [undefined, undefined, 3], \"BIF\": [undefined, undefined, 0], \"BMD\": [undefined, \"$\"], \"BND\": [undefined, \"$\"], \"BOB\": [undefined, \"Bs\"], \"BRL\": [\"R$\"], \"BSD\": [undefined, \"$\"], \"BWP\": [undefined, \"P\"], \"BYN\": [undefined, undefined, 2], \"BYR\": [undefined, undefined, 0], \"BZD\": [undefined, \"$\"], \"CAD\": [\"CA$\", \"$\", 2], \"CHF\": [undefined, undefined, 2], \"CLF\": [undefined, undefined, 4], \"CLP\": [undefined, \"$\", 0], \"CNY\": [\"CN¥\", \"¥\"], \"COP\": [undefined, \"$\", 2], \"CRC\": [undefined, \"₡\", 2], \"CUC\": [undefined, \"$\"], \"CUP\": [undefined, \"$\"], \"CZK\": [undefined, \"Kč\", 2], \"DJF\": [undefined, undefined, 0], \"DKK\": [undefined, \"kr\", 2], \"DOP\": [undefined, \"$\"], \"EGP\": [undefined, \"E£\"], \"ESP\": [undefined, \"₧\", 0], \"EUR\": [\"€\"], \"FJD\": [undefined, \"$\"], \"FKP\": [undefined, \"£\"], \"GBP\": [\"£\"], \"GEL\": [undefined, \"₾\"], \"GHS\": [undefined, \"GH₵\"], \"GIP\": [undefined, \"£\"], \"GNF\": [undefined, \"FG\", 0], \"GTQ\": [undefined, \"Q\"], \"GYD\": [undefined, \"$\", 2], \"HKD\": [\"HK$\", \"$\"], \"HNL\": [undefined, \"L\"], \"HRK\": [undefined, \"kn\"], \"HUF\": [undefined, \"Ft\", 2], \"IDR\": [undefined, \"Rp\", 2], \"ILS\": [\"₪\"], \"INR\": [\"₹\"], \"IQD\": [undefined, undefined, 0], \"IRR\": [undefined, undefined, 0], \"ISK\": [undefined, \"kr\", 0], \"ITL\": [undefined, undefined, 0], \"JMD\": [undefined, \"$\"], \"JOD\": [undefined, undefined, 3], \"JPY\": [\"¥\", undefined, 0], \"KHR\": [undefined, \"៛\"], \"KMF\": [undefined, \"CF\", 0], \"KPW\": [undefined, \"₩\", 0], \"KRW\": [\"₩\", undefined, 0], \"KWD\": [undefined, undefined, 3], \"KYD\": [undefined, \"$\"], \"KZT\": [undefined, \"₸\"], \"LAK\": [undefined, \"₭\", 0], \"LBP\": [undefined, \"L£\", 0], \"LKR\": [undefined, \"Rs\"], \"LRD\": [undefined, \"$\"], \"LTL\": [undefined, \"Lt\"], \"LUF\": [undefined, undefined, 0], \"LVL\": [undefined, \"Ls\"], \"LYD\": [undefined, undefined, 3], \"MGA\": [undefined, \"Ar\", 0], \"MGF\": [undefined, undefined, 0], \"MMK\": [undefined, \"K\", 0], \"MNT\": [undefined, \"₮\", 2], \"MRO\": [undefined, undefined, 0], \"MUR\": [undefined, \"Rs\", 2], \"MXN\": [\"MX$\", \"$\"], \"MYR\": [undefined, \"RM\"], \"NAD\": [undefined, \"$\"], \"NGN\": [undefined, \"₦\"], \"NIO\": [undefined, \"C$\"], \"NOK\": [undefined, \"kr\", 2], \"NPR\": [undefined, \"Rs\"], \"NZD\": [\"NZ$\", \"$\"], \"OMR\": [undefined, undefined, 3], \"PHP\": [\"₱\"], \"PKR\": [undefined, \"Rs\", 2], \"PLN\": [undefined, \"zł\"], \"PYG\": [undefined, \"₲\", 0], \"RON\": [undefined, \"lei\"], \"RSD\": [undefined, undefined, 0], \"RUB\": [undefined, \"₽\"], \"RWF\": [undefined, \"RF\", 0], \"SBD\": [undefined, \"$\"], \"SEK\": [undefined, \"kr\", 2], \"SGD\": [undefined, \"$\"], \"SHP\": [undefined, \"£\"], \"SLE\": [undefined, undefined, 2], \"SLL\": [undefined, undefined, 0], \"SOS\": [undefined, undefined, 0], \"SRD\": [undefined, \"$\"], \"SSP\": [undefined, \"£\"], \"STD\": [undefined, undefined, 0], \"STN\": [undefined, \"Db\"], \"SYP\": [undefined, \"£\", 0], \"THB\": [undefined, \"฿\"], \"TMM\": [undefined, undefined, 0], \"TND\": [undefined, undefined, 3], \"TOP\": [undefined, \"T$\"], \"TRL\": [undefined, undefined, 0], \"TRY\": [undefined, \"₺\"], \"TTD\": [undefined, \"$\"], \"TWD\": [\"NT$\", \"$\", 2], \"TZS\": [undefined, undefined, 2], \"UAH\": [undefined, \"₴\"], \"UGX\": [undefined, undefined, 0], \"USD\": [\"$\"], \"UYI\": [undefined, undefined, 0], \"UYU\": [undefined, \"$\"], \"UYW\": [undefined, undefined, 4], \"UZS\": [undefined, undefined, 2], \"VEF\": [undefined, \"Bs\", 2], \"VND\": [\"₫\", undefined, 0], \"VUV\": [undefined, undefined, 0], \"XAF\": [\"FCFA\", undefined, 0], \"XCD\": [\"EC$\", \"$\"], \"XOF\": [\"F CFA\", undefined, 0], \"XPF\": [\"CFPF\", undefined, 0], \"XXX\": [\"¤\"], \"YER\": [undefined, undefined, 0], \"ZAR\": [undefined, \"R\"], \"ZMK\": [undefined, undefined, 0], \"ZMW\": [undefined, \"ZK\"], \"ZWD\": [undefined, undefined, 0] };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Format styles that can be used to represent numbers.\n * @see `getLocaleNumberFormat()`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberFormatStyle;\n(function (NumberFormatStyle) {\n NumberFormatStyle[NumberFormatStyle[\"Decimal\"] = 0] = \"Decimal\";\n NumberFormatStyle[NumberFormatStyle[\"Percent\"] = 1] = \"Percent\";\n NumberFormatStyle[NumberFormatStyle[\"Currency\"] = 2] = \"Currency\";\n NumberFormatStyle[NumberFormatStyle[\"Scientific\"] = 3] = \"Scientific\";\n})(NumberFormatStyle || (NumberFormatStyle = {}));\n/**\n * Plurality cases used for translating plurals to different languages.\n *\n * @see `NgPlural`\n * @see `NgPluralCase`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar Plural;\n(function (Plural) {\n Plural[Plural[\"Zero\"] = 0] = \"Zero\";\n Plural[Plural[\"One\"] = 1] = \"One\";\n Plural[Plural[\"Two\"] = 2] = \"Two\";\n Plural[Plural[\"Few\"] = 3] = \"Few\";\n Plural[Plural[\"Many\"] = 4] = \"Many\";\n Plural[Plural[\"Other\"] = 5] = \"Other\";\n})(Plural || (Plural = {}));\n/**\n * Context-dependant translation forms for strings.\n * Typically the standalone version is for the nominative form of the word,\n * and the format version is used for the genitive case.\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar FormStyle;\n(function (FormStyle) {\n FormStyle[FormStyle[\"Format\"] = 0] = \"Format\";\n FormStyle[FormStyle[\"Standalone\"] = 1] = \"Standalone\";\n})(FormStyle || (FormStyle = {}));\n/**\n * String widths available for translations.\n * The specific character widths are locale-specific.\n * Examples are given for the word \"Sunday\" in English.\n *\n * @publicApi\n */\nvar TranslationWidth;\n(function (TranslationWidth) {\n /** 1 character for `en-US`. For example: 'S' */\n TranslationWidth[TranslationWidth[\"Narrow\"] = 0] = \"Narrow\";\n /** 3 characters for `en-US`. For example: 'Sun' */\n TranslationWidth[TranslationWidth[\"Abbreviated\"] = 1] = \"Abbreviated\";\n /** Full length for `en-US`. For example: \"Sunday\" */\n TranslationWidth[TranslationWidth[\"Wide\"] = 2] = \"Wide\";\n /** 2 characters for `en-US`, For example: \"Su\" */\n TranslationWidth[TranslationWidth[\"Short\"] = 3] = \"Short\";\n})(TranslationWidth || (TranslationWidth = {}));\n/**\n * String widths available for date-time formats.\n * The specific character widths are locale-specific.\n * Examples are given for `en-US`.\n *\n * @see `getLocaleDateFormat()`\n * @see `getLocaleTimeFormat()`\n * @see `getLocaleDateTimeFormat()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n */\nvar FormatWidth;\n(function (FormatWidth) {\n /**\n * For `en-US`, 'M/d/yy, h:mm a'`\n * (Example: `6/15/15, 9:03 AM`)\n */\n FormatWidth[FormatWidth[\"Short\"] = 0] = \"Short\";\n /**\n * For `en-US`, `'MMM d, y, h:mm:ss a'`\n * (Example: `Jun 15, 2015, 9:03:01 AM`)\n */\n FormatWidth[FormatWidth[\"Medium\"] = 1] = \"Medium\";\n /**\n * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\n * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\n */\n FormatWidth[FormatWidth[\"Long\"] = 2] = \"Long\";\n /**\n * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\n * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\n */\n FormatWidth[FormatWidth[\"Full\"] = 3] = \"Full\";\n})(FormatWidth || (FormatWidth = {}));\n/**\n * Symbols that can be used to replace placeholders in number patterns.\n * Examples are based on `en-US` values.\n *\n * @see `getLocaleNumberSymbol()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberSymbol;\n(function (NumberSymbol) {\n /**\n * Decimal separator.\n * For `en-US`, the dot character.\n * Example: 2,345`.`67\n */\n NumberSymbol[NumberSymbol[\"Decimal\"] = 0] = \"Decimal\";\n /**\n * Grouping separator, typically for thousands.\n * For `en-US`, the comma character.\n * Example: 2`,`345.67\n */\n NumberSymbol[NumberSymbol[\"Group\"] = 1] = \"Group\";\n /**\n * List-item separator.\n * Example: \"one, two, and three\"\n */\n NumberSymbol[NumberSymbol[\"List\"] = 2] = \"List\";\n /**\n * Sign for percentage (out of 100).\n * Example: 23.4%\n */\n NumberSymbol[NumberSymbol[\"PercentSign\"] = 3] = \"PercentSign\";\n /**\n * Sign for positive numbers.\n * Example: +23\n */\n NumberSymbol[NumberSymbol[\"PlusSign\"] = 4] = \"PlusSign\";\n /**\n * Sign for negative numbers.\n * Example: -23\n */\n NumberSymbol[NumberSymbol[\"MinusSign\"] = 5] = \"MinusSign\";\n /**\n * Computer notation for exponential value (n times a power of 10).\n * Example: 1.2E3\n */\n NumberSymbol[NumberSymbol[\"Exponential\"] = 6] = \"Exponential\";\n /**\n * Human-readable format of exponential.\n * Example: 1.2x103\n */\n NumberSymbol[NumberSymbol[\"SuperscriptingExponent\"] = 7] = \"SuperscriptingExponent\";\n /**\n * Sign for permille (out of 1000).\n * Example: 23.4‰\n */\n NumberSymbol[NumberSymbol[\"PerMille\"] = 8] = \"PerMille\";\n /**\n * Infinity, can be used with plus and minus.\n * Example: ∞, +∞, -∞\n */\n NumberSymbol[NumberSymbol[\"Infinity\"] = 9] = \"Infinity\";\n /**\n * Not a number.\n * Example: NaN\n */\n NumberSymbol[NumberSymbol[\"NaN\"] = 10] = \"NaN\";\n /**\n * Symbol used between time units.\n * Example: 10:52\n */\n NumberSymbol[NumberSymbol[\"TimeSeparator\"] = 11] = \"TimeSeparator\";\n /**\n * Decimal separator for currency values (fallback to `Decimal`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyDecimal\"] = 12] = \"CurrencyDecimal\";\n /**\n * Group separator for currency values (fallback to `Group`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyGroup\"] = 13] = \"CurrencyGroup\";\n})(NumberSymbol || (NumberSymbol = {}));\n/**\n * The value for each day of the week, based on the `en-US` locale\n *\n * @publicApi\n */\nvar WeekDay;\n(function (WeekDay) {\n WeekDay[WeekDay[\"Sunday\"] = 0] = \"Sunday\";\n WeekDay[WeekDay[\"Monday\"] = 1] = \"Monday\";\n WeekDay[WeekDay[\"Tuesday\"] = 2] = \"Tuesday\";\n WeekDay[WeekDay[\"Wednesday\"] = 3] = \"Wednesday\";\n WeekDay[WeekDay[\"Thursday\"] = 4] = \"Thursday\";\n WeekDay[WeekDay[\"Friday\"] = 5] = \"Friday\";\n WeekDay[WeekDay[\"Saturday\"] = 6] = \"Saturday\";\n})(WeekDay || (WeekDay = {}));\n/**\n * Retrieves the locale ID from the currently loaded locale.\n * The loaded locale could be, for example, a global one rather than a regional one.\n * @param locale A locale code, such as `fr-FR`.\n * @returns The locale code. For example, `fr`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleId(locale) {\n return ɵfindLocaleData(locale)[ɵLocaleDataIndex.LocaleId];\n}\n/**\n * Retrieves day period strings for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const amPmData = [\n data[ɵLocaleDataIndex.DayPeriodsFormat], data[ɵLocaleDataIndex.DayPeriodsStandalone]\n ];\n const amPm = getLastDefinedValue(amPmData, formStyle);\n return getLastDefinedValue(amPm, width);\n}\n/**\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const daysData = [data[ɵLocaleDataIndex.DaysFormat], data[ɵLocaleDataIndex.DaysStandalone]];\n const days = getLastDefinedValue(daysData, formStyle);\n return getLastDefinedValue(days, width);\n}\n/**\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example, `[January, February, ...]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleMonthNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const monthsData = [data[ɵLocaleDataIndex.MonthsFormat], data[ɵLocaleDataIndex.MonthsStandalone]];\n const months = getLastDefinedValue(monthsData, formStyle);\n return getLastDefinedValue(months, width);\n}\n/**\n * Retrieves Gregorian-calendar eras for the given locale.\n * @param locale A locale code for the locale format rules to use.\n * @param width The required character width.\n\n * @returns An array of localized era strings.\n * For example, `[AD, BC]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleEraNames(locale, width) {\n const data = ɵfindLocaleData(locale);\n const erasData = data[ɵLocaleDataIndex.Eras];\n return getLastDefinedValue(erasData, width);\n}\n/**\n * Retrieves the first day of the week for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns A day index number, using the 0-based week-day index for `en-US`\n * (Sunday = 0, Monday = 1, ...).\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleFirstDayOfWeek(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.FirstDayOfWeek];\n}\n/**\n * Range of week days that are considered the week-end for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The range of day values, `[startDay, endDay]`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleWeekEndRange(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.WeekendRange];\n}\n/**\n * Retrieves a localized date-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.DateFormat], width);\n}\n/**\n * Retrieves a localized time-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n\n * @publicApi\n */\nfunction getLocaleTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.TimeFormat], width);\n}\n/**\n * Retrieves a localized date-time formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n const dateTimeFormatData = data[ɵLocaleDataIndex.DateTimeFormat];\n return getLastDefinedValue(dateTimeFormatData, width);\n}\n/**\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\n * @param locale The locale code.\n * @param symbol The symbol to localize.\n * @returns The character for the localized symbol.\n * @see `NumberSymbol`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberSymbol(locale, symbol) {\n const data = ɵfindLocaleData(locale);\n const res = data[ɵLocaleDataIndex.NumberSymbols][symbol];\n if (typeof res === 'undefined') {\n if (symbol === NumberSymbol.CurrencyDecimal) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Decimal];\n }\n else if (symbol === NumberSymbol.CurrencyGroup) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Group];\n }\n }\n return res;\n}\n/**\n * Retrieves a number format for a given locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * Important: The characters `.` `,` `0` `#` (and others below) are special placeholders\n * that stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the appropriate `NumberSymbol` for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * @param locale A locale code for the locale format rules to use.\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\n * @returns The localized format string.\n * @see `NumberFormatStyle`\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberFormat(locale, type) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.NumberFormats][type];\n}\n/**\n * Retrieves the symbol used to represent the currency for the main country\n * corresponding to a given locale. For example, '$' for `en-US`.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The localized symbol character,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencySymbol(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencySymbol] || null;\n}\n/**\n * Retrieves the name of the currency for the main country corresponding\n * to a given locale. For example, 'US Dollar' for `en-US`.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency name,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencyName(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencyName] || null;\n}\n/**\n * Retrieves the default currency code for the given locale.\n *\n * The default is defined as the first currency which is still in use.\n *\n * @param locale The code of the locale whose currency code we want.\n * @returns The code of the default currency for the given locale.\n *\n * @publicApi\n */\nfunction getLocaleCurrencyCode(locale) {\n return ɵgetLocaleCurrencyCode(locale);\n}\n/**\n * Retrieves the currency values for a given locale.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency values.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleCurrencies(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Currencies];\n}\n/**\n * @alias core/ɵgetLocalePluralCase\n * @publicApi\n */\nconst getLocalePluralCase = ɵgetLocalePluralCase;\nfunction checkFullData(data) {\n if (!data[ɵLocaleDataIndex.ExtraData]) {\n throw new Error(`Missing extra locale data for the locale \"${data[ɵLocaleDataIndex\n .LocaleId]}\". Use \"registerLocaleData\" to load new data. See the \"I18n guide\" on angular.io to know more.`);\n }\n}\n/**\n * Retrieves locale-specific rules used to determine which day period to use\n * when more than one period is defined for a locale.\n *\n * There is a rule for each defined day period. The\n * first rule is applied to the first day period and so on.\n * Fall back to AM/PM when no rules are available.\n *\n * A rule can specify a period as time range, or as a single time value.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\n * or null if no periods are available.\n *\n * @see `getLocaleExtraDayPeriods()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriodRules(locale) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const rules = data[ɵLocaleDataIndex.ExtraData][2 /* ɵExtraLocaleDataIndex.ExtraDayPeriodsRules */] || [];\n return rules.map((rule) => {\n if (typeof rule === 'string') {\n return extractTime(rule);\n }\n return [extractTime(rule[0]), extractTime(rule[1])];\n });\n}\n/**\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\n * in different languages.\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns The translated day-period strings.\n * @see `getLocaleExtraDayPeriodRules()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const dayPeriodsData = [\n data[ɵLocaleDataIndex.ExtraData][0 /* ɵExtraLocaleDataIndex.ExtraDayPeriodFormats */],\n data[ɵLocaleDataIndex.ExtraData][1 /* ɵExtraLocaleDataIndex.ExtraDayPeriodStandalone */]\n ];\n const dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n return getLastDefinedValue(dayPeriods, width) || [];\n}\n/**\n * Retrieves the writing direction of a specified locale\n * @param locale A locale code for the locale format rules to use.\n * @publicApi\n * @returns 'rtl' or 'ltr'\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleDirection(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Directionality];\n}\n/**\n * Retrieves the first value that is defined in an array, going backwards from an index position.\n *\n * To avoid repeating the same data (as when the \"format\" and \"standalone\" forms are the same)\n * add the first value to the locale data arrays, and add other values only if they are different.\n *\n * @param data The data array to retrieve from.\n * @param index A 0-based index into the array to start from.\n * @returns The value immediately before the given index position.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLastDefinedValue(data, index) {\n for (let i = index; i > -1; i--) {\n if (typeof data[i] !== 'undefined') {\n return data[i];\n }\n }\n throw new Error('Locale data API: locale data undefined');\n}\n/**\n * Extracts the hours and minutes from a string like \"15:45\"\n */\nfunction extractTime(time) {\n const [h, m] = time.split(':');\n return { hours: +h, minutes: +m };\n}\n/**\n * Retrieves the currency symbol for a given currency code.\n *\n * For example, for the default `en-US` locale, the code `USD` can\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\n *\n * @param code The currency code.\n * @param format The format, `wide` or `narrow`.\n * @param locale A locale code for the locale format rules to use.\n *\n * @returns The symbol, or the currency code if no symbol is available.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getCurrencySymbol(code, format, locale = 'en') {\n const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];\n const symbolNarrow = currency[1 /* ɵCurrencyIndex.SymbolNarrow */];\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n return currency[0 /* ɵCurrencyIndex.Symbol */] || code;\n}\n// Most currencies have cents, that's why the default is 2\nconst DEFAULT_NB_OF_CURRENCY_DIGITS = 2;\n/**\n * Reports the number of decimal digits for a given currency.\n * The value depends upon the presence of cents in that particular currency.\n *\n * @param code The currency code.\n * @returns The number of decimal digits, typically 0 or 2.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getNumberOfCurrencyDigits(code) {\n let digits;\n const currency = CURRENCIES_EN[code];\n if (currency) {\n digits = currency[2 /* ɵCurrencyIndex.NbOfDigits */];\n }\n return typeof digits === 'number' ? digits : DEFAULT_NB_OF_CURRENCY_DIGITS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ISO8601_DATE_REGEX = /^(\\d{4,})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n// 1 2 3 4 5 6 7 8 9 10 11\nconst NAMED_FORMATS = {};\nconst DATE_FORMATS_SPLIT = /((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\nvar ZoneWidth;\n(function (ZoneWidth) {\n ZoneWidth[ZoneWidth[\"Short\"] = 0] = \"Short\";\n ZoneWidth[ZoneWidth[\"ShortGMT\"] = 1] = \"ShortGMT\";\n ZoneWidth[ZoneWidth[\"Long\"] = 2] = \"Long\";\n ZoneWidth[ZoneWidth[\"Extended\"] = 3] = \"Extended\";\n})(ZoneWidth || (ZoneWidth = {}));\nvar DateType;\n(function (DateType) {\n DateType[DateType[\"FullYear\"] = 0] = \"FullYear\";\n DateType[DateType[\"Month\"] = 1] = \"Month\";\n DateType[DateType[\"Date\"] = 2] = \"Date\";\n DateType[DateType[\"Hours\"] = 3] = \"Hours\";\n DateType[DateType[\"Minutes\"] = 4] = \"Minutes\";\n DateType[DateType[\"Seconds\"] = 5] = \"Seconds\";\n DateType[DateType[\"FractionalSeconds\"] = 6] = \"FractionalSeconds\";\n DateType[DateType[\"Day\"] = 7] = \"Day\";\n})(DateType || (DateType = {}));\nvar TranslationType;\n(function (TranslationType) {\n TranslationType[TranslationType[\"DayPeriods\"] = 0] = \"DayPeriods\";\n TranslationType[TranslationType[\"Days\"] = 1] = \"Days\";\n TranslationType[TranslationType[\"Months\"] = 2] = \"Months\";\n TranslationType[TranslationType[\"Eras\"] = 3] = \"Eras\";\n})(TranslationType || (TranslationType = {}));\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date according to locale rules.\n *\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\n * @param format The date-time components to include. See `DatePipe` for details.\n * @param locale A locale code for the locale format rules to use.\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`),\n * or a standard UTC/GMT or continental US time zone abbreviation.\n * If not specified, uses host system settings.\n *\n * @returns The formatted date string.\n *\n * @see `DatePipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatDate(value, format, locale, timezone) {\n let date = toDate(value);\n const namedFormat = getNamedFormat(locale, format);\n format = namedFormat || format;\n let parts = [];\n let match;\n while (format) {\n match = DATE_FORMATS_SPLIT.exec(format);\n if (match) {\n parts = parts.concat(match.slice(1));\n const part = parts.pop();\n if (!part) {\n break;\n }\n format = part;\n }\n else {\n parts.push(format);\n break;\n }\n }\n let dateTimezoneOffset = date.getTimezoneOffset();\n if (timezone) {\n dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n date = convertTimezoneToLocal(date, timezone, true);\n }\n let text = '';\n parts.forEach(value => {\n const dateFormatter = getDateFormatter(value);\n text += dateFormatter ? dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' :\n value.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n });\n return text;\n}\n/**\n * Create a new Date object with the given date value, and the time set to midnight.\n *\n * We cannot use `new Date(year, month, date)` because it maps years between 0 and 99 to 1900-1999.\n * See: https://github.com/angular/angular/issues/40377\n *\n * Note that this function returns a Date object whose time is midnight in the current locale's\n * timezone. In the future we might want to change this to be midnight in UTC, but this would be a\n * considerable breaking change.\n */\nfunction createDate(year, month, date) {\n // The `newDate` is set to midnight (UTC) on January 1st 1970.\n // - In PST this will be December 31st 1969 at 4pm.\n // - In GMT this will be January 1st 1970 at 1am.\n // Note that they even have different years, dates and months!\n const newDate = new Date(0);\n // `setFullYear()` allows years like 0001 to be set correctly. This function does not\n // change the internal time of the date.\n // Consider calling `setFullYear(2019, 8, 20)` (September 20, 2019).\n // - In PST this will now be September 20, 2019 at 4pm\n // - In GMT this will now be September 20, 2019 at 1am\n newDate.setFullYear(year, month, date);\n // We want the final date to be at local midnight, so we reset the time.\n // - In PST this will now be September 20, 2019 at 12am\n // - In GMT this will now be September 20, 2019 at 12am\n newDate.setHours(0, 0, 0);\n return newDate;\n}\nfunction getNamedFormat(locale, format) {\n const localeId = getLocaleId(locale);\n NAMED_FORMATS[localeId] = NAMED_FORMATS[localeId] || {};\n if (NAMED_FORMATS[localeId][format]) {\n return NAMED_FORMATS[localeId][format];\n }\n let formatValue = '';\n switch (format) {\n case 'shortDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n break;\n case 'mediumDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n break;\n case 'longDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n break;\n case 'fullDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n break;\n case 'shortTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n break;\n case 'mediumTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n break;\n case 'longTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n break;\n case 'fullTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n break;\n case 'short':\n const shortTime = getNamedFormat(locale, 'shortTime');\n const shortDate = getNamedFormat(locale, 'shortDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n break;\n case 'medium':\n const mediumTime = getNamedFormat(locale, 'mediumTime');\n const mediumDate = getNamedFormat(locale, 'mediumDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n break;\n case 'long':\n const longTime = getNamedFormat(locale, 'longTime');\n const longDate = getNamedFormat(locale, 'longDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n break;\n case 'full':\n const fullTime = getNamedFormat(locale, 'fullTime');\n const fullDate = getNamedFormat(locale, 'fullDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n break;\n }\n if (formatValue) {\n NAMED_FORMATS[localeId][format] = formatValue;\n }\n return formatValue;\n}\nfunction formatDateTime(str, opt_values) {\n if (opt_values) {\n str = str.replace(/\\{([^}]+)}/g, function (match, key) {\n return (opt_values != null && key in opt_values) ? opt_values[key] : match;\n });\n }\n return str;\n}\nfunction padNumber(num, digits, minusSign = '-', trim, negWrap) {\n let neg = '';\n if (num < 0 || (negWrap && num <= 0)) {\n if (negWrap) {\n num = -num + 1;\n }\n else {\n num = -num;\n neg = minusSign;\n }\n }\n let strNum = String(num);\n while (strNum.length < digits) {\n strNum = '0' + strNum;\n }\n if (trim) {\n strNum = strNum.slice(strNum.length - digits);\n }\n return neg + strNum;\n}\nfunction formatFractionalSeconds(milliseconds, digits) {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substring(0, digits);\n}\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n */\nfunction dateGetter(name, size, offset = 0, trim = false, negWrap = false) {\n return function (date, locale) {\n let part = getDatePart(name, date);\n if (offset > 0 || part > -offset) {\n part += offset;\n }\n if (name === DateType.Hours) {\n if (part === 0 && offset === -12) {\n part = 12;\n }\n }\n else if (name === DateType.FractionalSeconds) {\n return formatFractionalSeconds(part, size);\n }\n const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n return padNumber(part, size, localeMinus, trim, negWrap);\n };\n}\nfunction getDatePart(part, date) {\n switch (part) {\n case DateType.FullYear:\n return date.getFullYear();\n case DateType.Month:\n return date.getMonth();\n case DateType.Date:\n return date.getDate();\n case DateType.Hours:\n return date.getHours();\n case DateType.Minutes:\n return date.getMinutes();\n case DateType.Seconds:\n return date.getSeconds();\n case DateType.FractionalSeconds:\n return date.getMilliseconds();\n case DateType.Day:\n return date.getDay();\n default:\n throw new Error(`Unknown DateType value \"${part}\".`);\n }\n}\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n */\nfunction dateStrGetter(name, width, form = FormStyle.Format, extended = false) {\n return function (date, locale) {\n return getDateTranslation(date, locale, name, width, form, extended);\n };\n}\n/**\n * Returns the locale translation of a date for a given form, type and width\n */\nfunction getDateTranslation(date, locale, name, width, form, extended) {\n switch (name) {\n case TranslationType.Months:\n return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n case TranslationType.Days:\n return getLocaleDayNames(locale, form, width)[date.getDay()];\n case TranslationType.DayPeriods:\n const currentHours = date.getHours();\n const currentMinutes = date.getMinutes();\n if (extended) {\n const rules = getLocaleExtraDayPeriodRules(locale);\n const dayPeriods = getLocaleExtraDayPeriods(locale, form, width);\n const index = rules.findIndex(rule => {\n if (Array.isArray(rule)) {\n // morning, afternoon, evening, night\n const [from, to] = rule;\n const afterFrom = currentHours >= from.hours && currentMinutes >= from.minutes;\n const beforeTo = (currentHours < to.hours ||\n (currentHours === to.hours && currentMinutes < to.minutes));\n // We must account for normal rules that span a period during the day (e.g. 6am-9am)\n // where `from` is less (earlier) than `to`. But also rules that span midnight (e.g.\n // 10pm - 5am) where `from` is greater (later!) than `to`.\n //\n // In the first case the current time must be BOTH after `from` AND before `to`\n // (e.g. 8am is after 6am AND before 10am).\n //\n // In the second case the current time must be EITHER after `from` OR before `to`\n // (e.g. 4am is before 5am but not after 10pm; and 11pm is not before 5am but it is\n // after 10pm).\n if (from.hours < to.hours) {\n if (afterFrom && beforeTo) {\n return true;\n }\n }\n else if (afterFrom || beforeTo) {\n return true;\n }\n }\n else { // noon or midnight\n if (rule.hours === currentHours && rule.minutes === currentMinutes) {\n return true;\n }\n }\n return false;\n });\n if (index !== -1) {\n return dayPeriods[index];\n }\n }\n // if no rules for the day periods, we use am/pm by default\n return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];\n case TranslationType.Eras:\n return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];\n default:\n // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n // However Closure Compiler does not understand that and reports an error in typed mode.\n // The `throw new Error` below works around the problem, and the unexpected: never variable\n // makes sure tsc still checks this code is unreachable.\n const unexpected = name;\n throw new Error(`unexpected translation type ${unexpected}`);\n }\n}\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n */\nfunction timeZoneGetter(width) {\n return function (date, locale, offset) {\n const zone = -1 * offset;\n const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n switch (width) {\n case ZoneWidth.Short:\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.ShortGMT:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 1, minusSign);\n case ZoneWidth.Long:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.Extended:\n if (offset === 0) {\n return 'Z';\n }\n else {\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n }\n default:\n throw new Error(`Unknown zone width \"${width}\"`);\n }\n };\n}\nconst JANUARY = 0;\nconst THURSDAY = 4;\nfunction getFirstThursdayOfYear(year) {\n const firstDayOfYear = createDate(year, JANUARY, 1).getDay();\n return createDate(year, 0, 1 + ((firstDayOfYear <= THURSDAY) ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\nfunction getThursdayThisWeek(datetime) {\n return createDate(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + (THURSDAY - datetime.getDay()));\n}\nfunction weekGetter(size, monthBased = false) {\n return function (date, locale) {\n let result;\n if (monthBased) {\n const nbDaysBefore1stDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n const today = date.getDate();\n result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n }\n else {\n const thisThurs = getThursdayThisWeek(date);\n // Some days of a year are part of next year according to ISO 8601.\n // Compute the firstThurs from the year of this week's Thursday\n const firstThurs = getFirstThursdayOfYear(thisThurs.getFullYear());\n const diff = thisThurs.getTime() - firstThurs.getTime();\n result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n }\n return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n };\n}\n/**\n * Returns a date formatter that provides the week-numbering year for the input date.\n */\nfunction weekNumberingYearGetter(size, trim = false) {\n return function (date, locale) {\n const thisThurs = getThursdayThisWeek(date);\n const weekNumberingYear = thisThurs.getFullYear();\n return padNumber(weekNumberingYear, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign), trim);\n };\n}\nconst DATE_FORMATS = {};\n// Based on CLDR formats:\n// See complete list: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n// See also explanations: http://cldr.unicode.org/translation/date-time\n// TODO(ocombe): support all missing cldr formats: U, Q, D, F, e, j, J, C, A, v, V, X, x\nfunction getDateFormatter(format) {\n if (DATE_FORMATS[format]) {\n return DATE_FORMATS[format];\n }\n let formatter;\n switch (format) {\n // Era name (AD/BC)\n case 'G':\n case 'GG':\n case 'GGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);\n break;\n case 'GGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);\n break;\n case 'GGGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);\n break;\n // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'y':\n formatter = dateGetter(DateType.FullYear, 1, 0, false, true);\n break;\n // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yy':\n formatter = dateGetter(DateType.FullYear, 2, 0, true, true);\n break;\n // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yyy':\n formatter = dateGetter(DateType.FullYear, 3, 0, false, true);\n break;\n // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'yyyy':\n formatter = dateGetter(DateType.FullYear, 4, 0, false, true);\n break;\n // 1 digit representation of the week-numbering year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'Y':\n formatter = weekNumberingYearGetter(1);\n break;\n // 2 digit representation of the week-numbering year, padded (00-99). (e.g. AD 2001 => 01, AD\n // 2010 => 10)\n case 'YY':\n formatter = weekNumberingYearGetter(2, true);\n break;\n // 3 digit representation of the week-numbering year, padded (000-999). (e.g. AD 1 => 001, AD\n // 2010 => 2010)\n case 'YYY':\n formatter = weekNumberingYearGetter(3);\n break;\n // 4 digit representation of the week-numbering year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'YYYY':\n formatter = weekNumberingYearGetter(4);\n break;\n // Month of the year (1-12), numeric\n case 'M':\n case 'L':\n formatter = dateGetter(DateType.Month, 1, 1);\n break;\n case 'MM':\n case 'LL':\n formatter = dateGetter(DateType.Month, 2, 1);\n break;\n // Month of the year (January, ...), string, format\n case 'MMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);\n break;\n case 'MMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);\n break;\n case 'MMMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);\n break;\n // Month of the year (January, ...), string, standalone\n case 'LLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'LLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'LLLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n // Week of the year (1, ... 52)\n case 'w':\n formatter = weekGetter(1);\n break;\n case 'ww':\n formatter = weekGetter(2);\n break;\n // Week of the month (1, ...)\n case 'W':\n formatter = weekGetter(1, true);\n break;\n // Day of the month (1-31)\n case 'd':\n formatter = dateGetter(DateType.Date, 1);\n break;\n case 'dd':\n formatter = dateGetter(DateType.Date, 2);\n break;\n // Day of the Week StandAlone (1, 1, Mon, Monday, M, Mo)\n case 'c':\n case 'cc':\n formatter = dateGetter(DateType.Day, 1);\n break;\n case 'ccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'cccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'ccccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n case 'cccccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short, FormStyle.Standalone);\n break;\n // Day of the Week\n case 'E':\n case 'EE':\n case 'EEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);\n break;\n case 'EEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);\n break;\n case 'EEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);\n break;\n case 'EEEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);\n break;\n // Generic period of the day (am-pm)\n case 'a':\n case 'aa':\n case 'aaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);\n break;\n case 'aaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);\n break;\n case 'aaaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);\n break;\n // Extended period of the day (midnight, at night, ...), standalone\n case 'b':\n case 'bb':\n case 'bbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n break;\n case 'bbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);\n break;\n case 'bbbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);\n break;\n // Extended period of the day (midnight, night, ...), standalone\n case 'B':\n case 'BB':\n case 'BBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);\n break;\n case 'BBBB':\n formatter =\n dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);\n break;\n case 'BBBBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);\n break;\n // Hour in AM/PM, (1-12)\n case 'h':\n formatter = dateGetter(DateType.Hours, 1, -12);\n break;\n case 'hh':\n formatter = dateGetter(DateType.Hours, 2, -12);\n break;\n // Hour of the day (0-23)\n case 'H':\n formatter = dateGetter(DateType.Hours, 1);\n break;\n // Hour in day, padded (00-23)\n case 'HH':\n formatter = dateGetter(DateType.Hours, 2);\n break;\n // Minute of the hour (0-59)\n case 'm':\n formatter = dateGetter(DateType.Minutes, 1);\n break;\n case 'mm':\n formatter = dateGetter(DateType.Minutes, 2);\n break;\n // Second of the minute (0-59)\n case 's':\n formatter = dateGetter(DateType.Seconds, 1);\n break;\n case 'ss':\n formatter = dateGetter(DateType.Seconds, 2);\n break;\n // Fractional second\n case 'S':\n formatter = dateGetter(DateType.FractionalSeconds, 1);\n break;\n case 'SS':\n formatter = dateGetter(DateType.FractionalSeconds, 2);\n break;\n case 'SSS':\n formatter = dateGetter(DateType.FractionalSeconds, 3);\n break;\n // Timezone ISO8601 short format (-0430)\n case 'Z':\n case 'ZZ':\n case 'ZZZ':\n formatter = timeZoneGetter(ZoneWidth.Short);\n break;\n // Timezone ISO8601 extended format (-04:30)\n case 'ZZZZZ':\n formatter = timeZoneGetter(ZoneWidth.Extended);\n break;\n // Timezone GMT short format (GMT+4)\n case 'O':\n case 'OO':\n case 'OOO':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'z':\n case 'zz':\n case 'zzz':\n formatter = timeZoneGetter(ZoneWidth.ShortGMT);\n break;\n // Timezone GMT long format (GMT+0430)\n case 'OOOO':\n case 'ZZZZ':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'zzzz':\n formatter = timeZoneGetter(ZoneWidth.Long);\n break;\n default:\n return null;\n }\n DATE_FORMATS[format] = formatter;\n return formatter;\n}\nfunction timezoneToOffset(timezone, fallback) {\n // Support: IE 11 only, Edge 13-15+\n // IE/Edge do not \"understand\" colon (`:`) in timezone\n timezone = timezone.replace(/:/g, '');\n const requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\nfunction addDateMinutes(date, minutes) {\n date = new Date(date.getTime());\n date.setMinutes(date.getMinutes() + minutes);\n return date;\n}\nfunction convertTimezoneToLocal(date, timezone, reverse) {\n const reverseValue = reverse ? -1 : 1;\n const dateTimezoneOffset = date.getTimezoneOffset();\n const timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n/**\n * Converts a value to date.\n *\n * Supported input formats:\n * - `Date`\n * - number: timestamp\n * - string: numeric (e.g. \"1234\"), ISO and date strings in a format supported by\n * [Date.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\n * Note: ISO strings without time return a date without timeoffset.\n *\n * Throws if unable to convert to a date.\n */\nfunction toDate(value) {\n if (isDate(value)) {\n return value;\n }\n if (typeof value === 'number' && !isNaN(value)) {\n return new Date(value);\n }\n if (typeof value === 'string') {\n value = value.trim();\n if (/^(\\d{4}(-\\d{1,2}(-\\d{1,2})?)?)$/.test(value)) {\n /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n before Date creation to avoid time offset and errors in the new Date.\n If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n date, some browsers (e.g. IE 9) will throw an invalid Date error.\n If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n is applied.\n Note: ISO months are 0 for January, 1 for February, ... */\n const [y, m = 1, d = 1] = value.split('-').map((val) => +val);\n return createDate(y, m - 1, d);\n }\n const parsedNb = parseFloat(value);\n // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n if (!isNaN(value - parsedNb)) {\n return new Date(parsedNb);\n }\n let match;\n if (match = value.match(ISO8601_DATE_REGEX)) {\n return isoStringToDate(match);\n }\n }\n const date = new Date(value);\n if (!isDate(date)) {\n throw new Error(`Unable to convert \"${value}\" into a date`);\n }\n return date;\n}\n/**\n * Converts a date in ISO8601 to a Date.\n * Used instead of `Date.parse` because of browser discrepancies.\n */\nfunction isoStringToDate(match) {\n const date = new Date(0);\n let tzHour = 0;\n let tzMin = 0;\n // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n // if there is a timezone defined like \"+01:00\" or \"+0100\"\n if (match[9]) {\n tzHour = Number(match[9] + match[10]);\n tzMin = Number(match[9] + match[11]);\n }\n dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n const h = Number(match[4] || 0) - tzHour;\n const m = Number(match[5] || 0) - tzMin;\n const s = Number(match[6] || 0);\n // The ECMAScript specification (https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.11)\n // defines that `DateTime` milliseconds should always be rounded down, so that `999.9ms`\n // becomes `999ms`.\n const ms = Math.floor(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\nfunction isDate(value) {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nconst MAX_DIGITS = 22;\nconst DECIMAL_SEP = '.';\nconst ZERO_CHAR = '0';\nconst PATTERN_SEP = ';';\nconst GROUP_SEP = ',';\nconst DIGIT_CHAR = '#';\nconst CURRENCY_CHAR = '¤';\nconst PERCENT_CHAR = '%';\n/**\n * Transforms a number to a locale string based on a style and a format.\n */\nfunction formatNumberToLocaleString(value, pattern, locale, groupSymbol, decimalSymbol, digitsInfo, isPercent = false) {\n let formattedText = '';\n let isZero = false;\n if (!isFinite(value)) {\n formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n }\n else {\n let parsedNumber = parseNumber(value);\n if (isPercent) {\n parsedNumber = toPercent(parsedNumber);\n }\n let minInt = pattern.minInt;\n let minFraction = pattern.minFrac;\n let maxFraction = pattern.maxFrac;\n if (digitsInfo) {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n const minIntPart = parts[1];\n const minFractionPart = parts[3];\n const maxFractionPart = parts[5];\n if (minIntPart != null) {\n minInt = parseIntAutoRadix(minIntPart);\n }\n if (minFractionPart != null) {\n minFraction = parseIntAutoRadix(minFractionPart);\n }\n if (maxFractionPart != null) {\n maxFraction = parseIntAutoRadix(maxFractionPart);\n }\n else if (minFractionPart != null && minFraction > maxFraction) {\n maxFraction = minFraction;\n }\n }\n roundNumber(parsedNumber, minFraction, maxFraction);\n let digits = parsedNumber.digits;\n let integerLen = parsedNumber.integerLen;\n const exponent = parsedNumber.exponent;\n let decimals = [];\n isZero = digits.every(d => !d);\n // pad zeros for small numbers\n for (; integerLen < minInt; integerLen++) {\n digits.unshift(0);\n }\n // pad zeros for small numbers\n for (; integerLen < 0; integerLen++) {\n digits.unshift(0);\n }\n // extract decimals digits\n if (integerLen > 0) {\n decimals = digits.splice(integerLen, digits.length);\n }\n else {\n decimals = digits;\n digits = [0];\n }\n // format the integer digits with grouping separators\n const groups = [];\n if (digits.length >= pattern.lgSize) {\n groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n }\n while (digits.length > pattern.gSize) {\n groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n }\n if (digits.length) {\n groups.unshift(digits.join(''));\n }\n formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n // append the decimal digits\n if (decimals.length) {\n formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n }\n if (exponent) {\n formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n }\n }\n if (value < 0 && !isZero) {\n formattedText = pattern.negPre + formattedText + pattern.negSuf;\n }\n else {\n formattedText = pattern.posPre + formattedText + pattern.posSuf;\n }\n return formattedText;\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as currency using locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param currency A string containing the currency symbol or its name,\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\n * of the function.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\n * Used to determine the number of digits in the decimal part.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted currency value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatCurrency(value, locale, currency, currencyCode, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Currency);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n pattern.minFrac = getNumberOfCurrencyDigits(currencyCode);\n pattern.maxFrac = pattern.minFrac;\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.CurrencyGroup, NumberSymbol.CurrencyDecimal, digitsInfo);\n return res\n .replace(CURRENCY_CHAR, currency)\n // if we have 2 time the currency character, the second one is ignored\n .replace(CURRENCY_CHAR, '')\n // If there is a spacing between currency character and the value and\n // the currency character is suppressed by passing an empty string, the\n // spacing character would remain as part of the string. Then we\n // should remove it.\n .trim();\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as a percentage according to locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted percentage value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n *\n */\nfunction formatPercent(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Percent);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo, true);\n return res.replace(new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as text, with group sizing, separator, and other\n * parameters based on the locale.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted text string.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatNumber(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Decimal);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n return formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo);\n}\nfunction parseNumberFormat(format, minusSign = '-') {\n const p = {\n minInt: 1,\n minFrac: 0,\n maxFrac: 0,\n posPre: '',\n posSuf: '',\n negPre: '',\n negSuf: '',\n gSize: 0,\n lgSize: 0\n };\n const patternParts = format.split(PATTERN_SEP);\n const positive = patternParts[0];\n const negative = patternParts[1];\n const positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ?\n positive.split(DECIMAL_SEP) :\n [\n positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1),\n positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)\n ], integer = positiveParts[0], fraction = positiveParts[1] || '';\n p.posPre = integer.substring(0, integer.indexOf(DIGIT_CHAR));\n for (let i = 0; i < fraction.length; i++) {\n const ch = fraction.charAt(i);\n if (ch === ZERO_CHAR) {\n p.minFrac = p.maxFrac = i + 1;\n }\n else if (ch === DIGIT_CHAR) {\n p.maxFrac = i + 1;\n }\n else {\n p.posSuf += ch;\n }\n }\n const groups = integer.split(GROUP_SEP);\n p.gSize = groups[1] ? groups[1].length : 0;\n p.lgSize = (groups[2] || groups[1]) ? (groups[2] || groups[1]).length : 0;\n if (negative) {\n const trunkLen = positive.length - p.posPre.length - p.posSuf.length, pos = negative.indexOf(DIGIT_CHAR);\n p.negPre = negative.substring(0, pos).replace(/'/g, '');\n p.negSuf = negative.slice(pos + trunkLen).replace(/'/g, '');\n }\n else {\n p.negPre = minusSign + p.posPre;\n p.negSuf = p.posSuf;\n }\n return p;\n}\n// Transforms a parsed number into a percentage by multiplying it by 100\nfunction toPercent(parsedNumber) {\n // if the number is 0, don't do anything\n if (parsedNumber.digits[0] === 0) {\n return parsedNumber;\n }\n // Getting the current number of decimals\n const fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n if (parsedNumber.exponent) {\n parsedNumber.exponent += 2;\n }\n else {\n if (fractionLen === 0) {\n parsedNumber.digits.push(0, 0);\n }\n else if (fractionLen === 1) {\n parsedNumber.digits.push(0);\n }\n parsedNumber.integerLen += 2;\n }\n return parsedNumber;\n}\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n */\nfunction parseNumber(num) {\n let numStr = Math.abs(num) + '';\n let exponent = 0, digits, integerLen;\n let i, j, zeros;\n // Decimal point?\n if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n numStr = numStr.replace(DECIMAL_SEP, '');\n }\n // Exponential form?\n if ((i = numStr.search(/e/i)) > 0) {\n // Work out the exponent.\n if (integerLen < 0)\n integerLen = i;\n integerLen += +numStr.slice(i + 1);\n numStr = numStr.substring(0, i);\n }\n else if (integerLen < 0) {\n // There was no decimal point or exponent so it is an integer.\n integerLen = numStr.length;\n }\n // Count the number of leading zeros.\n for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) { /* empty */\n }\n if (i === (zeros = numStr.length)) {\n // The digits are all zero.\n digits = [0];\n integerLen = 1;\n }\n else {\n // Count the number of trailing zeros\n zeros--;\n while (numStr.charAt(zeros) === ZERO_CHAR)\n zeros--;\n // Trailing zeros are insignificant so ignore them\n integerLen -= i;\n digits = [];\n // Convert string to array of digits without leading/trailing zeros.\n for (j = 0; i <= zeros; i++, j++) {\n digits[j] = Number(numStr.charAt(i));\n }\n }\n // If the number overflows the maximum allowed digits then use an exponent.\n if (integerLen > MAX_DIGITS) {\n digits = digits.splice(0, MAX_DIGITS - 1);\n exponent = integerLen - 1;\n integerLen = 1;\n }\n return { digits, exponent, integerLen };\n}\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n */\nfunction roundNumber(parsedNumber, minFrac, maxFrac) {\n if (minFrac > maxFrac) {\n throw new Error(`The minimum number of digits after fraction (${minFrac}) is higher than the maximum (${maxFrac}).`);\n }\n let digits = parsedNumber.digits;\n let fractionLen = digits.length - parsedNumber.integerLen;\n const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n // The index of the digit to where rounding is to occur\n let roundAt = fractionSize + parsedNumber.integerLen;\n let digit = digits[roundAt];\n if (roundAt > 0) {\n // Drop fractional digits beyond `roundAt`\n digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n // Set non-fractional digits beyond `roundAt` to 0\n for (let j = roundAt; j < digits.length; j++) {\n digits[j] = 0;\n }\n }\n else {\n // We rounded to zero so reset the parsedNumber\n fractionLen = Math.max(0, fractionLen);\n parsedNumber.integerLen = 1;\n digits.length = Math.max(1, roundAt = fractionSize + 1);\n digits[0] = 0;\n for (let i = 1; i < roundAt; i++)\n digits[i] = 0;\n }\n if (digit >= 5) {\n if (roundAt - 1 < 0) {\n for (let k = 0; k > roundAt; k--) {\n digits.unshift(0);\n parsedNumber.integerLen++;\n }\n digits.unshift(1);\n parsedNumber.integerLen++;\n }\n else {\n digits[roundAt - 1]++;\n }\n }\n // Pad out with zeros to get the required fraction length\n for (; fractionLen < Math.max(0, fractionSize); fractionLen++)\n digits.push(0);\n let dropTrailingZeros = fractionSize !== 0;\n // Minimal length = nb of decimals required + current nb of integers\n // Any number besides that is optional and can be removed if it's a trailing 0\n const minLen = minFrac + parsedNumber.integerLen;\n // Do any carrying, e.g. a digit was rounded up to 10\n const carry = digits.reduceRight(function (carry, d, i, digits) {\n d = d + carry;\n digits[i] = d < 10 ? d : d - 10; // d % 10\n if (dropTrailingZeros) {\n // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n if (digits[i] === 0 && i >= minLen) {\n digits.pop();\n }\n else {\n dropTrailingZeros = false;\n }\n }\n return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n }, 0);\n if (carry) {\n digits.unshift(carry);\n parsedNumber.integerLen++;\n }\n}\nfunction parseIntAutoRadix(text) {\n const result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NgLocalization {\n}\nNgLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgLocalization, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: (locale) => new NgLocaleLocalization(locale),\n deps: [LOCALE_ID],\n }]\n }] });\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n */\nfunction getPluralCategory(value, cases, ngLocalization, locale) {\n let key = `=${value}`;\n if (cases.indexOf(key) > -1) {\n return key;\n }\n key = ngLocalization.getPluralCategory(value, locale);\n if (cases.indexOf(key) > -1) {\n return key;\n }\n if (cases.indexOf('other') > -1) {\n return 'other';\n }\n throw new Error(`No plural message found for value \"${value}\"`);\n}\n/**\n * Returns the plural case based on the locale\n *\n * @publicApi\n */\nclass NgLocaleLocalization extends NgLocalization {\n constructor(locale) {\n super();\n this.locale = locale;\n }\n getPluralCategory(value, locale) {\n const plural = getLocalePluralCase(locale || this.locale)(value);\n switch (plural) {\n case Plural.Zero:\n return 'zero';\n case Plural.One:\n return 'one';\n case Plural.Two:\n return 'two';\n case Plural.Few:\n return 'few';\n case Plural.Many:\n return 'many';\n default:\n return 'other';\n }\n }\n}\nNgLocaleLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgLocaleLocalization });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgLocaleLocalization, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Register global data to be used internally by Angular. See the\n * [\"I18n guide\"](guide/i18n-common-format-data-locale) to know how to import additional locale\n * data.\n *\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\n *\n * @publicApi\n */\nfunction registerLocaleData(data, localeId, extraData) {\n return ɵregisterLocaleData(data, localeId, extraData);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction parseCookieValue(cookieStr, name) {\n name = encodeURIComponent(name);\n for (const cookie of cookieStr.split(';')) {\n const eqIndex = cookie.indexOf('=');\n const [cookieName, cookieValue] = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)];\n if (cookieName.trim() === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n return null;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n *\n * @publicApi\n */\nclass NgClass {\n constructor(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {\n this._iterableDiffers = _iterableDiffers;\n this._keyValueDiffers = _keyValueDiffers;\n this._ngEl = _ngEl;\n this._renderer = _renderer;\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._initialClasses = [];\n this._rawClass = null;\n }\n set klass(value) {\n this._removeClasses(this._initialClasses);\n this._initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this._applyClasses(this._initialClasses);\n this._applyClasses(this._rawClass);\n }\n set ngClass(value) {\n this._removeClasses(this._rawClass);\n this._applyClasses(this._initialClasses);\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n if (this._rawClass) {\n if (ɵisListLikeIterable(this._rawClass)) {\n this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create();\n }\n else {\n this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create();\n }\n }\n }\n ngDoCheck() {\n if (this._iterableDiffer) {\n const iterableChanges = this._iterableDiffer.diff(this._rawClass);\n if (iterableChanges) {\n this._applyIterableChanges(iterableChanges);\n }\n }\n else if (this._keyValueDiffer) {\n const keyValueChanges = this._keyValueDiffer.diff(this._rawClass);\n if (keyValueChanges) {\n this._applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n _applyKeyValueChanges(changes) {\n changes.forEachAddedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this._toggleClass(record.key, false);\n }\n });\n }\n _applyIterableChanges(changes) {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this._toggleClass(record.item, true);\n }\n else {\n throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ɵstringify(record.item)}`);\n }\n });\n changes.forEachRemovedItem((record) => this._toggleClass(record.item, false));\n }\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n _applyClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, true));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n _removeClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, false));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, false));\n }\n }\n }\n _toggleClass(klass, enabled) {\n klass = klass.trim();\n if (klass) {\n klass.split(/\\s+/g).forEach(klass => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, klass);\n }\n else {\n this._renderer.removeClass(this._ngEl.nativeElement, klass);\n }\n });\n }\n }\n}\nNgClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgClass, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgClass, isStandalone: true, selector: \"[ngClass]\", inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgClass, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngClass]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.KeyValueDiffers }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { klass: [{\n type: Input,\n args: ['class']\n }], ngClass: [{\n type: Input,\n args: ['ngClass']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Instantiates a {@link Component} type and inserts its Host View into the current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will be destroyed.\n *\n * @usageNotes\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if it exists.\n *\n * * `ngComponentOutletNgModule`: Optional NgModule class reference to allow loading another\n * module dynamically, then loading a component from that module.\n *\n * * `ngComponentOutletNgModuleFactory`: Deprecated config option that allows providing optional\n * NgModule factory to allow loading another module dynamically, then loading a component from that\n * module. Use `ngComponentOutletNgModule` instead.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized NgModule reference\n * ```\n * \n * \n * ```\n *\n * ### A simple example\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n *\n * @publicApi\n * @ngModule CommonModule\n */\nclass NgComponentOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this.ngComponentOutlet = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n const { _viewContainerRef: viewContainerRef, ngComponentOutletNgModule: ngModule, ngComponentOutletNgModuleFactory: ngModuleFactory, } = this;\n viewContainerRef.clear();\n this._componentRef = undefined;\n if (this.ngComponentOutlet) {\n const injector = this.ngComponentOutletInjector || viewContainerRef.parentInjector;\n if (changes['ngComponentOutletNgModule'] || changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef)\n this._moduleRef.destroy();\n if (ngModule) {\n this._moduleRef = createNgModule(ngModule, getParentInjector(injector));\n }\n else if (ngModuleFactory) {\n this._moduleRef = ngModuleFactory.create(getParentInjector(injector));\n }\n else {\n this._moduleRef = undefined;\n }\n }\n this._componentRef = viewContainerRef.createComponent(this.ngComponentOutlet, {\n index: viewContainerRef.length,\n injector,\n ngModuleRef: this._moduleRef,\n projectableNodes: this.ngComponentOutletContent,\n });\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n if (this._moduleRef)\n this._moduleRef.destroy();\n }\n}\nNgComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgComponentOutlet, isStandalone: true, selector: \"[ngComponentOutlet]\", inputs: { ngComponentOutlet: \"ngComponentOutlet\", ngComponentOutletInjector: \"ngComponentOutletInjector\", ngComponentOutletContent: \"ngComponentOutletContent\", ngComponentOutletNgModule: \"ngComponentOutletNgModule\", ngComponentOutletNgModuleFactory: \"ngComponentOutletNgModuleFactory\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgComponentOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngComponentOutlet]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngComponentOutlet: [{\n type: Input\n }], ngComponentOutletInjector: [{\n type: Input\n }], ngComponentOutletContent: [{\n type: Input\n }], ngComponentOutletNgModule: [{\n type: Input\n }], ngComponentOutletNgModuleFactory: [{\n type: Input\n }] } });\n// Helper function that returns an Injector instance of a parent NgModule.\nfunction getParentInjector(injector) {\n const parentNgModule = injector.get(NgModuleRef);\n return parentNgModule.injector;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;\n/**\n * @publicApi\n */\nclass NgForOfContext {\n constructor($implicit, ngForOf, index, count) {\n this.$implicit = $implicit;\n this.ngForOf = ngForOf;\n this.index = index;\n this.count = count;\n }\n get first() {\n return this.index === 0;\n }\n get last() {\n return this.index === this.count - 1;\n }\n get even() {\n return this.index % 2 === 0;\n }\n get odd() {\n return !this.even;\n }\n}\n/**\n * A [structural directive](guide/structural-directives) that renders\n * a template for each item in a collection.\n * The directive is placed on an element, which becomes the parent\n * of the cloned templates.\n *\n * The `ngForOf` directive is generally used in the\n * [shorthand form](guide/structural-directives#asterisk) `*ngFor`.\n * In this form, the template to be rendered for each iteration is the content\n * of an anchor element containing the directive.\n *\n * The following example shows the shorthand syntax with some options,\n * contained in an `
  • ` element.\n *\n * ```\n *
  • ...
  • \n * ```\n *\n * The shorthand form expands into a long form that uses the `ngForOf` selector\n * on an `` element.\n * The content of the `` element is the `
  • ` element that held the\n * short-form directive.\n *\n * Here is the expanded version of the short-form example.\n *\n * ```\n * \n *
  • ...
  • \n *
    \n * ```\n *\n * Angular automatically expands the shorthand syntax as it compiles the template.\n * The context for each embedded view is logically merged to the current component\n * context according to its lexical position.\n *\n * When using the shorthand syntax, Angular allows only [one structural directive\n * on an element](guide/structural-directives#one-per-element).\n * If you want to iterate conditionally, for example,\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\n * For further discussion, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @usageNotes\n *\n * ### Local variables\n *\n * `NgForOf` provides exported values that can be aliased to local variables.\n * For example:\n *\n * ```\n *
  • \n * {{i}}/{{users.length}}. {{user}} default\n *
  • \n * ```\n *\n * The following exported values can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `count: number`: The length of the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ### Change propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls that are present, such as `` elements that accept user input. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n * For more on animations, see [Transitions and Triggers](guide/transition-and-triggers).\n *\n * The identities of elements in the iterator can change while the data does not.\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted).\n *\n * To avoid this expensive operation, you can customize the default tracking algorithm.\n * by supplying the `trackBy` option to `NgForOf`.\n * `trackBy` takes a function that has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * @see [Structural Directives](guide/structural-directives)\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgForOf {\n constructor(_viewContainer, _template, _differs) {\n this._viewContainer = _viewContainer;\n this._template = _template;\n this._differs = _differs;\n this._ngForOf = null;\n this._ngForOfDirty = true;\n this._differ = null;\n }\n /**\n * The value of the iterable expression, which can be used as a\n * [template input variable](guide/structural-directives#shorthand).\n */\n set ngForOf(ngForOf) {\n this._ngForOf = ngForOf;\n this._ngForOfDirty = true;\n }\n /**\n * Specifies a custom `TrackByFunction` to compute the identity of items in an iterable.\n *\n * If a custom `TrackByFunction` is not provided, `NgForOf` will use the item's [object\n * identity](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)\n * as the key.\n *\n * `NgForOf` uses the computed key to associate items in an iterable with DOM elements\n * it produces for these items.\n *\n * A custom `TrackByFunction` is useful to provide good user experience in cases when items in an\n * iterable rendered using `NgForOf` have a natural identifier (for example, custom ID or a\n * primary key), and this iterable could be updated with new object instances that still\n * represent the same underlying entity (for example, when data is re-fetched from the server,\n * and the iterable is recreated and re-rendered, but most of the data is still the same).\n *\n * @see `TrackByFunction`\n */\n set ngForTrackBy(fn) {\n if (NG_DEV_MODE && fn != null && typeof fn !== 'function') {\n // TODO(vicb): use a log service once there is a public one available\n if (console && console.warn) {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}. ` +\n `See https://angular.io/api/common/NgForOf#change-propagation for more information.`);\n }\n }\n this._trackByFn = fn;\n }\n get ngForTrackBy() {\n return this._trackByFn;\n }\n /**\n * A reference to the template that is stamped out for each item in the iterable.\n * @see [template reference variable](guide/template-reference-variables)\n */\n set ngForTemplate(value) {\n // TODO(TS2.1): make TemplateRef>> once we move to TS v2.1\n // The current type is too restrictive; a template that just uses index, for example,\n // should be acceptable.\n if (value) {\n this._template = value;\n }\n }\n /**\n * Applies the changes when needed.\n * @nodoc\n */\n ngDoCheck() {\n if (this._ngForOfDirty) {\n this._ngForOfDirty = false;\n // React on ngForOf changes only once all inputs have been initialized\n const value = this._ngForOf;\n if (!this._differ && value) {\n if (NG_DEV_MODE) {\n try {\n // CAUTION: this logic is duplicated for production mode below, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n catch {\n let errorMessage = `Cannot find a differ supporting object '${value}' of type '` +\n `${getTypeName(value)}'. NgFor only supports binding to Iterables, such as Arrays.`;\n if (typeof value === 'object') {\n errorMessage += ' Did you mean to use the keyvalue pipe?';\n }\n throw new ɵRuntimeError(-2200 /* RuntimeErrorCode.NG_FOR_MISSING_DIFFER */, errorMessage);\n }\n }\n else {\n // CAUTION: this logic is duplicated for development mode above, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n }\n }\n if (this._differ) {\n const changes = this._differ.diff(this._ngForOf);\n if (changes)\n this._applyChanges(changes);\n }\n }\n _applyChanges(changes) {\n const viewContainer = this._viewContainer;\n changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n if (item.previousIndex == null) {\n // NgForOf is never \"null\" or \"undefined\" here because the differ detected\n // that a new item needs to be inserted from the iterable. This implies that\n // there is an iterable value for \"_ngForOf\".\n viewContainer.createEmbeddedView(this._template, new NgForOfContext(item.item, this._ngForOf, -1, -1), currentIndex === null ? undefined : currentIndex);\n }\n else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n }\n else if (adjustedPreviousIndex !== null) {\n const view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move(view, currentIndex);\n applyViewChange(view, item);\n }\n });\n for (let i = 0, ilen = viewContainer.length; i < ilen; i++) {\n const viewRef = viewContainer.get(i);\n const context = viewRef.context;\n context.index = i;\n context.count = ilen;\n context.ngForOf = this._ngForOf;\n }\n changes.forEachIdentityChange((record) => {\n const viewRef = viewContainer.get(record.currentIndex);\n applyViewChange(viewRef, record);\n });\n }\n /**\n * Asserts the correct type of the context for the template that `NgForOf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgForOf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });\nNgForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgForOf, isStandalone: true, selector: \"[ngFor][ngForOf]\", inputs: { ngForOf: \"ngForOf\", ngForTrackBy: \"ngForTrackBy\", ngForTemplate: \"ngForTemplate\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgForOf, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngFor][ngForOf]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }]; }, propDecorators: { ngForOf: [{\n type: Input\n }], ngForTrackBy: [{\n type: Input\n }], ngForTemplate: [{\n type: Input\n }] } });\nfunction applyViewChange(view, record) {\n view.context.$implicit = record.item;\n}\nfunction getTypeName(type) {\n return type['name'] || typeof type;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A structural directive that conditionally includes a template based on the value of\n * an expression coerced to Boolean.\n * When the expression evaluates to true, Angular renders the template\n * provided in a `then` clause, and when false or null,\n * Angular renders the template provided in an optional `else` clause. The default\n * template for the `else` clause is blank.\n *\n * A [shorthand form](guide/structural-directives#asterisk) of the directive,\n * `*ngIf=\"condition\"`, is generally used, provided\n * as an attribute of the anchor element for the inserted template.\n * Angular expands this into a more explicit version, in which the anchor element\n * is contained in an `` element.\n *\n * Simple form with shorthand syntax:\n *\n * ```\n *
    Content to render when condition is true.
    \n * ```\n *\n * Simple form with expanded syntax:\n *\n * ```\n *
    Content to render when condition is\n * true.
    \n * ```\n *\n * Form with an \"else\" block:\n *\n * ```\n *
    Content to render when condition is true.
    \n * Content to render when condition is false.\n * ```\n *\n * Shorthand form with \"then\" and \"else\" blocks:\n *\n * ```\n *
    \n * Content to render when condition is true.\n * Content to render when condition is false.\n * ```\n *\n * Form with storing the value locally:\n *\n * ```\n *
    {{value}}
    \n * Content to render when value is null.\n * ```\n *\n * @usageNotes\n *\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\n * as seen in the following example.\n * The default `else` template is blank.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ### Showing an alternative template using `else`\n *\n * To display a template when `expression` evaluates to false, use an `else` template\n * binding as shown in the following example.\n * The `else` binding points to an `` element labeled `#elseBlock`.\n * The template can be defined anywhere in the component view, but is typically placed right after\n * `ngIf` for readability.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ### Using an external `then` template\n *\n * In the previous example, the then-clause template is specified inline, as the content of the\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\n * externally, by referencing a labeled `` element. When you do this, you can\n * change which template to use at runtime, as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ### Storing a conditional result in a variable\n *\n * You might want to show a set of properties from the same object. If you are waiting\n * for asynchronous data, the object can be undefined.\n * In this case, you can use `ngIf` and store the result of the condition in a local\n * variable as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * This code uses only one `AsyncPipe`, so only one subscription is created.\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\n * You can then bind the local `user` repeatedly.\n *\n * The conditional displays the data only if `userStream` returns a value,\n * so you don't need to use the\n * safe-navigation-operator (`?.`)\n * to guard against null values when accessing properties.\n * You can display an alternative template while waiting for the data.\n *\n * ### Shorthand syntax\n *\n * The shorthand syntax `*ngIf` expands into two separate template specifications\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\n * that is meant to show a loading page while waiting for data to be loaded.\n *\n * ```\n *
    \n * ...\n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * You can see that the \"else\" clause references the ``\n * with the `#loading` label, and the template for the \"then\" clause\n * is provided as the content of the anchor element.\n *\n * However, when Angular expands the shorthand syntax, it creates\n * another `` tag, with `ngIf` and `ngIfElse` directives.\n * The anchor element containing the template for the \"then\" clause becomes\n * the content of this unlabeled `` tag.\n *\n * ```\n * \n *
    \n * ...\n *
    \n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * The presence of the implicit template object has implications for the nesting of\n * structural directives. For more on this subject, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgIf {\n constructor(_viewContainer, templateRef) {\n this._viewContainer = _viewContainer;\n this._context = new NgIfContext();\n this._thenTemplateRef = null;\n this._elseTemplateRef = null;\n this._thenViewRef = null;\n this._elseViewRef = null;\n this._thenTemplateRef = templateRef;\n }\n /**\n * The Boolean expression to evaluate as the condition for showing a template.\n */\n set ngIf(condition) {\n this._context.$implicit = this._context.ngIf = condition;\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to true.\n */\n set ngIfThen(templateRef) {\n assertTemplate('ngIfThen', templateRef);\n this._thenTemplateRef = templateRef;\n this._thenViewRef = null; // clear previous view if any.\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to false.\n */\n set ngIfElse(templateRef) {\n assertTemplate('ngIfElse', templateRef);\n this._elseTemplateRef = templateRef;\n this._elseViewRef = null; // clear previous view if any.\n this._updateView();\n }\n _updateView() {\n if (this._context.$implicit) {\n if (!this._thenViewRef) {\n this._viewContainer.clear();\n this._elseViewRef = null;\n if (this._thenTemplateRef) {\n this._thenViewRef =\n this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n }\n }\n }\n else {\n if (!this._elseViewRef) {\n this._viewContainer.clear();\n this._thenViewRef = null;\n if (this._elseTemplateRef) {\n this._elseViewRef =\n this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n }\n }\n }\n }\n /**\n * Asserts the correct type of the context for the template that `NgIf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgIf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgIf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgIf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgIf, isStandalone: true, selector: \"[ngIf]\", inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgIf, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngIf]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { ngIf: [{\n type: Input\n }], ngIfThen: [{\n type: Input\n }], ngIfElse: [{\n type: Input\n }] } });\n/**\n * @publicApi\n */\nclass NgIfContext {\n constructor() {\n this.$implicit = null;\n this.ngIf = null;\n }\n}\nfunction assertTemplate(property, templateRef) {\n const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);\n if (!isTemplateRefOrNull) {\n throw new Error(`${property} must be a TemplateRef, but received '${ɵstringify(templateRef)}'.`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SwitchView {\n constructor(_viewContainerRef, _templateRef) {\n this._viewContainerRef = _viewContainerRef;\n this._templateRef = _templateRef;\n this._created = false;\n }\n create() {\n this._created = true;\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n destroy() {\n this._created = false;\n this._viewContainerRef.clear();\n }\n enforceState(created) {\n if (created && !this._created) {\n this.create();\n }\n else if (!created && this._created) {\n this.destroy();\n }\n }\n}\n/**\n * @ngModule CommonModule\n *\n * @description\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\n * - Every view that matches is rendered.\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\n * or `ngSwitchDefault` directive are preserved at the location.\n *\n * @usageNotes\n * Define a container element for the directive, and specify the switch expression\n * to match against as an attribute:\n *\n * ```\n * \n * ```\n *\n * Within the container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * ### Usage Examples\n *\n * The following example shows how to use more than one case to display the same view:\n *\n * ```\n * \n * \n * ...\n * ...\n * ...\n * \n * ...\n * \n * ```\n *\n * The following example shows how cases can be nested:\n * ```\n * \n * ...\n * ...\n * ...\n * \n * \n * \n * \n * \n * ...\n * \n * ```\n *\n * @publicApi\n * @see `NgSwitchCase`\n * @see `NgSwitchDefault`\n * @see [Structural Directives](guide/structural-directives)\n *\n */\nclass NgSwitch {\n constructor() {\n this._defaultUsed = false;\n this._caseCount = 0;\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n set ngSwitch(newValue) {\n this._ngSwitch = newValue;\n if (this._caseCount === 0) {\n this._updateDefaultCases(true);\n }\n }\n /** @internal */\n _addCase() {\n return this._caseCount++;\n }\n /** @internal */\n _addDefault(view) {\n if (!this._defaultViews) {\n this._defaultViews = [];\n }\n this._defaultViews.push(view);\n }\n /** @internal */\n _matchCase(value) {\n const matched = value == this._ngSwitch;\n this._lastCasesMatched = this._lastCasesMatched || matched;\n this._lastCaseCheckIndex++;\n if (this._lastCaseCheckIndex === this._caseCount) {\n this._updateDefaultCases(!this._lastCasesMatched);\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n return matched;\n }\n _updateDefaultCases(useDefault) {\n if (this._defaultViews && useDefault !== this._defaultUsed) {\n this._defaultUsed = useDefault;\n for (let i = 0; i < this._defaultViews.length; i++) {\n const defaultView = this._defaultViews[i];\n defaultView.enforceState(useDefault);\n }\n }\n }\n}\nNgSwitch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgSwitch, isStandalone: true, selector: \"[ngSwitch]\", inputs: { ngSwitch: \"ngSwitch\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgSwitch, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitch]',\n standalone: true,\n }]\n }], propDecorators: { ngSwitch: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\n * When the expressions match, the given `NgSwitchCase` template is rendered.\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * @usageNotes\n *\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * Each switch-case statement contains an in-line HTML template or template reference\n * that defines the subtree to be selected if the value of the match expression\n * matches the value of the switch expression.\n *\n * Unlike JavaScript, which uses strict equality, Angular uses loose equality.\n * This means that the empty string, `\"\"` matches 0.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchDefault`\n *\n */\nclass NgSwitchCase {\n constructor(viewContainer, templateRef, ngSwitch) {\n this.ngSwitch = ngSwitch;\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchCase', 'NgSwitchCase');\n }\n ngSwitch._addCase();\n this._view = new SwitchView(viewContainer, templateRef);\n }\n /**\n * Performs case matching. For internal use only.\n * @nodoc\n */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\nNgSwitchCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgSwitchCase, isStandalone: true, selector: \"[ngSwitchCase]\", inputs: { ngSwitchCase: \"ngSwitchCase\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgSwitchCase, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitchCase]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, propDecorators: { ngSwitchCase: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that is rendered when no `NgSwitchCase` expressions\n * match the `NgSwitch` expression.\n * This statement should be the final case in an `NgSwitch`.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchCase`\n *\n */\nclass NgSwitchDefault {\n constructor(viewContainer, templateRef, ngSwitch) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchDefault', 'NgSwitchDefault');\n }\n ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n }\n}\nNgSwitchDefault.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchDefault.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgSwitchDefault, isStandalone: true, selector: \"[ngSwitchDefault]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgSwitchDefault, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitchDefault]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; } });\nfunction throwNgSwitchProviderNotFoundError(attrName, directiveName) {\n throw new ɵRuntimeError(2000 /* RuntimeErrorCode.PARENT_NG_SWITCH_NOT_FOUND */, `An element with the \"${attrName}\" attribute ` +\n `(matching the \"${directiveName}\" directive) must be located inside an element with the \"ngSwitch\" attribute ` +\n `(matching \"NgSwitch\" directive)`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * \n * there is nothing\n * there is one\n * there are a few\n * \n * ```\n *\n * @description\n *\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n * matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n * value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * @publicApi\n */\nclass NgPlural {\n constructor(_localization) {\n this._localization = _localization;\n this._caseViews = {};\n }\n set ngPlural(value) {\n this._switchValue = value;\n this._updateView();\n }\n addCase(value, switchView) {\n this._caseViews[value] = switchView;\n }\n _updateView() {\n this._clearViews();\n const cases = Object.keys(this._caseViews);\n const key = getPluralCategory(this._switchValue, cases, this._localization);\n this._activateView(this._caseViews[key]);\n }\n _clearViews() {\n if (this._activeView)\n this._activeView.destroy();\n }\n _activateView(view) {\n if (view) {\n this._activeView = view;\n this._activeView.create();\n }\n }\n}\nNgPlural.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });\nNgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgPlural, isStandalone: true, selector: \"[ngPlural]\", inputs: { ngPlural: \"ngPlural\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgPlural, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngPlural]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; }, propDecorators: { ngPlural: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * @usageNotes\n * ```\n * \n * ...\n * ...\n * \n *```\n *\n * See {@link NgPlural} for more details and example.\n *\n * @publicApi\n */\nclass NgPluralCase {\n constructor(value, template, viewContainer, ngPlural) {\n this.value = value;\n const isANumber = !isNaN(Number(value));\n ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));\n }\n}\nNgPluralCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgPluralCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgPluralCase, isStandalone: true, selector: \"[ngPluralCase]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgPluralCase, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngPluralCase]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Attribute,\n args: ['ngPluralCase']\n }] }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: NgPlural, decorators: [{\n type: Host\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n *\n * Set the font of the containing element to the result of an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set the width of the containing element to a pixel value returned by an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set a collection of style values using an expression that returns key-value pairs.\n *\n * ```\n * ...\n * ```\n *\n * @description\n *\n * An attribute directive that updates styles for the containing HTML element.\n * Sets one or more style properties, specified as colon-separated key-value pairs.\n * The key is a style name, with an optional `.` suffix\n * (such as 'top.px', 'font-style.em').\n * The value is an expression to be evaluated.\n * The resulting non-null value, expressed in the given unit,\n * is assigned to the given style property.\n * If the result of evaluation is null, the corresponding style is removed.\n *\n * @publicApi\n */\nclass NgStyle {\n constructor(_ngEl, _differs, _renderer) {\n this._ngEl = _ngEl;\n this._differs = _differs;\n this._renderer = _renderer;\n this._ngStyle = null;\n this._differ = null;\n }\n set ngStyle(values) {\n this._ngStyle = values;\n if (!this._differ && values) {\n this._differ = this._differs.find(values).create();\n }\n }\n ngDoCheck() {\n if (this._differ) {\n const changes = this._differ.diff(this._ngStyle);\n if (changes) {\n this._applyChanges(changes);\n }\n }\n }\n _setStyle(nameAndUnit, value) {\n const [name, unit] = nameAndUnit.split('.');\n const flags = name.indexOf('-') === -1 ? undefined : RendererStyleFlags2.DashCase;\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, unit ? `${value}${unit}` : value, flags);\n }\n else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name, flags);\n }\n }\n _applyChanges(changes) {\n changes.forEachRemovedItem((record) => this._setStyle(record.key, null));\n changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));\n }\n}\nNgStyle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgStyle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgStyle, isStandalone: true, selector: \"[ngStyle]\", inputs: { ngStyle: \"ngStyle\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgStyle, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngStyle]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }]; }, propDecorators: { ngStyle: [{\n type: Input,\n args: ['ngStyle']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Inserts an embedded view from a prepared `TemplateRef`.\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * @usageNotes\n * ```\n * \n * ```\n *\n * Using the key `$implicit` in the context object will set its value as default.\n *\n * ### Example\n *\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * @publicApi\n */\nclass NgTemplateOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._viewRef = null;\n /**\n * A context object to attach to the {@link EmbeddedViewRef}. This should be an\n * object, the object's keys will be available for binding by the local template `let`\n * declarations.\n * Using the key `$implicit` in the context object will set its value as default.\n */\n this.ngTemplateOutletContext = null;\n /**\n * A string defining the template reference and optionally the context object for the template.\n */\n this.ngTemplateOutlet = null;\n /** Injector to be used within the embedded view. */\n this.ngTemplateOutletInjector = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if (changes['ngTemplateOutlet'] || changes['ngTemplateOutletInjector']) {\n const viewContainerRef = this._viewContainerRef;\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n if (this.ngTemplateOutlet) {\n const { ngTemplateOutlet: template, ngTemplateOutletContext: context, ngTemplateOutletInjector: injector } = this;\n this._viewRef = viewContainerRef.createEmbeddedView(template, context, injector ? { injector } : undefined);\n }\n else {\n this._viewRef = null;\n }\n }\n else if (this._viewRef && changes['ngTemplateOutletContext'] && this.ngTemplateOutletContext) {\n this._viewRef.context = this.ngTemplateOutletContext;\n }\n }\n}\nNgTemplateOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgTemplateOutlet, isStandalone: true, selector: \"[ngTemplateOutlet]\", inputs: { ngTemplateOutletContext: \"ngTemplateOutletContext\", ngTemplateOutlet: \"ngTemplateOutlet\", ngTemplateOutletInjector: \"ngTemplateOutletInjector\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgTemplateOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngTemplateOutlet]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngTemplateOutletContext: [{\n type: Input\n }], ngTemplateOutlet: [{\n type: Input\n }], ngTemplateOutletInjector: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nconst COMMON_DIRECTIVES = [\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgPlural,\n NgPluralCase,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction invalidPipeArgumentError(type, value) {\n return new ɵRuntimeError(2100 /* RuntimeErrorCode.INVALID_PIPE_ARGUMENT */, ngDevMode && `InvalidPipeArgument: '${value}' for pipe '${ɵstringify(type)}'`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SubscribableStrategy {\n createSubscription(async, updateLatestValue) {\n return async.subscribe({\n next: updateLatestValue,\n error: (e) => {\n throw e;\n }\n });\n }\n dispose(subscription) {\n subscription.unsubscribe();\n }\n}\nclass PromiseStrategy {\n createSubscription(async, updateLatestValue) {\n return async.then(updateLatestValue, e => {\n throw e;\n });\n }\n dispose(subscription) { }\n}\nconst _promiseStrategy = new PromiseStrategy();\nconst _subscribableStrategy = new SubscribableStrategy();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Unwraps a value from an asynchronous primitive.\n *\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks. When the reference of the expression changes, the `async` pipe\n * automatically unsubscribes from the old `Observable` or `Promise` and subscribes to the new one.\n *\n * @usageNotes\n *\n * ### Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * @publicApi\n */\nclass AsyncPipe {\n constructor(ref) {\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n this._strategy = null;\n // Assign `ref` into `this._ref` manually instead of declaring `_ref` in the constructor\n // parameter list, as the type of `this._ref` includes `null` unlike the type of `ref`.\n this._ref = ref;\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._dispose();\n }\n // Clear the `ChangeDetectorRef` and its association with the view data, to mitigate\n // potential memory leaks in Observables that could otherwise cause the view data to\n // be retained.\n // https://github.com/angular/angular/issues/17624\n this._ref = null;\n }\n transform(obj) {\n if (!this._obj) {\n if (obj) {\n this._subscribe(obj);\n }\n return this._latestValue;\n }\n if (obj !== this._obj) {\n this._dispose();\n return this.transform(obj);\n }\n return this._latestValue;\n }\n _subscribe(obj) {\n this._obj = obj;\n this._strategy = this._selectStrategy(obj);\n this._subscription = this._strategy.createSubscription(obj, (value) => this._updateLatestValue(obj, value));\n }\n _selectStrategy(obj) {\n if (ɵisPromise(obj)) {\n return _promiseStrategy;\n }\n if (ɵisSubscribable(obj)) {\n return _subscribableStrategy;\n }\n throw invalidPipeArgumentError(AsyncPipe, obj);\n }\n _dispose() {\n // Note: `dispose` is only called if a subscription has been initialized before, indicating\n // that `this._strategy` is also available.\n this._strategy.dispose(this._subscription);\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n }\n _updateLatestValue(async, value) {\n if (async === this._obj) {\n this._latestValue = value;\n // Note: `this._ref` is only cleared in `ngOnDestroy` so is known to be available when a\n // value is being updated.\n this._ref.markForCheck();\n }\n }\n}\nAsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });\nAsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: AsyncPipe, isStandalone: true, name: \"async\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: AsyncPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'async',\n pure: false,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms text to all lower case.\n *\n * @see `UpperCasePipe`\n * @see `TitleCasePipe`\n * @usageNotes\n *\n * The following example defines a view that allows the user to enter\n * text, and then uses the pipe to convert the input text to all lower case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass LowerCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(LowerCasePipe, value);\n }\n return value.toLowerCase();\n }\n}\nLowerCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nLowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: \"lowercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: LowerCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'lowercase',\n standalone: true,\n }]\n }] });\n//\n// Regex below matches any Unicode word and number compatible with ES5. In ES2018 the same result\n// can be achieved by using /[0-9\\p{L}]\\S*/gu and also known as Unicode Property Escapes\n// (https://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no\n// transpilation of this functionality down to ES5 without external tool, the only solution is\n// to use already transpiled form. Example can be found here -\n// https://mothereff.in/regexpu#input=var+regex+%3D+%2F%5B0-9%5Cp%7BL%7D%5D%5CS*%2Fgu%3B%0A%0A&unicodePropertyEscape=1\n//\nconst unicodeWordMatch = /(?:[0-9A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF38\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])\\S*/g;\n/**\n * Transforms text to title case.\n * Capitalizes the first letter of each word and transforms the\n * rest of the word to lower case.\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\n *\n * @see `LowerCasePipe`\n * @see `UpperCasePipe`\n *\n * @usageNotes\n * The following example shows the result of transforming various strings into title case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass TitleCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(TitleCasePipe, value);\n }\n return value.replace(unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.slice(1).toLowerCase()));\n }\n}\nTitleCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nTitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: \"titlecase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: TitleCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'titlecase',\n standalone: true,\n }]\n }] });\n/**\n * Transforms text to all upper case.\n * @see `LowerCasePipe`\n * @see `TitleCasePipe`\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass UpperCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(UpperCasePipe, value);\n }\n return value.toUpperCase();\n }\n}\nUpperCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nUpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: \"uppercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: UpperCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'uppercase',\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Optionally-provided default timezone to use for all instances of `DatePipe` (such as `'+0430'`).\n * If the value isn't provided, the `DatePipe` will use the end-user's local system timezone.\n */\nconst DATE_PIPE_DEFAULT_TIMEZONE = new InjectionToken('DATE_PIPE_DEFAULT_TIMEZONE');\n// clang-format off\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date value according to locale rules.\n *\n * `DatePipe` is executed only when it detects a pure change to the input value.\n * A pure change is either a change to a primitive input value\n * (such as `String`, `Number`, `Boolean`, or `Symbol`),\n * or a changed object reference (such as `Date`, `Array`, `Function`, or `Object`).\n *\n * Note that mutating a `Date` object does not cause the pipe to be rendered again.\n * To ensure that the pipe is executed, you must create a new `Date` object.\n *\n * Only the `en-US` locale data comes with Angular. To localize dates\n * in another language, you must import the corresponding locale data.\n * See the [I18n guide](guide/i18n-common-format-data-locale) for more information.\n *\n * The time zone of the formatted value can be specified either by passing it in as the second\n * parameter of the pipe, or by setting the default through the `DATE_PIPE_DEFAULT_TIMEZONE`\n * injection token. The value that is passed in as the second parameter takes precedence over\n * the one defined using the injection token.\n *\n * @see `formatDate()`\n *\n *\n * @usageNotes\n *\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\n * reformat the date on every change-detection cycle, treat the date as an immutable object\n * and change the reference when the pipe needs to run again.\n *\n * ### Pre-defined format options\n *\n * | Option | Equivalent to | Examples (given in `en-US` locale) |\n * |---------------|-------------------------------------|-------------------------------------------------|\n * | `'short'` | `'M/d/yy, h:mm a'` | `6/15/15, 9:03 AM` |\n * | `'medium'` | `'MMM d, y, h:mm:ss a'` | `Jun 15, 2015, 9:03:01 AM` |\n * | `'long'` | `'MMMM d, y, h:mm:ss a z'` | `June 15, 2015 at 9:03:01 AM GMT+1` |\n * | `'full'` | `'EEEE, MMMM d, y, h:mm:ss a zzzz'` | `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00` |\n * | `'shortDate'` | `'M/d/yy'` | `6/15/15` |\n * | `'mediumDate'`| `'MMM d, y'` | `Jun 15, 2015` |\n * | `'longDate'` | `'MMMM d, y'` | `June 15, 2015` |\n * | `'fullDate'` | `'EEEE, MMMM d, y'` | `Monday, June 15, 2015` |\n * | `'shortTime'` | `'h:mm a'` | `9:03 AM` |\n * | `'mediumTime'`| `'h:mm:ss a'` | `9:03:01 AM` |\n * | `'longTime'` | `'h:mm:ss a z'` | `9:03:01 AM GMT+1` |\n * | `'fullTime'` | `'h:mm:ss a zzzz'` | `9:03:01 AM GMT+01:00` |\n *\n * ### Custom format options\n *\n * You can construct a format string using symbols to specify the components\n * of a date-time value, as described in the following table.\n * Format details depend on the locale.\n * Fields marked with (*) are only available in the extra data set for the given locale.\n *\n * | Field type | Format | Description | Example Value |\n * |-------------------- |-------------|---------------------------------------------------------------|------------------------------------------------------------|\n * | Era | G, GG & GGG | Abbreviated | AD |\n * | | GGGG | Wide | Anno Domini |\n * | | GGGGG | Narrow | A |\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Week-numbering year | Y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | YY | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | YYY | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | YYYY | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\n * | | LLL | Abbreviated | Sep |\n * | | LLLL | Wide | September |\n * | | LLLLL | Narrow | S |\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\n * | Day of month | d | Numeric: minimum digits | 1 |\n * | | dd | Numeric: 2 digits + zero padded | 01 |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | Week day standalone | c, cc | Numeric: 1 digit | 2 |\n * | | ccc | Abbreviated | Tue |\n * | | cccc | Wide | Tuesday |\n * | | ccccc | Narrow | T |\n * | | cccccc | Short | Tu |\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\n * | | aaaaa | Narrow | a/p |\n * | Period* | B, BB & BBB | Abbreviated | mid. |\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | BBBBB | Narrow | md |\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | bbbbb | Narrow | md |\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\n * | Minute | m | Numeric: minimum digits | 8, 59 |\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\n * | Second | s | Numeric: minimum digits | 0... 59 |\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\n * | | OOOO | Long localized GMT format | GMT-08:00 |\n *\n *\n * ### Format examples\n *\n * These examples transform a date into various formats,\n * assuming that `dateObj` is a JavaScript `Date` object for\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\n * given in the local time for the `en-US` locale.\n *\n * ```\n * {{ dateObj | date }} // output is 'Jun 15, 2015'\n * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'\n * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'\n * {{ dateObj | date:'mm:ss' }} // output is '43:11'\n * ```\n *\n * ### Usage example\n *\n * The following component uses a date pipe to display the current date in different formats.\n *\n * ```\n * @Component({\n * selector: 'date-pipe',\n * template: `
    \n *

    Today is {{today | date}}

    \n *

    Or if you prefer, {{today | date:'fullDate'}}

    \n *

    The time is {{today | date:'h:mm a z'}}

    \n *
    `\n * })\n * // Get the current date and time as a date-time value.\n * export class DatePipeComponent {\n * today: number = Date.now();\n * }\n * ```\n *\n * @publicApi\n */\n// clang-format on\nclass DatePipe {\n constructor(locale, defaultTimezone) {\n this.locale = locale;\n this.defaultTimezone = defaultTimezone;\n }\n transform(value, format = 'mediumDate', timezone, locale) {\n if (value == null || value === '' || value !== value)\n return null;\n try {\n return formatDate(value, format, locale || this.locale, timezone ?? this.defaultTimezone ?? undefined);\n }\n catch (error) {\n throw invalidPipeArgumentError(DatePipe, error.message);\n }\n }\n}\nDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });\nDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: DatePipe, isStandalone: true, name: \"date\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: DatePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'date',\n pure: true,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DATE_PIPE_DEFAULT_TIMEZONE]\n }, {\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _INTERPOLATION_REGEXP = /#/g;\n/**\n * @ngModule CommonModule\n * @description\n *\n * Maps a value to a string that pluralizes the value according to locale rules.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * @publicApi\n */\nclass I18nPluralPipe {\n constructor(_localization) {\n this._localization = _localization;\n }\n /**\n * @param value the number to be formatted\n * @param pluralMap an object that mimics the ICU format, see\n * https://unicode-org.github.io/icu/userguide/format_parse/messages/.\n * @param locale a `string` defining the locale to use (uses the current {@link LOCALE_ID} by\n * default).\n */\n transform(value, pluralMap, locale) {\n if (value == null)\n return '';\n if (typeof pluralMap !== 'object' || pluralMap === null) {\n throw invalidPipeArgumentError(I18nPluralPipe, pluralMap);\n }\n const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);\n return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\n }\n}\nI18nPluralPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });\nI18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: \"i18nPlural\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: I18nPluralPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'i18nPlural',\n pure: true,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Generic selector that displays the string that matches the current value.\n *\n * If none of the keys of the `mapping` match the `value`, then the content\n * of the `other` key is returned when present, otherwise an empty string is returned.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n * @publicApi\n */\nclass I18nSelectPipe {\n /**\n * @param value a string to be internationalized.\n * @param mapping an object that indicates the text that should be displayed\n * for different values of the provided `value`.\n */\n transform(value, mapping) {\n if (value == null)\n return '';\n if (typeof mapping !== 'object' || typeof value !== 'string') {\n throw invalidPipeArgumentError(I18nSelectPipe, mapping);\n }\n if (mapping.hasOwnProperty(value)) {\n return mapping[value];\n }\n if (mapping.hasOwnProperty('other')) {\n return mapping['other'];\n }\n return '';\n }\n}\nI18nSelectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nI18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: \"i18nSelect\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: I18nSelectPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'i18nSelect',\n pure: true,\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Converts a value into its JSON-format representation. Useful for debugging.\n *\n * @usageNotes\n *\n * The following component uses a JSON pipe to convert an object\n * to JSON format, and displays the string in both formats for comparison.\n *\n * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * @publicApi\n */\nclass JsonPipe {\n /**\n * @param value A value of any type to convert into a JSON-format string.\n */\n transform(value) {\n return JSON.stringify(value, null, 2);\n }\n}\nJsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: JsonPipe, isStandalone: true, name: \"json\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: JsonPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'json',\n pure: false,\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction makeKeyValuePair(key, value) {\n return { key: key, value: value };\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms Object or Map into an array of key value pairs.\n *\n * The output array will be ordered by keys.\n * By default the comparator will be by Unicode point value.\n * You can optionally pass a compareFn if your keys are complex types.\n *\n * @usageNotes\n * ### Examples\n *\n * This examples show how an Object or a Map can be iterated by ngFor with the use of this\n * keyvalue pipe.\n *\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\n *\n * @publicApi\n */\nclass KeyValuePipe {\n constructor(differs) {\n this.differs = differs;\n this.keyValues = [];\n this.compareFn = defaultComparator;\n }\n transform(input, compareFn = defaultComparator) {\n if (!input || (!(input instanceof Map) && typeof input !== 'object')) {\n return null;\n }\n if (!this.differ) {\n // make a differ for whatever type we've been passed in\n this.differ = this.differs.find(input).create();\n }\n const differChanges = this.differ.diff(input);\n const compareFnChanged = compareFn !== this.compareFn;\n if (differChanges) {\n this.keyValues = [];\n differChanges.forEachItem((r) => {\n this.keyValues.push(makeKeyValuePair(r.key, r.currentValue));\n });\n }\n if (differChanges || compareFnChanged) {\n this.keyValues.sort(compareFn);\n this.compareFn = compareFn;\n }\n return this.keyValues;\n }\n}\nKeyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });\nKeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: \"keyvalue\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: KeyValuePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'keyvalue',\n pure: false,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }]; } });\nfunction defaultComparator(keyValueA, keyValueB) {\n const a = keyValueA.key;\n const b = keyValueB.key;\n // if same exit with 0;\n if (a === b)\n return 0;\n // make sure that undefined are at the end of the sort.\n if (a === undefined)\n return 1;\n if (b === undefined)\n return -1;\n // make sure that nulls are at the end of the sort.\n if (a === null)\n return 1;\n if (b === null)\n return -1;\n if (typeof a == 'string' && typeof b == 'string') {\n return a < b ? -1 : 1;\n }\n if (typeof a == 'number' && typeof b == 'number') {\n return a - b;\n }\n if (typeof a == 'boolean' && typeof b == 'boolean') {\n return a < b ? -1 : 1;\n }\n // `a` and `b` are of different types. Compare their string values.\n const aString = String(a);\n const bString = String(b);\n return aString == bString ? 0 : aString < bString ? -1 : 1;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a value according to digit options and locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * @see `formatNumber()`\n *\n * @usageNotes\n *\n * ### digitsInfo\n *\n * The value's decimal representation is specified by the `digitsInfo`\n * parameter, written in the following format:
    \n *\n * ```\n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}\n * ```\n *\n * - `minIntegerDigits`:\n * The minimum number of integer digits before the decimal point.\n * Default is 1.\n *\n * - `minFractionDigits`:\n * The minimum number of digits after the decimal point.\n * Default is 0.\n *\n * - `maxFractionDigits`:\n * The maximum number of digits after the decimal point.\n * Default is 3.\n *\n * If the formatted value is truncated it will be rounded using the \"to-nearest\" method:\n *\n * ```\n * {{3.6 | number: '1.0-0'}}\n * \n *\n * {{-3.6 | number:'1.0-0'}}\n * \n * ```\n *\n * ### locale\n *\n * `locale` will format a value according to locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n *\n * See [Setting your app locale](guide/i18n-common-locale-id).\n *\n * ### Example\n *\n * The following code shows how the pipe transforms values\n * according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass DecimalPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n * @param value The value to be formatted.\n * @param digitsInfo Sets digit and decimal representation.\n * [See more](#digitsinfo).\n * @param locale Specifies what locale format rules to use.\n * [See more](#locale).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatNumber(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(DecimalPipe, error.message);\n }\n }\n}\nDecimalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: DecimalPipe, isStandalone: true, name: \"number\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: DecimalPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'number',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a percentage\n * string, formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * @see `formatPercent()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass PercentPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n *\n * @param value The number to be formatted as a percentage.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `0`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatPercent(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(PercentPipe, error.message);\n }\n }\n}\nPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: PercentPipe, isStandalone: true, name: \"percent\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: PercentPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'percent',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a currency string, formatted according to locale rules\n * that determine group sizing and separator, decimal-point character,\n * and other locale-specific configurations.\n *\n * {@a currency-code-deprecation}\n *
    \n *\n * **Deprecation notice:**\n *\n * The default currency code is currently always `USD` but this is deprecated from v9.\n *\n * **In v11 the default currency code will be taken from the current locale identified by\n * the `LOCALE_ID` token. See the [i18n guide](guide/i18n-common-locale-id) for\n * more information.**\n *\n * If you need the previous behavior then set it by creating a `DEFAULT_CURRENCY_CODE` provider in\n * your application `NgModule`:\n *\n * ```ts\n * {provide: DEFAULT_CURRENCY_CODE, useValue: 'USD'}\n * ```\n *\n *
    \n *\n * @see `getCurrencySymbol()`\n * @see `formatCurrency()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass CurrencyPipe {\n constructor(_locale, _defaultCurrencyCode = 'USD') {\n this._locale = _locale;\n this._defaultCurrencyCode = _defaultCurrencyCode;\n }\n /**\n *\n * @param value The number to be formatted as currency.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code,\n * such as `USD` for the US dollar and `EUR` for the euro. The default currency code can be\n * configured using the `DEFAULT_CURRENCY_CODE` injection token.\n * @param display The format for the currency indicator. One of the following:\n * - `code`: Show the code (such as `USD`).\n * - `symbol`(default): Show the symbol (such as `$`).\n * - `symbol-narrow`: Use the narrow symbol for locales that have two symbols for their\n * currency.\n * For example, the Canadian dollar CAD has the symbol `CA$` and the symbol-narrow `$`. If the\n * locale has no narrow symbol, uses the standard symbol for the locale.\n * - String: Use the given string value instead of a code or a symbol.\n * For example, an empty string will suppress the currency & symbol.\n * - Boolean (marked deprecated in v5): `true` for symbol and false for `code`.\n *\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `2`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `2`.\n * If not provided, the number will be formatted with the proper amount of digits,\n * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies.\n * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, currencyCode = this._defaultCurrencyCode, display = 'symbol', digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n if (typeof display === 'boolean') {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && console && console.warn) {\n console.warn(`Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \"code\", \"symbol\" or \"symbol-narrow\".`);\n }\n display = display ? 'symbol' : 'code';\n }\n let currency = currencyCode || this._defaultCurrencyCode;\n if (display !== 'code') {\n if (display === 'symbol' || display === 'symbol-narrow') {\n currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);\n }\n else {\n currency = display;\n }\n }\n try {\n const num = strToNumber(value);\n return formatCurrency(num, locale, currency, currencyCode, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(CurrencyPipe, error.message);\n }\n }\n}\nCurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });\nCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: CurrencyPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'currency',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DEFAULT_CURRENCY_CODE]\n }] }]; } });\nfunction isValue(value) {\n return !(value == null || value === '' || value !== value);\n}\n/**\n * Transforms a string into a number (if needed).\n */\nfunction strToNumber(value) {\n // Convert strings to numbers\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n return value;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\n *\n * @usageNotes\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on an `Array`, the returned `Array` is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ### List Example\n *\n * This `ngFor` example:\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n * ```html\n *
  • b
  • \n *
  • c
  • \n * ```\n *\n * ### String Examples\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * @publicApi\n */\nclass SlicePipe {\n transform(value, start, end) {\n if (value == null)\n return null;\n if (!this.supports(value)) {\n throw invalidPipeArgumentError(SlicePipe, value);\n }\n return value.slice(start, end);\n }\n supports(obj) {\n return typeof obj === 'string' || Array.isArray(obj);\n }\n}\nSlicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nSlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: SlicePipe, isStandalone: true, name: \"slice\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: SlicePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'slice',\n pure: false,\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nconst COMMON_PIPES = [\n AsyncPipe,\n UpperCasePipe,\n LowerCasePipe,\n JsonPipe,\n SlicePipe,\n DecimalPipe,\n PercentPipe,\n TitleCasePipe,\n CurrencyPipe,\n DatePipe,\n I18nPluralPipe,\n I18nSelectPipe,\n KeyValuePipe,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Note: This does not contain the location providers,\n// as they need some platform specific implementations to work.\n/**\n * Exports all the basic Angular directives and pipes,\n * such as `NgIf`, `NgForOf`, `DecimalPipe`, and so on.\n * Re-exported by `BrowserModule`, which is included automatically in the root\n * `AppModule` when you create a new app with the CLI `new` command.\n *\n * @publicApi\n */\nclass CommonModule {\n}\nCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.12\", ngImport: i0, type: CommonModule, imports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe], exports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe] });\nCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: CommonModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: CommonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PLATFORM_BROWSER_ID = 'browser';\nconst PLATFORM_SERVER_ID = 'server';\nconst PLATFORM_WORKER_APP_ID = 'browserWorkerApp';\nconst PLATFORM_WORKER_UI_ID = 'browserWorkerUi';\n/**\n * Returns whether a platform id represents a browser platform.\n * @publicApi\n */\nfunction isPlatformBrowser(platformId) {\n return platformId === PLATFORM_BROWSER_ID;\n}\n/**\n * Returns whether a platform id represents a server platform.\n * @publicApi\n */\nfunction isPlatformServer(platformId) {\n return platformId === PLATFORM_SERVER_ID;\n}\n/**\n * Returns whether a platform id represents a web worker app platform.\n * @publicApi\n */\nfunction isPlatformWorkerApp(platformId) {\n return platformId === PLATFORM_WORKER_APP_ID;\n}\n/**\n * Returns whether a platform id represents a web worker UI platform.\n * @publicApi\n */\nfunction isPlatformWorkerUi(platformId) {\n return platformId === PLATFORM_WORKER_UI_ID;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nconst VERSION = new Version('14.2.12');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.\n *\n * @publicApi\n */\nclass ViewportScroller {\n}\n// De-sugared tree-shakable injection\n// See #23917\n/** @nocollapse */\nViewportScroller.ɵprov = ɵɵdefineInjectable({\n token: ViewportScroller,\n providedIn: 'root',\n factory: () => new BrowserViewportScroller(ɵɵinject(DOCUMENT), window)\n});\n/**\n * Manages the scroll position for a browser window.\n */\nclass BrowserViewportScroller {\n constructor(document, window) {\n this.document = document;\n this.window = window;\n this.offset = () => [0, 0];\n }\n /**\n * Configures the top offset used when scrolling to an anchor.\n * @param offset A position in screen coordinates (a tuple with x and y values)\n * or a function that returns the top offset position.\n *\n */\n setOffset(offset) {\n if (Array.isArray(offset)) {\n this.offset = () => offset;\n }\n else {\n this.offset = offset;\n }\n }\n /**\n * Retrieves the current scroll position.\n * @returns The position in screen coordinates.\n */\n getScrollPosition() {\n if (this.supportsScrolling()) {\n return [this.window.pageXOffset, this.window.pageYOffset];\n }\n else {\n return [0, 0];\n }\n }\n /**\n * Sets the scroll position.\n * @param position The new position in screen coordinates.\n */\n scrollToPosition(position) {\n if (this.supportsScrolling()) {\n this.window.scrollTo(position[0], position[1]);\n }\n }\n /**\n * Scrolls to an element and attempts to focus the element.\n *\n * Note that the function name here is misleading in that the target string may be an ID for a\n * non-anchor element.\n *\n * @param target The ID of an element or name of the anchor.\n *\n * @see https://html.spec.whatwg.org/#the-indicated-part-of-the-document\n * @see https://html.spec.whatwg.org/#scroll-to-fragid\n */\n scrollToAnchor(target) {\n if (!this.supportsScrolling()) {\n return;\n }\n const elSelected = findAnchorFromDocument(this.document, target);\n if (elSelected) {\n this.scrollToElement(elSelected);\n // After scrolling to the element, the spec dictates that we follow the focus steps for the\n // target. Rather than following the robust steps, simply attempt focus.\n //\n // @see https://html.spec.whatwg.org/#get-the-focusable-area\n // @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus\n // @see https://html.spec.whatwg.org/#focusable-area\n elSelected.focus();\n }\n }\n /**\n * Disables automatic scroll restoration provided by the browser.\n */\n setHistoryScrollRestoration(scrollRestoration) {\n if (this.supportScrollRestoration()) {\n const history = this.window.history;\n if (history && history.scrollRestoration) {\n history.scrollRestoration = scrollRestoration;\n }\n }\n }\n /**\n * Scrolls to an element using the native offset and the specified offset set on this scroller.\n *\n * The offset can be used when we know that there is a floating header and scrolling naively to an\n * element (ex: `scrollIntoView`) leaves the element hidden behind the floating header.\n */\n scrollToElement(el) {\n const rect = el.getBoundingClientRect();\n const left = rect.left + this.window.pageXOffset;\n const top = rect.top + this.window.pageYOffset;\n const offset = this.offset();\n this.window.scrollTo(left - offset[0], top - offset[1]);\n }\n /**\n * We only support scroll restoration when we can get a hold of window.\n * This means that we do not support this behavior when running in a web worker.\n *\n * Lifting this restriction right now would require more changes in the dom adapter.\n * Since webworkers aren't widely used, we will lift it once RouterScroller is\n * battle-tested.\n */\n supportScrollRestoration() {\n try {\n if (!this.supportsScrolling()) {\n return false;\n }\n // The `scrollRestoration` property could be on the `history` instance or its prototype.\n const scrollRestorationDescriptor = getScrollRestorationProperty(this.window.history) ||\n getScrollRestorationProperty(Object.getPrototypeOf(this.window.history));\n // We can write to the `scrollRestoration` property if it is a writable data field or it has a\n // setter function.\n return !!scrollRestorationDescriptor &&\n !!(scrollRestorationDescriptor.writable || scrollRestorationDescriptor.set);\n }\n catch {\n return false;\n }\n }\n supportsScrolling() {\n try {\n return !!this.window && !!this.window.scrollTo && 'pageXOffset' in this.window;\n }\n catch {\n return false;\n }\n }\n}\nfunction getScrollRestorationProperty(obj) {\n return Object.getOwnPropertyDescriptor(obj, 'scrollRestoration');\n}\nfunction findAnchorFromDocument(document, target) {\n const documentResult = document.getElementById(target) || document.getElementsByName(target)[0];\n if (documentResult) {\n return documentResult;\n }\n // `getElementById` and `getElementsByName` won't pierce through the shadow DOM so we\n // have to traverse the DOM manually and do the lookup through the shadow roots.\n if (typeof document.createTreeWalker === 'function' && document.body &&\n (document.body.createShadowRoot || document.body.attachShadow)) {\n const treeWalker = document.createTreeWalker(document.body, NodeFilter.SHOW_ELEMENT);\n let currentNode = treeWalker.currentNode;\n while (currentNode) {\n const shadowRoot = currentNode.shadowRoot;\n if (shadowRoot) {\n // Note that `ShadowRoot` doesn't support `getElementsByName`\n // so we have to fall back to `querySelector`.\n const result = shadowRoot.getElementById(target) || shadowRoot.querySelector(`[name=\"${target}\"]`);\n if (result) {\n return result;\n }\n }\n currentNode = treeWalker.nextNode();\n }\n }\n return null;\n}\n/**\n * Provides an empty implementation of the viewport scroller.\n */\nclass NullViewportScroller {\n /**\n * Empty implementation\n */\n setOffset(offset) { }\n /**\n * Empty implementation\n */\n getScrollPosition() {\n return [0, 0];\n }\n /**\n * Empty implementation\n */\n scrollToPosition(position) { }\n /**\n * Empty implementation\n */\n scrollToAnchor(anchor) { }\n /**\n * Empty implementation\n */\n setHistoryScrollRestoration(scrollRestoration) { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A wrapper around the `XMLHttpRequest` constructor.\n *\n * @publicApi\n */\nclass XhrFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Asserts that the application is in development mode. Throws an error if the application is in\n * production mode. This assert can be used to make sure that there is no dev-mode code invoked in\n * the prod mode accidentally.\n */\nfunction assertDevMode(checkName) {\n if (!ngDevMode) {\n throw new ɵRuntimeError(2958 /* RuntimeErrorCode.UNEXPECTED_DEV_MODE_CHECK_IN_PROD_MODE */, `Unexpected invocation of the ${checkName} in the prod mode. ` +\n `Please make sure that the prod mode is enabled for production builds.`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Assembles directive details string, useful for error messages.\nfunction imgDirectiveDetails(ngSrc, includeNgSrc = true) {\n const ngSrcInfo = includeNgSrc ? `(activated on an element with the \\`ngSrc=\"${ngSrc}\"\\`) ` : '';\n return `The NgOptimizedImage directive ${ngSrcInfo}has detected that`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Converts a string that represents a URL into a URL class instance.\nfunction getUrl(src, win) {\n // Don't use a base URL is the URL is absolute.\n return isAbsoluteUrl(src) ? new URL(src) : new URL(src, win.location.href);\n}\n// Checks whether a URL is absolute (i.e. starts with `http://` or `https://`).\nfunction isAbsoluteUrl(src) {\n return /^https?:\\/\\//.test(src);\n}\n// Given a URL, extract the hostname part.\n// If a URL is a relative one - the URL is returned as is.\nfunction extractHostname(url) {\n return isAbsoluteUrl(url) ? (new URL(url)).hostname : url;\n}\nfunction isValidPath(path) {\n const isString = typeof path === 'string';\n if (!isString || path.trim() === '') {\n return false;\n }\n // Calling new URL() will throw if the path string is malformed\n try {\n const url = new URL(path);\n return true;\n }\n catch {\n return false;\n }\n}\nfunction normalizePath(path) {\n return path.endsWith('/') ? path.slice(0, -1) : path;\n}\nfunction normalizeSrc(src) {\n return src.startsWith('/') ? src.slice(1) : src;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Set of origins that are always excluded from the preconnect checks.\nconst INTERNAL_PRECONNECT_CHECK_BLOCKLIST = new Set(['localhost', '127.0.0.1', '0.0.0.0']);\n/**\n * Multi-provider injection token to configure which origins should be excluded\n * from the preconnect checks. It can either be a single string or an array of strings\n * to represent a group of origins, for example:\n *\n * ```typescript\n * {provide: PRECONNECT_CHECK_BLOCKLIST, multi: true, useValue: 'https://your-domain.com'}\n * ```\n *\n * or:\n *\n * ```typescript\n * {provide: PRECONNECT_CHECK_BLOCKLIST, multi: true,\n * useValue: ['https://your-domain-1.com', 'https://your-domain-2.com']}\n * ```\n *\n * @publicApi\n * @developerPreview\n */\nconst PRECONNECT_CHECK_BLOCKLIST = new InjectionToken('PRECONNECT_CHECK_BLOCKLIST');\n/**\n * Contains the logic to detect whether an image, marked with the \"priority\" attribute\n * has a corresponding `` tag in the `document.head`.\n *\n * Note: this is a dev-mode only class, which should not appear in prod bundles,\n * thus there is no `ngDevMode` use in the code.\n */\nclass PreconnectLinkChecker {\n constructor() {\n this.document = inject(DOCUMENT);\n /**\n * Set of tags found on this page.\n * The `null` value indicates that there was no DOM query operation performed.\n */\n this.preconnectLinks = null;\n /*\n * Keep track of all already seen origin URLs to avoid repeating the same check.\n */\n this.alreadySeen = new Set();\n this.window = null;\n this.blocklist = new Set(INTERNAL_PRECONNECT_CHECK_BLOCKLIST);\n assertDevMode('preconnect link checker');\n const win = this.document.defaultView;\n if (typeof win !== 'undefined') {\n this.window = win;\n }\n const blocklist = inject(PRECONNECT_CHECK_BLOCKLIST, { optional: true });\n if (blocklist) {\n this.populateBlocklist(blocklist);\n }\n }\n populateBlocklist(origins) {\n if (Array.isArray(origins)) {\n deepForEach(origins, origin => {\n this.blocklist.add(extractHostname(origin));\n });\n }\n else {\n throw new ɵRuntimeError(2957 /* RuntimeErrorCode.INVALID_PRECONNECT_CHECK_BLOCKLIST */, `The blocklist for the preconnect check was not provided as an array. ` +\n `Check that the \\`PRECONNECT_CHECK_BLOCKLIST\\` token is configured as a \\`multi: true\\` provider.`);\n }\n }\n /**\n * Checks that a preconnect resource hint exists in the head fo rthe\n * given src.\n *\n * @param rewrittenSrc src formatted with loader\n * @param originalNgSrc ngSrc value\n */\n assertPreconnect(rewrittenSrc, originalNgSrc) {\n if (!this.window)\n return;\n const imgUrl = getUrl(rewrittenSrc, this.window);\n if (this.blocklist.has(imgUrl.hostname) || this.alreadySeen.has(imgUrl.origin))\n return;\n // Register this origin as seen, so we don't check it again later.\n this.alreadySeen.add(imgUrl.origin);\n if (!this.preconnectLinks) {\n // Note: we query for preconnect links only *once* and cache the results\n // for the entire lifespan of an application, since it's unlikely that the\n // list would change frequently. This allows to make sure there are no\n // performance implications of making extra DOM lookups for each image.\n this.preconnectLinks = this.queryPreconnectLinks();\n }\n if (!this.preconnectLinks.has(imgUrl.origin)) {\n console.warn(ɵformatRuntimeError(2956 /* RuntimeErrorCode.PRIORITY_IMG_MISSING_PRECONNECT_TAG */, `${imgDirectiveDetails(originalNgSrc)} there is no preconnect tag present for this ` +\n `image. Preconnecting to the origin(s) that serve priority images ensures that these ` +\n `images are delivered as soon as possible. To fix this, please add the following ` +\n `element into the of the document:\\n` +\n ` `));\n }\n }\n queryPreconnectLinks() {\n const preconnectUrls = new Set();\n const selector = 'link[rel=preconnect]';\n const links = Array.from(this.document.querySelectorAll(selector));\n for (let link of links) {\n const url = getUrl(link.href, this.window);\n preconnectUrls.add(url.origin);\n }\n return preconnectUrls;\n }\n ngOnDestroy() {\n this.preconnectLinks?.clear();\n this.alreadySeen.clear();\n }\n}\nPreconnectLinkChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPreconnectLinkChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: PreconnectLinkChecker, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return []; } });\n/**\n * Invokes a callback for each element in the array. Also invokes a callback\n * recursively for each nested array.\n */\nfunction deepForEach(input, fn) {\n for (let value of input) {\n Array.isArray(value) ? deepForEach(value, fn) : fn(value);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Noop image loader that does no transformation to the original src and just returns it as is.\n * This loader is used as a default one if more specific logic is not provided in an app config.\n *\n * @see `ImageLoader`\n * @see `NgOptimizedImage`\n */\nconst noopImageLoader = (config) => config.src;\n/**\n * Injection token that configures the image loader function.\n *\n * @see `ImageLoader`\n * @see `NgOptimizedImage`\n * @publicApi\n * @developerPreview\n */\nconst IMAGE_LOADER = new InjectionToken('ImageLoader', {\n providedIn: 'root',\n factory: () => noopImageLoader,\n});\n/**\n * Internal helper function that makes it easier to introduce custom image loaders for the\n * `NgOptimizedImage` directive. It is enough to specify a URL builder function to obtain full DI\n * configuration for a given loader: a DI token corresponding to the actual loader function, plus DI\n * tokens managing preconnect check functionality.\n * @param buildUrlFn a function returning a full URL based on loader's configuration\n * @param exampleUrls example of full URLs for a given loader (used in error messages)\n * @returns a set of DI providers corresponding to the configured image loader\n */\nfunction createImageLoader(buildUrlFn, exampleUrls) {\n return function provideImageLoader(path, options = { ensurePreconnect: true }) {\n if (!isValidPath(path)) {\n throwInvalidPathError(path, exampleUrls || []);\n }\n // The trailing / is stripped (if provided) to make URL construction (concatenation) easier in\n // the individual loader functions.\n path = normalizePath(path);\n const loaderFn = (config) => {\n if (isAbsoluteUrl(config.src)) {\n // Image loader functions expect an image file name (e.g. `my-image.png`)\n // or a relative path + a file name (e.g. `/a/b/c/my-image.png`) as an input,\n // so the final absolute URL can be constructed.\n // When an absolute URL is provided instead - the loader can not\n // build a final URL, thus the error is thrown to indicate that.\n throwUnexpectedAbsoluteUrlError(path, config.src);\n }\n return buildUrlFn(path, { ...config, src: normalizeSrc(config.src) });\n };\n const providers = [{ provide: IMAGE_LOADER, useValue: loaderFn }];\n if (ngDevMode && options.ensurePreconnect === false) {\n providers.push({ provide: PRECONNECT_CHECK_BLOCKLIST, useValue: [path], multi: true });\n }\n return providers;\n };\n}\nfunction throwInvalidPathError(path, exampleUrls) {\n throw new ɵRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode &&\n `Image loader has detected an invalid path (\\`${path}\\`). ` +\n `To fix this, supply a path using one of the following formats: ${exampleUrls.join(' or ')}`);\n}\nfunction throwUnexpectedAbsoluteUrlError(path, url) {\n throw new ɵRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode &&\n `Image loader has detected a \\`\\` tag with an invalid \\`ngSrc\\` attribute: ${url}. ` +\n `This image loader expects \\`ngSrc\\` to be a relative URL - ` +\n `however the provided value is an absolute URL. ` +\n `To fix this, provide \\`ngSrc\\` as a path relative to the base URL ` +\n `configured for this loader (\\`${path}\\`).`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Function that generates an ImageLoader for [Cloudflare Image\n * Resizing](https://developers.cloudflare.com/images/image-resizing/) and turns it into an Angular\n * provider. Note: Cloudflare has multiple image products - this provider is specifically for\n * Cloudflare Image Resizing; it will not work with Cloudflare Images or Cloudflare Polish.\n *\n * @param path Your domain name, e.g. https://mysite.com\n * @param options An object with extra configuration:\n * - `ensurePreconnect`: boolean flag indicating whether the NgOptimizedImage directive\n * should verify that there is a corresponding ``\n * present in the document's ``.\n * @returns Provider that provides an ImageLoader function\n *\n * @publicApi\n * @developerPreview\n */\nconst provideCloudflareLoader = createImageLoader(createCloudflareUrl, ngDevMode ? ['https:///cdn-cgi/image//'] : undefined);\nfunction createCloudflareUrl(path, config) {\n let params = `format=auto`;\n if (config.width) {\n params += `,width=${config.width}`;\n }\n // Cloudflare image URLs format:\n // https://developers.cloudflare.com/images/image-resizing/url-format/\n return `${path}/cdn-cgi/image/${params}/${config.src}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Function that generates an ImageLoader for Cloudinary and turns it into an Angular provider.\n *\n * @param path Base URL of your Cloudinary images\n * This URL should match one of the following formats:\n * https://res.cloudinary.com/mysite\n * https://mysite.cloudinary.com\n * https://subdomain.mysite.com\n * @param options An object with extra configuration:\n * - `ensurePreconnect`: boolean flag indicating whether the NgOptimizedImage directive\n * should verify that there is a corresponding ``\n * present in the document's ``.\n * @returns Set of providers to configure the Cloudinary loader.\n *\n * @publicApi\n * @developerPreview\n */\nconst provideCloudinaryLoader = createImageLoader(createCloudinaryUrl, ngDevMode ?\n [\n 'https://res.cloudinary.com/mysite', 'https://mysite.cloudinary.com',\n 'https://subdomain.mysite.com'\n ] :\n undefined);\nfunction createCloudinaryUrl(path, config) {\n // Cloudinary image URLformat:\n // https://cloudinary.com/documentation/image_transformations#transformation_url_structure\n // Example of a Cloudinary image URL:\n // https://res.cloudinary.com/mysite/image/upload/c_scale,f_auto,q_auto,w_600/marketing/tile-topics-m.png\n let params = `f_auto,q_auto`; // sets image format and quality to \"auto\"\n if (config.width) {\n params += `,w_${config.width}`;\n }\n return `${path}/image/upload/${params}/${config.src}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Function that generates an ImageLoader for ImageKit and turns it into an Angular provider.\n *\n * @param path Base URL of your ImageKit images\n * This URL should match one of the following formats:\n * https://ik.imagekit.io/myaccount\n * https://subdomain.mysite.com\n * @param options An object with extra configuration:\n * - `ensurePreconnect`: boolean flag indicating whether the NgOptimizedImage directive\n * should verify that there is a corresponding ``\n * present in the document's ``.\n * @returns Set of providers to configure the ImageKit loader.\n *\n * @publicApi\n * @developerPreview\n */\nconst provideImageKitLoader = createImageLoader(createImagekitUrl, ngDevMode ? ['https://ik.imagekit.io/mysite', 'https://subdomain.mysite.com'] : undefined);\nfunction createImagekitUrl(path, config) {\n // Example of an ImageKit image URL:\n // https://ik.imagekit.io/demo/tr:w-300,h-300/medium_cafe_B1iTdD0C.jpg\n let params = `tr:q-auto`; // applies the \"auto quality\" transformation\n if (config.width) {\n params += `,w-${config.width}`;\n }\n return `${path}/${params}/${config.src}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Function that generates an ImageLoader for Imgix and turns it into an Angular provider.\n *\n * @param path path to the desired Imgix origin,\n * e.g. https://somepath.imgix.net or https://images.mysite.com\n * @param options An object with extra configuration:\n * - `ensurePreconnect`: boolean flag indicating whether the NgOptimizedImage directive\n * should verify that there is a corresponding ``\n * present in the document's ``.\n * @returns Set of providers to configure the Imgix loader.\n *\n * @publicApi\n * @developerPreview\n */\nconst provideImgixLoader = createImageLoader(createImgixUrl, ngDevMode ? ['https://somepath.imgix.net/'] : undefined);\nfunction createImgixUrl(path, config) {\n const url = new URL(`${path}/${config.src}`);\n // This setting ensures the smallest allowable format is set.\n url.searchParams.set('auto', 'format');\n if (config.width) {\n url.searchParams.set('w', config.width.toString());\n }\n return url.href;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Observer that detects whether an image with `NgOptimizedImage`\n * is treated as a Largest Contentful Paint (LCP) element. If so,\n * asserts that the image has the `priority` attribute.\n *\n * Note: this is a dev-mode only class and it does not appear in prod bundles,\n * thus there is no `ngDevMode` use in the code.\n *\n * Based on https://web.dev/lcp/#measure-lcp-in-javascript.\n */\nclass LCPImageObserver {\n constructor() {\n // Map of full image URLs -> original `ngSrc` values.\n this.images = new Map();\n // Keep track of images for which `console.warn` was produced.\n this.alreadyWarned = new Set();\n this.window = null;\n this.observer = null;\n assertDevMode('LCP checker');\n const win = inject(DOCUMENT).defaultView;\n if (typeof win !== 'undefined' && typeof PerformanceObserver !== 'undefined') {\n this.window = win;\n this.observer = this.initPerformanceObserver();\n }\n }\n /**\n * Inits PerformanceObserver and subscribes to LCP events.\n * Based on https://web.dev/lcp/#measure-lcp-in-javascript\n */\n initPerformanceObserver() {\n const observer = new PerformanceObserver((entryList) => {\n const entries = entryList.getEntries();\n if (entries.length === 0)\n return;\n // We use the latest entry produced by the `PerformanceObserver` as the best\n // signal on which element is actually an LCP one. As an example, the first image to load on\n // a page, by virtue of being the only thing on the page so far, is often a LCP candidate\n // and gets reported by PerformanceObserver, but isn't necessarily the LCP element.\n const lcpElement = entries[entries.length - 1];\n // Cast to `any` due to missing `element` on the `LargestContentfulPaint` type of entry.\n // See https://developer.mozilla.org/en-US/docs/Web/API/LargestContentfulPaint\n const imgSrc = lcpElement.element?.src ?? '';\n // Exclude `data:` and `blob:` URLs, since they are not supported by the directive.\n if (imgSrc.startsWith('data:') || imgSrc.startsWith('blob:'))\n return;\n const imgNgSrc = this.images.get(imgSrc);\n if (imgNgSrc && !this.alreadyWarned.has(imgSrc)) {\n this.alreadyWarned.add(imgSrc);\n logMissingPriorityWarning(imgSrc);\n }\n });\n observer.observe({ type: 'largest-contentful-paint', buffered: true });\n return observer;\n }\n registerImage(rewrittenSrc, originalNgSrc) {\n if (!this.observer)\n return;\n this.images.set(getUrl(rewrittenSrc, this.window).href, originalNgSrc);\n }\n unregisterImage(rewrittenSrc) {\n if (!this.observer)\n return;\n this.images.delete(getUrl(rewrittenSrc, this.window).href);\n }\n ngOnDestroy() {\n if (!this.observer)\n return;\n this.observer.disconnect();\n this.images.clear();\n this.alreadyWarned.clear();\n }\n}\nLCPImageObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLCPImageObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: LCPImageObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return []; } });\nfunction logMissingPriorityWarning(ngSrc) {\n const directiveDetails = imgDirectiveDetails(ngSrc);\n console.warn(ɵformatRuntimeError(2955 /* RuntimeErrorCode.LCP_IMG_MISSING_PRIORITY */, `${directiveDetails} this image is the Largest Contentful Paint (LCP) ` +\n `element but was not marked \"priority\". This image should be marked ` +\n `\"priority\" in order to prioritize its loading. ` +\n `To fix this, add the \"priority\" attribute.`));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * When a Base64-encoded image is passed as an input to the `NgOptimizedImage` directive,\n * an error is thrown. The image content (as a string) might be very long, thus making\n * it hard to read an error message if the entire string is included. This const defines\n * the number of characters that should be included into the error message. The rest\n * of the content is truncated.\n */\nconst BASE64_IMG_MAX_LENGTH_IN_ERROR = 50;\n/**\n * RegExpr to determine whether a src in a srcset is using width descriptors.\n * Should match something like: \"100w, 200w\".\n */\nconst VALID_WIDTH_DESCRIPTOR_SRCSET = /^((\\s*\\d+w\\s*(,|$)){1,})$/;\n/**\n * RegExpr to determine whether a src in a srcset is using density descriptors.\n * Should match something like: \"1x, 2x, 50x\". Also supports decimals like \"1.5x, 1.50x\".\n */\nconst VALID_DENSITY_DESCRIPTOR_SRCSET = /^((\\s*\\d+(\\.\\d+)?x\\s*(,|$)){1,})$/;\n/**\n * Srcset values with a density descriptor higher than this value will actively\n * throw an error. Such densities are not permitted as they cause image sizes\n * to be unreasonably large and slow down LCP.\n */\nconst ABSOLUTE_SRCSET_DENSITY_CAP = 3;\n/**\n * Used only in error message text to communicate best practices, as we will\n * only throw based on the slightly more conservative ABSOLUTE_SRCSET_DENSITY_CAP.\n */\nconst RECOMMENDED_SRCSET_DENSITY_CAP = 2;\n/**\n * Used to determine whether two aspect ratios are similar in value.\n */\nconst ASPECT_RATIO_TOLERANCE = .1;\n/**\n * Used to determine whether the image has been requested at an overly\n * large size compared to the actual rendered image size (after taking\n * into account a typical device pixel ratio). In pixels.\n */\nconst OVERSIZED_IMAGE_TOLERANCE = 1000;\n/**\n * Directive that improves image loading performance by enforcing best practices.\n *\n * `NgOptimizedImage` ensures that the loading of the Largest Contentful Paint (LCP) image is\n * prioritized by:\n * - Automatically setting the `fetchpriority` attribute on the `` tag\n * - Lazy loading non-priority images by default\n * - Asserting that there is a corresponding preconnect link tag in the document head\n *\n * In addition, the directive:\n * - Generates appropriate asset URLs if a corresponding `ImageLoader` function is provided\n * - Requires that `width` and `height` are set\n * - Warns if `width` or `height` have been set incorrectly\n * - Warns if the image will be visually distorted when rendered\n *\n * @usageNotes\n * The `NgOptimizedImage` directive is marked as [standalone](guide/standalone-components) and can\n * be imported directly.\n *\n * Follow the steps below to enable and use the directive:\n * 1. Import it into the necessary NgModule or a standalone Component.\n * 2. Optionally provide an `ImageLoader` if you use an image hosting service.\n * 3. Update the necessary `` tags in templates and replace `src` attributes with `ngSrc`.\n * Using a `ngSrc` allows the directive to control when the `src` gets set, which triggers an image\n * download.\n *\n * Step 1: import the `NgOptimizedImage` directive.\n *\n * ```typescript\n * import { NgOptimizedImage } from '@angular/common';\n *\n * // Include it into the necessary NgModule\n * @NgModule({\n * imports: [NgOptimizedImage],\n * })\n * class AppModule {}\n *\n * // ... or a standalone Component\n * @Component({\n * standalone: true\n * imports: [NgOptimizedImage],\n * })\n * class MyStandaloneComponent {}\n * ```\n *\n * Step 2: configure a loader.\n *\n * To use the **default loader**: no additional code changes are necessary. The URL returned by the\n * generic loader will always match the value of \"src\". In other words, this loader applies no\n * transformations to the resource URL and the value of the `ngSrc` attribute will be used as is.\n *\n * To use an existing loader for a **third-party image service**: add the provider factory for your\n * chosen service to the `providers` array. In the example below, the Imgix loader is used:\n *\n * ```typescript\n * import {provideImgixLoader} from '@angular/common';\n *\n * // Call the function and add the result to the `providers` array:\n * providers: [\n * provideImgixLoader(\"https://my.base.url/\"),\n * ],\n * ```\n *\n * The `NgOptimizedImage` directive provides the following functions:\n * - `provideCloudflareLoader`\n * - `provideCloudinaryLoader`\n * - `provideImageKitLoader`\n * - `provideImgixLoader`\n *\n * If you use a different image provider, you can create a custom loader function as described\n * below.\n *\n * To use a **custom loader**: provide your loader function as a value for the `IMAGE_LOADER` DI\n * token.\n *\n * ```typescript\n * import {IMAGE_LOADER, ImageLoaderConfig} from '@angular/common';\n *\n * // Configure the loader using the `IMAGE_LOADER` token.\n * providers: [\n * {\n * provide: IMAGE_LOADER,\n * useValue: (config: ImageLoaderConfig) => {\n * return `https://example.com/${config.src}-${config.width}.jpg}`;\n * }\n * },\n * ],\n * ```\n *\n * Step 3: update `` tags in templates to use `ngSrc` instead of `src`.\n *\n * ```\n * \n * ```\n *\n * @publicApi\n * @developerPreview\n */\nclass NgOptimizedImage {\n constructor() {\n this.imageLoader = inject(IMAGE_LOADER);\n this.renderer = inject(Renderer2);\n this.imgElement = inject(ElementRef).nativeElement;\n this.injector = inject(Injector);\n // a LCP image observer - should be injected only in the dev mode\n this.lcpObserver = ngDevMode ? this.injector.get(LCPImageObserver) : null;\n /**\n * Calculate the rewritten `src` once and store it.\n * This is needed to avoid repetitive calculations and make sure the directive cleanup in the\n * `ngOnDestroy` does not rely on the `IMAGE_LOADER` logic (which in turn can rely on some other\n * instance that might be already destroyed).\n */\n this._renderedSrc = null;\n this._priority = false;\n }\n /**\n * Previously, the `rawSrc` attribute was used to activate the directive.\n * The attribute was renamed to `ngSrc` and this input just produces an error,\n * suggesting to switch to `ngSrc` instead.\n *\n * This error should be removed in v15.\n *\n * @nodoc\n * @deprecated Use `ngSrc` instead.\n */\n set rawSrc(value) {\n if (ngDevMode) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(value, false)} the \\`rawSrc\\` attribute was used ` +\n `to activate the directive. Newer version of the directive uses the \\`ngSrc\\` ` +\n `attribute instead. Please replace \\`rawSrc\\` with \\`ngSrc\\` and ` +\n `\\`rawSrcset\\` with \\`ngSrcset\\` attributes in the template to ` +\n `enable image optimizations.`);\n }\n }\n /**\n * The intrinsic width of the image in pixels.\n */\n set width(value) {\n ngDevMode && assertGreaterThanZero(this, value, 'width');\n this._width = inputToInteger(value);\n }\n get width() {\n return this._width;\n }\n /**\n * The intrinsic height of the image in pixels.\n */\n set height(value) {\n ngDevMode && assertGreaterThanZero(this, value, 'height');\n this._height = inputToInteger(value);\n }\n get height() {\n return this._height;\n }\n /**\n * Indicates whether this image should have a high priority.\n */\n set priority(value) {\n this._priority = inputToBoolean(value);\n }\n get priority() {\n return this._priority;\n }\n ngOnInit() {\n if (ngDevMode) {\n assertNonEmptyInput(this, 'ngSrc', this.ngSrc);\n assertValidNgSrcset(this, this.ngSrcset);\n assertNoConflictingSrc(this);\n assertNoConflictingSrcset(this);\n assertNotBase64Image(this);\n assertNotBlobUrl(this);\n assertNonEmptyWidthAndHeight(this);\n assertValidLoadingInput(this);\n assertNoImageDistortion(this, this.imgElement, this.renderer);\n if (this.priority) {\n const checker = this.injector.get(PreconnectLinkChecker);\n checker.assertPreconnect(this.getRewrittenSrc(), this.ngSrc);\n }\n else {\n // Monitor whether an image is an LCP element only in case\n // the `priority` attribute is missing. Otherwise, an image\n // has the necessary settings and no extra checks are required.\n if (this.lcpObserver !== null) {\n const ngZone = this.injector.get(NgZone);\n ngZone.runOutsideAngular(() => {\n this.lcpObserver.registerImage(this.getRewrittenSrc(), this.ngSrc);\n });\n }\n }\n }\n this.setHostAttributes();\n }\n setHostAttributes() {\n // Must set width/height explicitly in case they are bound (in which case they will\n // only be reflected and not found by the browser)\n this.setHostAttribute('width', this.width.toString());\n this.setHostAttribute('height', this.height.toString());\n this.setHostAttribute('loading', this.getLoadingBehavior());\n this.setHostAttribute('fetchpriority', this.getFetchPriority());\n // The `src` and `srcset` attributes should be set last since other attributes\n // could affect the image's loading behavior.\n this.setHostAttribute('src', this.getRewrittenSrc());\n if (this.ngSrcset) {\n this.setHostAttribute('srcset', this.getRewrittenSrcset());\n }\n }\n ngOnChanges(changes) {\n if (ngDevMode) {\n assertNoPostInitInputChange(this, changes, ['ngSrc', 'ngSrcset', 'width', 'height', 'priority']);\n }\n }\n getLoadingBehavior() {\n if (!this.priority && this.loading !== undefined) {\n return this.loading;\n }\n return this.priority ? 'eager' : 'lazy';\n }\n getFetchPriority() {\n return this.priority ? 'high' : 'auto';\n }\n getRewrittenSrc() {\n // ImageLoaderConfig supports setting a width property. However, we're not setting width here\n // because if the developer uses rendered width instead of intrinsic width in the HTML width\n // attribute, the image requested may be too small for 2x+ screens.\n if (!this._renderedSrc) {\n const imgConfig = { src: this.ngSrc };\n // Cache calculated image src to reuse it later in the code.\n this._renderedSrc = this.imageLoader(imgConfig);\n }\n return this._renderedSrc;\n }\n getRewrittenSrcset() {\n const widthSrcSet = VALID_WIDTH_DESCRIPTOR_SRCSET.test(this.ngSrcset);\n const finalSrcs = this.ngSrcset.split(',').filter(src => src !== '').map(srcStr => {\n srcStr = srcStr.trim();\n const width = widthSrcSet ? parseFloat(srcStr) : parseFloat(srcStr) * this.width;\n return `${this.imageLoader({ src: this.ngSrc, width })} ${srcStr}`;\n });\n return finalSrcs.join(', ');\n }\n ngOnDestroy() {\n if (ngDevMode) {\n if (!this.priority && this._renderedSrc !== null && this.lcpObserver !== null) {\n this.lcpObserver.unregisterImage(this._renderedSrc);\n }\n }\n }\n setHostAttribute(name, value) {\n this.renderer.setAttribute(this.imgElement, name, value);\n }\n}\nNgOptimizedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgOptimizedImage.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.12\", type: NgOptimizedImage, isStandalone: true, selector: \"img[ngSrc],img[rawSrc]\", inputs: { rawSrc: \"rawSrc\", ngSrc: \"ngSrc\", ngSrcset: \"ngSrcset\", width: \"width\", height: \"height\", loading: \"loading\", priority: \"priority\", src: \"src\", srcset: \"srcset\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NgOptimizedImage, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n selector: 'img[ngSrc],img[rawSrc]',\n }]\n }], propDecorators: { rawSrc: [{\n type: Input\n }], ngSrc: [{\n type: Input\n }], ngSrcset: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }], loading: [{\n type: Input\n }], priority: [{\n type: Input\n }], src: [{\n type: Input\n }], srcset: [{\n type: Input\n }] } });\n/***** Helpers *****/\n/**\n * Convert input value to integer.\n */\nfunction inputToInteger(value) {\n return typeof value === 'string' ? parseInt(value, 10) : value;\n}\n/**\n * Convert input value to boolean.\n */\nfunction inputToBoolean(value) {\n return value != null && `${value}` !== 'false';\n}\n/***** Assert functions *****/\n/**\n * Verifies that there is no `src` set on a host element.\n */\nfunction assertNoConflictingSrc(dir) {\n if (dir.src) {\n throw new ɵRuntimeError(2950 /* RuntimeErrorCode.UNEXPECTED_SRC_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \\`src\\` and \\`ngSrc\\` have been set. ` +\n `Supplying both of these attributes breaks lazy loading. ` +\n `The NgOptimizedImage directive sets \\`src\\` itself based on the value of \\`ngSrc\\`. ` +\n `To fix this, please remove the \\`src\\` attribute.`);\n }\n}\n/**\n * Verifies that there is no `srcset` set on a host element.\n */\nfunction assertNoConflictingSrcset(dir) {\n if (dir.srcset) {\n throw new ɵRuntimeError(2951 /* RuntimeErrorCode.UNEXPECTED_SRCSET_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \\`srcset\\` and \\`ngSrcset\\` have been set. ` +\n `Supplying both of these attributes breaks lazy loading. ` +\n `The NgOptimizedImage directive sets \\`srcset\\` itself based on the value of ` +\n `\\`ngSrcset\\`. To fix this, please remove the \\`srcset\\` attribute.`);\n }\n}\n/**\n * Verifies that the `ngSrc` is not a Base64-encoded image.\n */\nfunction assertNotBase64Image(dir) {\n let ngSrc = dir.ngSrc.trim();\n if (ngSrc.startsWith('data:')) {\n if (ngSrc.length > BASE64_IMG_MAX_LENGTH_IN_ERROR) {\n ngSrc = ngSrc.substring(0, BASE64_IMG_MAX_LENGTH_IN_ERROR) + '...';\n }\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \\`ngSrc\\` is a Base64-encoded string ` +\n `(${ngSrc}). NgOptimizedImage does not support Base64-encoded strings. ` +\n `To fix this, disable the NgOptimizedImage directive for this element ` +\n `by removing \\`ngSrc\\` and using a standard \\`src\\` attribute instead.`);\n }\n}\n/**\n * Verifies that the `ngSrc` is not a Blob URL.\n */\nfunction assertNotBlobUrl(dir) {\n const ngSrc = dir.ngSrc.trim();\n if (ngSrc.startsWith('blob:')) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`ngSrc\\` was set to a blob URL (${ngSrc}). ` +\n `Blob URLs are not supported by the NgOptimizedImage directive. ` +\n `To fix this, disable the NgOptimizedImage directive for this element ` +\n `by removing \\`ngSrc\\` and using a regular \\`src\\` attribute instead.`);\n }\n}\n/**\n * Verifies that the input is set to a non-empty string.\n */\nfunction assertNonEmptyInput(dir, name, value) {\n const isString = typeof value === 'string';\n const isEmptyString = isString && value.trim() === '';\n if (!isString || isEmptyString) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`${name}\\` has an invalid value ` +\n `(\\`${value}\\`). To fix this, change the value to a non-empty string.`);\n }\n}\n/**\n * Verifies that the `ngSrcset` is in a valid format, e.g. \"100w, 200w\" or \"1x, 2x\".\n */\nfunction assertValidNgSrcset(dir, value) {\n if (value == null)\n return;\n assertNonEmptyInput(dir, 'ngSrcset', value);\n const stringVal = value;\n const isValidWidthDescriptor = VALID_WIDTH_DESCRIPTOR_SRCSET.test(stringVal);\n const isValidDensityDescriptor = VALID_DENSITY_DESCRIPTOR_SRCSET.test(stringVal);\n if (isValidDensityDescriptor) {\n assertUnderDensityCap(dir, stringVal);\n }\n const isValidSrcset = isValidWidthDescriptor || isValidDensityDescriptor;\n if (!isValidSrcset) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`ngSrcset\\` has an invalid value (\\`${value}\\`). ` +\n `To fix this, supply \\`ngSrcset\\` using a comma-separated list of one or more width ` +\n `descriptors (e.g. \"100w, 200w\") or density descriptors (e.g. \"1x, 2x\").`);\n }\n}\nfunction assertUnderDensityCap(dir, value) {\n const underDensityCap = value.split(',').every(num => num === '' || parseFloat(num) <= ABSOLUTE_SRCSET_DENSITY_CAP);\n if (!underDensityCap) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`ngSrcset\\` contains an unsupported image density:` +\n `\\`${value}\\`. NgOptimizedImage generally recommends a max image density of ` +\n `${RECOMMENDED_SRCSET_DENSITY_CAP}x but supports image densities up to ` +\n `${ABSOLUTE_SRCSET_DENSITY_CAP}x. The human eye cannot distinguish between image densities ` +\n `greater than ${RECOMMENDED_SRCSET_DENSITY_CAP}x - which makes them unnecessary for ` +\n `most use cases. Images that will be pinch-zoomed are typically the primary use case for ` +\n `${ABSOLUTE_SRCSET_DENSITY_CAP}x images. Please remove the high density descriptor and try again.`);\n }\n}\n/**\n * Creates a `RuntimeError` instance to represent a situation when an input is set after\n * the directive has initialized.\n */\nfunction postInitInputChangeError(dir, inputName) {\n return new ɵRuntimeError(2953 /* RuntimeErrorCode.UNEXPECTED_INPUT_CHANGE */, `${imgDirectiveDetails(dir.ngSrc)} \\`${inputName}\\` was updated after initialization. ` +\n `The NgOptimizedImage directive will not react to this input change. ` +\n `To fix this, switch \\`${inputName}\\` a static value or wrap the image element ` +\n `in an *ngIf that is gated on the necessary value.`);\n}\n/**\n * Verify that none of the listed inputs has changed.\n */\nfunction assertNoPostInitInputChange(dir, changes, inputs) {\n inputs.forEach(input => {\n const isUpdated = changes.hasOwnProperty(input);\n if (isUpdated && !changes[input].isFirstChange()) {\n if (input === 'ngSrc') {\n // When the `ngSrc` input changes, we detect that only in the\n // `ngOnChanges` hook, thus the `ngSrc` is already set. We use\n // `ngSrc` in the error message, so we use a previous value, but\n // not the updated one in it.\n dir = { ngSrc: changes[input].previousValue };\n }\n throw postInitInputChangeError(dir, input);\n }\n });\n}\n/**\n * Verifies that a specified input is a number greater than 0.\n */\nfunction assertGreaterThanZero(dir, inputValue, inputName) {\n const validNumber = typeof inputValue === 'number' && inputValue > 0;\n const validString = typeof inputValue === 'string' && /^\\d+$/.test(inputValue.trim()) && parseInt(inputValue) > 0;\n if (!validNumber && !validString) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`${inputName}\\` has an invalid value ` +\n `(\\`${inputValue}\\`). To fix this, provide \\`${inputName}\\` ` +\n `as a number greater than 0.`);\n }\n}\n/**\n * Verifies that the rendered image is not visually distorted. Effectively this is checking:\n * - Whether the \"width\" and \"height\" attributes reflect the actual dimensions of the image.\n * - Whether image styling is \"correct\" (see below for a longer explanation).\n */\nfunction assertNoImageDistortion(dir, img, renderer) {\n const removeListenerFn = renderer.listen(img, 'load', () => {\n removeListenerFn();\n // TODO: `clientWidth`, `clientHeight`, `naturalWidth` and `naturalHeight`\n // are typed as number, but we run `parseFloat` (which accepts strings only).\n // Verify whether `parseFloat` is needed in the cases below.\n const renderedWidth = parseFloat(img.clientWidth);\n const renderedHeight = parseFloat(img.clientHeight);\n const renderedAspectRatio = renderedWidth / renderedHeight;\n const nonZeroRenderedDimensions = renderedWidth !== 0 && renderedHeight !== 0;\n const intrinsicWidth = parseFloat(img.naturalWidth);\n const intrinsicHeight = parseFloat(img.naturalHeight);\n const intrinsicAspectRatio = intrinsicWidth / intrinsicHeight;\n const suppliedWidth = dir.width;\n const suppliedHeight = dir.height;\n const suppliedAspectRatio = suppliedWidth / suppliedHeight;\n // Tolerance is used to account for the impact of subpixel rendering.\n // Due to subpixel rendering, the rendered, intrinsic, and supplied\n // aspect ratios of a correctly configured image may not exactly match.\n // For example, a `width=4030 height=3020` image might have a rendered\n // size of \"1062w, 796.48h\". (An aspect ratio of 1.334... vs. 1.333...)\n const inaccurateDimensions = Math.abs(suppliedAspectRatio - intrinsicAspectRatio) > ASPECT_RATIO_TOLERANCE;\n const stylingDistortion = nonZeroRenderedDimensions &&\n Math.abs(intrinsicAspectRatio - renderedAspectRatio) > ASPECT_RATIO_TOLERANCE;\n if (inaccurateDimensions) {\n console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the image does not match ` +\n `the aspect ratio indicated by the width and height attributes. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +\n `(aspect-ratio: ${intrinsicAspectRatio}). \\nSupplied width and height attributes: ` +\n `${suppliedWidth}w x ${suppliedHeight}h (aspect-ratio: ${suppliedAspectRatio}). ` +\n `\\nTo fix this, update the width and height attributes.`));\n }\n else if (stylingDistortion) {\n console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the rendered image ` +\n `does not match the image's intrinsic aspect ratio. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +\n `(aspect-ratio: ${intrinsicAspectRatio}). \\nRendered image size: ` +\n `${renderedWidth}w x ${renderedHeight}h (aspect-ratio: ` +\n `${renderedAspectRatio}). \\nThis issue can occur if \"width\" and \"height\" ` +\n `attributes are added to an image without updating the corresponding ` +\n `image styling. To fix this, adjust image styling. In most cases, ` +\n `adding \"height: auto\" or \"width: auto\" to the image styling will fix ` +\n `this issue.`));\n }\n else if (!dir.ngSrcset && nonZeroRenderedDimensions) {\n // If `ngSrcset` hasn't been set, sanity check the intrinsic size.\n const recommendedWidth = RECOMMENDED_SRCSET_DENSITY_CAP * renderedWidth;\n const recommendedHeight = RECOMMENDED_SRCSET_DENSITY_CAP * renderedHeight;\n const oversizedWidth = (intrinsicWidth - recommendedWidth) >= OVERSIZED_IMAGE_TOLERANCE;\n const oversizedHeight = (intrinsicHeight - recommendedHeight) >= OVERSIZED_IMAGE_TOLERANCE;\n if (oversizedWidth || oversizedHeight) {\n console.warn(ɵformatRuntimeError(2960 /* RuntimeErrorCode.OVERSIZED_IMAGE */, `${imgDirectiveDetails(dir.ngSrc)} the intrinsic image is significantly ` +\n `larger than necessary. ` +\n `\\nRendered image size: ${renderedWidth}w x ${renderedHeight}h. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h. ` +\n `\\nRecommended intrinsic image size: ${recommendedWidth}w x ${recommendedHeight}h. ` +\n `\\nNote: Recommended intrinsic image size is calculated assuming a maximum DPR of ` +\n `${RECOMMENDED_SRCSET_DENSITY_CAP}. To improve loading time, resize the image ` +\n `or consider using the \"ngSrcset\" and \"sizes\" attributes.`));\n }\n }\n });\n}\n/**\n * Verifies that a specified input is set.\n */\nfunction assertNonEmptyWidthAndHeight(dir) {\n let missingAttributes = [];\n if (dir.width === undefined)\n missingAttributes.push('width');\n if (dir.height === undefined)\n missingAttributes.push('height');\n if (missingAttributes.length > 0) {\n throw new ɵRuntimeError(2954 /* RuntimeErrorCode.REQUIRED_INPUT_MISSING */, `${imgDirectiveDetails(dir.ngSrc)} these required attributes ` +\n `are missing: ${missingAttributes.map(attr => `\"${attr}\"`).join(', ')}. ` +\n `Including \"width\" and \"height\" attributes will prevent image-related layout shifts. ` +\n `To fix this, include \"width\" and \"height\" attributes on the image tag.`);\n }\n}\n/**\n * Verifies that the `loading` attribute is set to a valid input &\n * is not used on priority images.\n */\nfunction assertValidLoadingInput(dir) {\n if (dir.loading && dir.priority) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loading\\` attribute ` +\n `was used on an image that was marked \"priority\". ` +\n `Setting \\`loading\\` on priority images is not allowed ` +\n `because these images will always be eagerly loaded. ` +\n `To fix this, remove the “loading” attribute from the priority image.`);\n }\n const validInputs = ['auto', 'eager', 'lazy'];\n if (typeof dir.loading === 'string' && !validInputs.includes(dir.loading)) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loading\\` attribute ` +\n `has an invalid value (\\`${dir.loading}\\`). ` +\n `To fix this, provide a valid value (\"lazy\", \"eager\", or \"auto\").`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// This file only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { APP_BASE_HREF, AsyncPipe, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_TIMEZONE, DOCUMENT, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, IMAGE_LOADER, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf as NgFor, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgOptimizedImage, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PRECONNECT_CHECK_BLOCKLIST, PathLocationStrategy, PercentPipe, PlatformLocation, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, VERSION, ViewportScroller, WeekDay, XhrFactory, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, provideCloudflareLoader, provideCloudinaryLoader, provideImageKitLoader, provideImgixLoader, registerLocaleData, BrowserPlatformLocation as ɵBrowserPlatformLocation, DomAdapter as ɵDomAdapter, NullViewportScroller as ɵNullViewportScroller, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, getDOM as ɵgetDOM, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };\n","/**\n * @license Angular v14.2.12\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i1 from '@angular/common';\nimport { DOCUMENT, ɵparseCookieValue, XhrFactory as XhrFactory$1 } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken, Inject, PLATFORM_ID, NgModule } from '@angular/core';\nimport { of, Observable } from 'rxjs';\nimport { concatMap, filter, map } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\n * `HttpResponse`.\n *\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\n * `HttpBackend`.\n *\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\n *\n * @publicApi\n */\nclass HttpHandler {\n}\n/**\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\n *\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\n *\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\n * through the interceptor chain.\n *\n * @publicApi\n */\nclass HttpBackend {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents the header configuration options for an HTTP request.\n * Instances are immutable. Modifying methods return a cloned\n * instance with the change. The original object is never changed.\n *\n * @publicApi\n */\nclass HttpHeaders {\n /** Constructs a new HTTP header object with the given values.*/\n constructor(headers) {\n /**\n * Internal map of lowercased header names to the normalized\n * form of the name (the form seen first).\n */\n this.normalizedNames = new Map();\n /**\n * Queued updates to be materialized the next initialization.\n */\n this.lazyUpdate = null;\n if (!headers) {\n this.headers = new Map();\n }\n else if (typeof headers === 'string') {\n this.lazyInit = () => {\n this.headers = new Map();\n headers.split('\\n').forEach(line => {\n const index = line.indexOf(':');\n if (index > 0) {\n const name = line.slice(0, index);\n const key = name.toLowerCase();\n const value = line.slice(index + 1).trim();\n this.maybeSetNormalizedName(name, key);\n if (this.headers.has(key)) {\n this.headers.get(key).push(value);\n }\n else {\n this.headers.set(key, [value]);\n }\n }\n });\n };\n }\n else {\n this.lazyInit = () => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertValidHeaders(headers);\n }\n this.headers = new Map();\n Object.keys(headers).forEach(name => {\n let values = headers[name];\n const key = name.toLowerCase();\n if (typeof values === 'string') {\n values = [values];\n }\n if (values.length > 0) {\n this.headers.set(key, values);\n this.maybeSetNormalizedName(name, key);\n }\n });\n };\n }\n }\n /**\n * Checks for existence of a given header.\n *\n * @param name The header name to check for existence.\n *\n * @returns True if the header exists, false otherwise.\n */\n has(name) {\n this.init();\n return this.headers.has(name.toLowerCase());\n }\n /**\n * Retrieves the first value of a given header.\n *\n * @param name The header name.\n *\n * @returns The value string if the header exists, null otherwise\n */\n get(name) {\n this.init();\n const values = this.headers.get(name.toLowerCase());\n return values && values.length > 0 ? values[0] : null;\n }\n /**\n * Retrieves the names of the headers.\n *\n * @returns A list of header names.\n */\n keys() {\n this.init();\n return Array.from(this.normalizedNames.values());\n }\n /**\n * Retrieves a list of values for a given header.\n *\n * @param name The header name from which to retrieve values.\n *\n * @returns A string of values if the header exists, null otherwise.\n */\n getAll(name) {\n this.init();\n return this.headers.get(name.toLowerCase()) || null;\n }\n /**\n * Appends a new value to the existing set of values for a header\n * and returns them in a clone of the original instance.\n *\n * @param name The header name for which to append the values.\n * @param value The value to append.\n *\n * @returns A clone of the HTTP headers object with the value appended to the given header.\n */\n append(name, value) {\n return this.clone({ name, value, op: 'a' });\n }\n /**\n * Sets or modifies a value for a given header in a clone of the original instance.\n * If the header already exists, its value is replaced with the given value\n * in the returned object.\n *\n * @param name The header name.\n * @param value The value or values to set or override for the given header.\n *\n * @returns A clone of the HTTP headers object with the newly set header value.\n */\n set(name, value) {\n return this.clone({ name, value, op: 's' });\n }\n /**\n * Deletes values for a given header in a clone of the original instance.\n *\n * @param name The header name.\n * @param value The value or values to delete for the given header.\n *\n * @returns A clone of the HTTP headers object with the given value deleted.\n */\n delete(name, value) {\n return this.clone({ name, value, op: 'd' });\n }\n maybeSetNormalizedName(name, lcName) {\n if (!this.normalizedNames.has(lcName)) {\n this.normalizedNames.set(lcName, name);\n }\n }\n init() {\n if (!!this.lazyInit) {\n if (this.lazyInit instanceof HttpHeaders) {\n this.copyFrom(this.lazyInit);\n }\n else {\n this.lazyInit();\n }\n this.lazyInit = null;\n if (!!this.lazyUpdate) {\n this.lazyUpdate.forEach(update => this.applyUpdate(update));\n this.lazyUpdate = null;\n }\n }\n }\n copyFrom(other) {\n other.init();\n Array.from(other.headers.keys()).forEach(key => {\n this.headers.set(key, other.headers.get(key));\n this.normalizedNames.set(key, other.normalizedNames.get(key));\n });\n }\n clone(update) {\n const clone = new HttpHeaders();\n clone.lazyInit =\n (!!this.lazyInit && this.lazyInit instanceof HttpHeaders) ? this.lazyInit : this;\n clone.lazyUpdate = (this.lazyUpdate || []).concat([update]);\n return clone;\n }\n applyUpdate(update) {\n const key = update.name.toLowerCase();\n switch (update.op) {\n case 'a':\n case 's':\n let value = update.value;\n if (typeof value === 'string') {\n value = [value];\n }\n if (value.length === 0) {\n return;\n }\n this.maybeSetNormalizedName(update.name, key);\n const base = (update.op === 'a' ? this.headers.get(key) : undefined) || [];\n base.push(...value);\n this.headers.set(key, base);\n break;\n case 'd':\n const toDelete = update.value;\n if (!toDelete) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n let existing = this.headers.get(key);\n if (!existing) {\n return;\n }\n existing = existing.filter(value => toDelete.indexOf(value) === -1);\n if (existing.length === 0) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n this.headers.set(key, existing);\n }\n }\n break;\n }\n }\n /**\n * @internal\n */\n forEach(fn) {\n this.init();\n Array.from(this.normalizedNames.keys())\n .forEach(key => fn(this.normalizedNames.get(key), this.headers.get(key)));\n }\n}\n/**\n * Verifies that the headers object has the right shape: the values\n * must be either strings or arrays. Throws an error if an invalid\n * header value is present.\n */\nfunction assertValidHeaders(headers) {\n for (const [key, value] of Object.entries(headers)) {\n if (typeof value !== 'string' && !Array.isArray(value)) {\n throw new Error(`Unexpected value of the \\`${key}\\` header provided. ` +\n `Expecting either a string or an array, but got: \\`${value}\\`.`);\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provides encoding and decoding of URL parameter and query-string values.\n *\n * Serializes and parses URL parameter keys and values to encode and decode them.\n * If you pass URL query parameters without encoding,\n * the query parameters can be misinterpreted at the receiving end.\n *\n *\n * @publicApi\n */\nclass HttpUrlEncodingCodec {\n /**\n * Encodes a key name for a URL parameter or query-string.\n * @param key The key name.\n * @returns The encoded key name.\n */\n encodeKey(key) {\n return standardEncoding(key);\n }\n /**\n * Encodes the value of a URL parameter or query-string.\n * @param value The value.\n * @returns The encoded value.\n */\n encodeValue(value) {\n return standardEncoding(value);\n }\n /**\n * Decodes an encoded URL parameter or query-string key.\n * @param key The encoded key name.\n * @returns The decoded key name.\n */\n decodeKey(key) {\n return decodeURIComponent(key);\n }\n /**\n * Decodes an encoded URL parameter or query-string value.\n * @param value The encoded value.\n * @returns The decoded value.\n */\n decodeValue(value) {\n return decodeURIComponent(value);\n }\n}\nfunction paramParser(rawParams, codec) {\n const map = new Map();\n if (rawParams.length > 0) {\n // The `window.location.search` can be used while creating an instance of the `HttpParams` class\n // (e.g. `new HttpParams({ fromString: window.location.search })`). The `window.location.search`\n // may start with the `?` char, so we strip it if it's present.\n const params = rawParams.replace(/^\\?/, '').split('&');\n params.forEach((param) => {\n const eqIdx = param.indexOf('=');\n const [key, val] = eqIdx == -1 ?\n [codec.decodeKey(param), ''] :\n [codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))];\n const list = map.get(key) || [];\n list.push(val);\n map.set(key, list);\n });\n }\n return map;\n}\n/**\n * Encode input string with standard encodeURIComponent and then un-encode specific characters.\n */\nconst STANDARD_ENCODING_REGEX = /%(\\d[a-f0-9])/gi;\nconst STANDARD_ENCODING_REPLACEMENTS = {\n '40': '@',\n '3A': ':',\n '24': '$',\n '2C': ',',\n '3B': ';',\n '3D': '=',\n '3F': '?',\n '2F': '/',\n};\nfunction standardEncoding(v) {\n return encodeURIComponent(v).replace(STANDARD_ENCODING_REGEX, (s, t) => STANDARD_ENCODING_REPLACEMENTS[t] ?? s);\n}\nfunction valueToString(value) {\n return `${value}`;\n}\n/**\n * An HTTP request/response body that represents serialized parameters,\n * per the MIME type `application/x-www-form-urlencoded`.\n *\n * This class is immutable; all mutation operations return a new instance.\n *\n * @publicApi\n */\nclass HttpParams {\n constructor(options = {}) {\n this.updates = null;\n this.cloneFrom = null;\n this.encoder = options.encoder || new HttpUrlEncodingCodec();\n if (!!options.fromString) {\n if (!!options.fromObject) {\n throw new Error(`Cannot specify both fromString and fromObject.`);\n }\n this.map = paramParser(options.fromString, this.encoder);\n }\n else if (!!options.fromObject) {\n this.map = new Map();\n Object.keys(options.fromObject).forEach(key => {\n const value = options.fromObject[key];\n // convert the values to strings\n const values = Array.isArray(value) ? value.map(valueToString) : [valueToString(value)];\n this.map.set(key, values);\n });\n }\n else {\n this.map = null;\n }\n }\n /**\n * Reports whether the body includes one or more values for a given parameter.\n * @param param The parameter name.\n * @returns True if the parameter has one or more values,\n * false if it has no value or is not present.\n */\n has(param) {\n this.init();\n return this.map.has(param);\n }\n /**\n * Retrieves the first value for a parameter.\n * @param param The parameter name.\n * @returns The first value of the given parameter,\n * or `null` if the parameter is not present.\n */\n get(param) {\n this.init();\n const res = this.map.get(param);\n return !!res ? res[0] : null;\n }\n /**\n * Retrieves all values for a parameter.\n * @param param The parameter name.\n * @returns All values in a string array,\n * or `null` if the parameter not present.\n */\n getAll(param) {\n this.init();\n return this.map.get(param) || null;\n }\n /**\n * Retrieves all the parameters for this body.\n * @returns The parameter names in a string array.\n */\n keys() {\n this.init();\n return Array.from(this.map.keys());\n }\n /**\n * Appends a new value to existing values for a parameter.\n * @param param The parameter name.\n * @param value The new value to add.\n * @return A new body with the appended value.\n */\n append(param, value) {\n return this.clone({ param, value, op: 'a' });\n }\n /**\n * Constructs a new body with appended values for the given parameter name.\n * @param params parameters and values\n * @return A new body with the new value.\n */\n appendAll(params) {\n const updates = [];\n Object.keys(params).forEach(param => {\n const value = params[param];\n if (Array.isArray(value)) {\n value.forEach(_value => {\n updates.push({ param, value: _value, op: 'a' });\n });\n }\n else {\n updates.push({ param, value: value, op: 'a' });\n }\n });\n return this.clone(updates);\n }\n /**\n * Replaces the value for a parameter.\n * @param param The parameter name.\n * @param value The new value.\n * @return A new body with the new value.\n */\n set(param, value) {\n return this.clone({ param, value, op: 's' });\n }\n /**\n * Removes a given value or all values from a parameter.\n * @param param The parameter name.\n * @param value The value to remove, if provided.\n * @return A new body with the given value removed, or with all values\n * removed if no value is specified.\n */\n delete(param, value) {\n return this.clone({ param, value, op: 'd' });\n }\n /**\n * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\n * separated by `&`s.\n */\n toString() {\n this.init();\n return this.keys()\n .map(key => {\n const eKey = this.encoder.encodeKey(key);\n // `a: ['1']` produces `'a=1'`\n // `b: []` produces `''`\n // `c: ['1', '2']` produces `'c=1&c=2'`\n return this.map.get(key).map(value => eKey + '=' + this.encoder.encodeValue(value))\n .join('&');\n })\n // filter out empty values because `b: []` produces `''`\n // which results in `a=1&&c=1&c=2` instead of `a=1&c=1&c=2` if we don't\n .filter(param => param !== '')\n .join('&');\n }\n clone(update) {\n const clone = new HttpParams({ encoder: this.encoder });\n clone.cloneFrom = this.cloneFrom || this;\n clone.updates = (this.updates || []).concat(update);\n return clone;\n }\n init() {\n if (this.map === null) {\n this.map = new Map();\n }\n if (this.cloneFrom !== null) {\n this.cloneFrom.init();\n this.cloneFrom.keys().forEach(key => this.map.set(key, this.cloneFrom.map.get(key)));\n this.updates.forEach(update => {\n switch (update.op) {\n case 'a':\n case 's':\n const base = (update.op === 'a' ? this.map.get(update.param) : undefined) || [];\n base.push(valueToString(update.value));\n this.map.set(update.param, base);\n break;\n case 'd':\n if (update.value !== undefined) {\n let base = this.map.get(update.param) || [];\n const idx = base.indexOf(valueToString(update.value));\n if (idx !== -1) {\n base.splice(idx, 1);\n }\n if (base.length > 0) {\n this.map.set(update.param, base);\n }\n else {\n this.map.delete(update.param);\n }\n }\n else {\n this.map.delete(update.param);\n break;\n }\n }\n });\n this.cloneFrom = this.updates = null;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A token used to manipulate and access values stored in `HttpContext`.\n *\n * @publicApi\n */\nclass HttpContextToken {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n }\n}\n/**\n * Http context stores arbitrary user defined values and ensures type safety without\n * actually knowing the types. It is backed by a `Map` and guarantees that keys do not clash.\n *\n * This context is mutable and is shared between cloned requests unless explicitly specified.\n *\n * @usageNotes\n *\n * ### Usage Example\n *\n * ```typescript\n * // inside cache.interceptors.ts\n * export const IS_CACHE_ENABLED = new HttpContextToken(() => false);\n *\n * export class CacheInterceptor implements HttpInterceptor {\n *\n * intercept(req: HttpRequest, delegate: HttpHandler): Observable> {\n * if (req.context.get(IS_CACHE_ENABLED) === true) {\n * return ...;\n * }\n * return delegate.handle(req);\n * }\n * }\n *\n * // inside a service\n *\n * this.httpClient.get('/api/weather', {\n * context: new HttpContext().set(IS_CACHE_ENABLED, true)\n * }).subscribe(...);\n * ```\n *\n * @publicApi\n */\nclass HttpContext {\n constructor() {\n this.map = new Map();\n }\n /**\n * Store a value in the context. If a value is already present it will be overwritten.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n * @param value The value to store.\n *\n * @returns A reference to itself for easy chaining.\n */\n set(token, value) {\n this.map.set(token, value);\n return this;\n }\n /**\n * Retrieve the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns The stored value or default if one is defined.\n */\n get(token) {\n if (!this.map.has(token)) {\n this.map.set(token, token.defaultValue());\n }\n return this.map.get(token);\n }\n /**\n * Delete the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns A reference to itself for easy chaining.\n */\n delete(token) {\n this.map.delete(token);\n return this;\n }\n /**\n * Checks for existence of a given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns True if the token exists, false otherwise.\n */\n has(token) {\n return this.map.has(token);\n }\n /**\n * @returns a list of tokens currently stored in the context.\n */\n keys() {\n return this.map.keys();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Determine whether the given HTTP method may include a body.\n */\nfunction mightHaveBody(method) {\n switch (method) {\n case 'DELETE':\n case 'GET':\n case 'HEAD':\n case 'OPTIONS':\n case 'JSONP':\n return false;\n default:\n return true;\n }\n}\n/**\n * Safely assert whether the given value is an ArrayBuffer.\n *\n * In some execution environments ArrayBuffer is not defined.\n */\nfunction isArrayBuffer(value) {\n return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;\n}\n/**\n * Safely assert whether the given value is a Blob.\n *\n * In some execution environments Blob is not defined.\n */\nfunction isBlob(value) {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n/**\n * Safely assert whether the given value is a FormData instance.\n *\n * In some execution environments FormData is not defined.\n */\nfunction isFormData(value) {\n return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n/**\n * Safely assert whether the given value is a URLSearchParams instance.\n *\n * In some execution environments URLSearchParams is not defined.\n */\nfunction isUrlSearchParams(value) {\n return typeof URLSearchParams !== 'undefined' && value instanceof URLSearchParams;\n}\n/**\n * An outgoing HTTP request with an optional typed body.\n *\n * `HttpRequest` represents an outgoing request, including URL, method,\n * headers, body, and other request configuration options. Instances should be\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\n * method should be used.\n *\n * @publicApi\n */\nclass HttpRequest {\n constructor(method, url, third, fourth) {\n this.url = url;\n /**\n * The request body, or `null` if one isn't set.\n *\n * Bodies are not enforced to be immutable, as they can include a reference to any\n * user-defined data type. However, interceptors should take care to preserve\n * idempotence by treating them as such.\n */\n this.body = null;\n /**\n * Whether this request should be made in a way that exposes progress events.\n *\n * Progress events are expensive (change detection runs on each event) and so\n * they should only be requested if the consumer intends to monitor them.\n */\n this.reportProgress = false;\n /**\n * Whether this request should be sent with outgoing credentials (cookies).\n */\n this.withCredentials = false;\n /**\n * The expected response type of the server.\n *\n * This is used to parse the response appropriately before returning it to\n * the requestee.\n */\n this.responseType = 'json';\n this.method = method.toUpperCase();\n // Next, need to figure out which argument holds the HttpRequestInit\n // options, if any.\n let options;\n // Check whether a body argument is expected. The only valid way to omit\n // the body argument is to use a known no-body method like GET.\n if (mightHaveBody(this.method) || !!fourth) {\n // Body is the third argument, options are the fourth.\n this.body = (third !== undefined) ? third : null;\n options = fourth;\n }\n else {\n // No body required, options are the third argument. The body stays null.\n options = third;\n }\n // If options have been passed, interpret them.\n if (options) {\n // Normalize reportProgress and withCredentials.\n this.reportProgress = !!options.reportProgress;\n this.withCredentials = !!options.withCredentials;\n // Override default response type of 'json' if one is provided.\n if (!!options.responseType) {\n this.responseType = options.responseType;\n }\n // Override headers if they're provided.\n if (!!options.headers) {\n this.headers = options.headers;\n }\n if (!!options.context) {\n this.context = options.context;\n }\n if (!!options.params) {\n this.params = options.params;\n }\n }\n // If no headers have been passed in, construct a new HttpHeaders instance.\n if (!this.headers) {\n this.headers = new HttpHeaders();\n }\n // If no context have been passed in, construct a new HttpContext instance.\n if (!this.context) {\n this.context = new HttpContext();\n }\n // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.\n if (!this.params) {\n this.params = new HttpParams();\n this.urlWithParams = url;\n }\n else {\n // Encode the parameters to a string in preparation for inclusion in the URL.\n const params = this.params.toString();\n if (params.length === 0) {\n // No parameters, the visible URL is just the URL given at creation time.\n this.urlWithParams = url;\n }\n else {\n // Does the URL already have query parameters? Look for '?'.\n const qIdx = url.indexOf('?');\n // There are 3 cases to handle:\n // 1) No existing parameters -> append '?' followed by params.\n // 2) '?' exists and is followed by existing query string ->\n // append '&' followed by params.\n // 3) '?' exists at the end of the url -> append params directly.\n // This basically amounts to determining the character, if any, with\n // which to join the URL and parameters.\n const sep = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : '');\n this.urlWithParams = url + sep + params;\n }\n }\n }\n /**\n * Transform the free-form body into a serialized format suitable for\n * transmission to the server.\n */\n serializeBody() {\n // If no body is present, no need to serialize it.\n if (this.body === null) {\n return null;\n }\n // Check whether the body is already in a serialized form. If so,\n // it can just be returned directly.\n if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) ||\n isUrlSearchParams(this.body) || typeof this.body === 'string') {\n return this.body;\n }\n // Check whether the body is an instance of HttpUrlEncodedParams.\n if (this.body instanceof HttpParams) {\n return this.body.toString();\n }\n // Check whether the body is an object or array, and serialize with JSON if so.\n if (typeof this.body === 'object' || typeof this.body === 'boolean' ||\n Array.isArray(this.body)) {\n return JSON.stringify(this.body);\n }\n // Fall back on toString() for everything else.\n return this.body.toString();\n }\n /**\n * Examine the body and attempt to infer an appropriate MIME type\n * for it.\n *\n * If no such type can be inferred, this method will return `null`.\n */\n detectContentTypeHeader() {\n // An empty body has no content type.\n if (this.body === null) {\n return null;\n }\n // FormData bodies rely on the browser's content type assignment.\n if (isFormData(this.body)) {\n return null;\n }\n // Blobs usually have their own content type. If it doesn't, then\n // no type can be inferred.\n if (isBlob(this.body)) {\n return this.body.type || null;\n }\n // Array buffers have unknown contents and thus no type can be inferred.\n if (isArrayBuffer(this.body)) {\n return null;\n }\n // Technically, strings could be a form of JSON data, but it's safe enough\n // to assume they're plain strings.\n if (typeof this.body === 'string') {\n return 'text/plain';\n }\n // `HttpUrlEncodedParams` has its own content-type.\n if (this.body instanceof HttpParams) {\n return 'application/x-www-form-urlencoded;charset=UTF-8';\n }\n // Arrays, objects, boolean and numbers will be encoded as JSON.\n if (typeof this.body === 'object' || typeof this.body === 'number' ||\n typeof this.body === 'boolean') {\n return 'application/json';\n }\n // No type could be inferred.\n return null;\n }\n clone(update = {}) {\n // For method, url, and responseType, take the current value unless\n // it is overridden in the update hash.\n const method = update.method || this.method;\n const url = update.url || this.url;\n const responseType = update.responseType || this.responseType;\n // The body is somewhat special - a `null` value in update.body means\n // whatever current body is present is being overridden with an empty\n // body, whereas an `undefined` value in update.body implies no\n // override.\n const body = (update.body !== undefined) ? update.body : this.body;\n // Carefully handle the boolean options to differentiate between\n // `false` and `undefined` in the update args.\n const withCredentials = (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials;\n const reportProgress = (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress;\n // Headers and params may be appended to if `setHeaders` or\n // `setParams` are used.\n let headers = update.headers || this.headers;\n let params = update.params || this.params;\n // Pass on context if needed\n const context = update.context ?? this.context;\n // Check whether the caller has asked to add headers.\n if (update.setHeaders !== undefined) {\n // Set every requested header.\n headers =\n Object.keys(update.setHeaders)\n .reduce((headers, name) => headers.set(name, update.setHeaders[name]), headers);\n }\n // Check whether the caller has asked to set params.\n if (update.setParams) {\n // Set every requested param.\n params = Object.keys(update.setParams)\n .reduce((params, param) => params.set(param, update.setParams[param]), params);\n }\n // Finally, construct the new HttpRequest using the pieces from above.\n return new HttpRequest(method, url, body, {\n params,\n headers,\n context,\n reportProgress,\n responseType,\n withCredentials,\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Type enumeration for the different kinds of `HttpEvent`.\n *\n * @publicApi\n */\nvar HttpEventType;\n(function (HttpEventType) {\n /**\n * The request was sent out over the wire.\n */\n HttpEventType[HttpEventType[\"Sent\"] = 0] = \"Sent\";\n /**\n * An upload progress event was received.\n */\n HttpEventType[HttpEventType[\"UploadProgress\"] = 1] = \"UploadProgress\";\n /**\n * The response status code and headers were received.\n */\n HttpEventType[HttpEventType[\"ResponseHeader\"] = 2] = \"ResponseHeader\";\n /**\n * A download progress event was received.\n */\n HttpEventType[HttpEventType[\"DownloadProgress\"] = 3] = \"DownloadProgress\";\n /**\n * The full response including the body was received.\n */\n HttpEventType[HttpEventType[\"Response\"] = 4] = \"Response\";\n /**\n * A custom event from an interceptor or a backend.\n */\n HttpEventType[HttpEventType[\"User\"] = 5] = \"User\";\n})(HttpEventType || (HttpEventType = {}));\n/**\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\n *\n * @publicApi\n */\nclass HttpResponseBase {\n /**\n * Super-constructor for all responses.\n *\n * The single parameter accepted is an initialization hash. Any properties\n * of the response passed there will override the default values.\n */\n constructor(init, defaultStatus = 200 /* HttpStatusCode.Ok */, defaultStatusText = 'OK') {\n // If the hash has values passed, use them to initialize the response.\n // Otherwise use the default values.\n this.headers = init.headers || new HttpHeaders();\n this.status = init.status !== undefined ? init.status : defaultStatus;\n this.statusText = init.statusText || defaultStatusText;\n this.url = init.url || null;\n // Cache the ok value to avoid defining a getter.\n this.ok = this.status >= 200 && this.status < 300;\n }\n}\n/**\n * A partial HTTP response which only includes the status and header data,\n * but no response body.\n *\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\n * event stream, only when progress events are requested.\n *\n * @publicApi\n */\nclass HttpHeaderResponse extends HttpResponseBase {\n /**\n * Create a new `HttpHeaderResponse` with the given parameters.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.ResponseHeader;\n }\n /**\n * Copy this `HttpHeaderResponse`, overriding its contents with the\n * given parameter hash.\n */\n clone(update = {}) {\n // Perform a straightforward initialization of the new HttpHeaderResponse,\n // overriding the current parameters with new ones if given.\n return new HttpHeaderResponse({\n headers: update.headers || this.headers,\n status: update.status !== undefined ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A full HTTP response, including a typed response body (which may be `null`\n * if one was not returned).\n *\n * `HttpResponse` is a `HttpEvent` available on the response event\n * stream.\n *\n * @publicApi\n */\nclass HttpResponse extends HttpResponseBase {\n /**\n * Construct a new `HttpResponse`.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.Response;\n this.body = init.body !== undefined ? init.body : null;\n }\n clone(update = {}) {\n return new HttpResponse({\n body: (update.body !== undefined) ? update.body : this.body,\n headers: update.headers || this.headers,\n status: (update.status !== undefined) ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A response that represents an error or failure, either from a\n * non-successful HTTP status, an error while executing the request,\n * or some other failure which occurred during the parsing of the response.\n *\n * Any error returned on the `Observable` response stream will be\n * wrapped in an `HttpErrorResponse` to provide additional context about\n * the state of the HTTP layer when the error occurred. The error property\n * will contain either a wrapped Error object or the error response returned\n * from the server.\n *\n * @publicApi\n */\nclass HttpErrorResponse extends HttpResponseBase {\n constructor(init) {\n // Initialize with a default status of 0 / Unknown Error.\n super(init, 0, 'Unknown Error');\n this.name = 'HttpErrorResponse';\n /**\n * Errors are never okay, even when the status code is in the 2xx success range.\n */\n this.ok = false;\n // If the response was successful, then this was a parse error. Otherwise, it was\n // a protocol-level failure of some sort. Either the request failed in transit\n // or the server returned an unsuccessful status code.\n if (this.status >= 200 && this.status < 300) {\n this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;\n }\n else {\n this.message = `Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${init.statusText}`;\n }\n this.error = init.error || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Constructs an instance of `HttpRequestOptions` from a source `HttpMethodOptions` and\n * the given `body`. This function clones the object and adds the body.\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n *\n */\nfunction addBody(options, body) {\n return {\n body,\n headers: options.headers,\n context: options.context,\n observe: options.observe,\n params: options.params,\n reportProgress: options.reportProgress,\n responseType: options.responseType,\n withCredentials: options.withCredentials,\n };\n}\n/**\n * Performs HTTP requests.\n * This service is available as an injectable class, with methods to perform HTTP requests.\n * Each request method has multiple signatures, and the return type varies based on\n * the signature that is called (mainly the values of `observe` and `responseType`).\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n\n *\n * @usageNotes\n * Sample HTTP requests for the [Tour of Heroes](/tutorial/toh-pt0) application.\n *\n * ### HTTP Request Example\n *\n * ```\n * // GET heroes whose name contains search term\n * searchHeroes(term: string): observable{\n *\n * const params = new HttpParams({fromString: 'name=term'});\n * return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\n * }\n * ```\n *\n * Alternatively, the parameter string can be used without invoking HttpParams\n * by directly joining to the URL.\n * ```\n * this.httpClient.request('GET', this.heroesUrl + '?' + 'name=term', {responseType:'json'});\n * ```\n *\n *\n * ### JSONP Example\n * ```\n * requestJsonp(url, callback = 'callback') {\n * return this.httpClient.jsonp(this.heroesURL, callback);\n * }\n * ```\n *\n * ### PATCH Example\n * ```\n * // PATCH one of the heroes' name\n * patchHero (id: number, heroName: string): Observable<{}> {\n * const url = `${this.heroesUrl}/${id}`; // PATCH api/heroes/42\n * return this.httpClient.patch(url, {name: heroName}, httpOptions)\n * .pipe(catchError(this.handleError('patchHero')));\n * }\n * ```\n *\n * @see [HTTP Guide](guide/http)\n * @see [HTTP Request](api/common/http/HttpRequest)\n *\n * @publicApi\n */\nclass HttpClient {\n constructor(handler) {\n this.handler = handler;\n }\n /**\n * Constructs an observable for a generic HTTP request that, when subscribed,\n * fires the request through the chain of registered interceptors and on to the\n * server.\n *\n * You can pass an `HttpRequest` directly as the only parameter. In this case,\n * the call returns an observable of the raw `HttpEvent` stream.\n *\n * Alternatively you can pass an HTTP method as the first parameter,\n * a URL string as the second, and an options hash containing the request body as the third.\n * See `addBody()`. In this case, the specified `responseType` and `observe` options determine the\n * type of returned observable.\n * * The `responseType` value determines how a successful response body is parsed.\n * * If `responseType` is the default `json`, you can pass a type interface for the resulting\n * object as a type parameter to the call.\n *\n * The `observe` value determines the return type, according to what you are interested in\n * observing.\n * * An `observe` value of events returns an observable of the raw `HttpEvent` stream, including\n * progress events by default.\n * * An `observe` value of response returns an observable of `HttpResponse`,\n * where the `T` parameter depends on the `responseType` and any optionally provided type\n * parameter.\n * * An `observe` value of body returns an observable of `` with the same `T` body type.\n *\n */\n request(first, url, options = {}) {\n let req;\n // First, check whether the primary argument is an instance of `HttpRequest`.\n if (first instanceof HttpRequest) {\n // It is. The other arguments must be undefined (per the signatures) and can be\n // ignored.\n req = first;\n }\n else {\n // It's a string, so it represents a URL. Construct a request based on it,\n // and incorporate the remaining arguments (assuming `GET` unless a method is\n // provided.\n // Figure out the headers.\n let headers = undefined;\n if (options.headers instanceof HttpHeaders) {\n headers = options.headers;\n }\n else {\n headers = new HttpHeaders(options.headers);\n }\n // Sort out parameters.\n let params = undefined;\n if (!!options.params) {\n if (options.params instanceof HttpParams) {\n params = options.params;\n }\n else {\n params = new HttpParams({ fromObject: options.params });\n }\n }\n // Construct the request.\n req = new HttpRequest(first, url, (options.body !== undefined ? options.body : null), {\n headers,\n context: options.context,\n params,\n reportProgress: options.reportProgress,\n // By default, JSON is assumed to be returned for all calls.\n responseType: options.responseType || 'json',\n withCredentials: options.withCredentials,\n });\n }\n // Start with an Observable.of() the initial request, and run the handler (which\n // includes all interceptors) inside a concatMap(). This way, the handler runs\n // inside an Observable chain, which causes interceptors to be re-run on every\n // subscription (this also makes retries re-run the handler, including interceptors).\n const events$ = of(req).pipe(concatMap((req) => this.handler.handle(req)));\n // If coming via the API signature which accepts a previously constructed HttpRequest,\n // the only option is to get the event stream. Otherwise, return the event stream if\n // that is what was requested.\n if (first instanceof HttpRequest || options.observe === 'events') {\n return events$;\n }\n // The requested stream contains either the full response or the body. In either\n // case, the first step is to filter the event stream to extract a stream of\n // responses(s).\n const res$ = events$.pipe(filter((event) => event instanceof HttpResponse));\n // Decide which stream to return.\n switch (options.observe || 'body') {\n case 'body':\n // The requested stream is the body. Map the response stream to the response\n // body. This could be done more simply, but a misbehaving interceptor might\n // transform the response body into a different format and ignore the requested\n // responseType. Guard against this by validating that the response is of the\n // requested type.\n switch (req.responseType) {\n case 'arraybuffer':\n return res$.pipe(map((res) => {\n // Validate that the body is an ArrayBuffer.\n if (res.body !== null && !(res.body instanceof ArrayBuffer)) {\n throw new Error('Response is not an ArrayBuffer.');\n }\n return res.body;\n }));\n case 'blob':\n return res$.pipe(map((res) => {\n // Validate that the body is a Blob.\n if (res.body !== null && !(res.body instanceof Blob)) {\n throw new Error('Response is not a Blob.');\n }\n return res.body;\n }));\n case 'text':\n return res$.pipe(map((res) => {\n // Validate that the body is a string.\n if (res.body !== null && typeof res.body !== 'string') {\n throw new Error('Response is not a string.');\n }\n return res.body;\n }));\n case 'json':\n default:\n // No validation needed for JSON responses, as they can be of any type.\n return res$.pipe(map((res) => res.body));\n }\n case 'response':\n // The response stream was requested directly, so return it.\n return res$;\n default:\n // Guard against new future observe types being added.\n throw new Error(`Unreachable: unhandled observe type ${options.observe}}`);\n }\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `DELETE` request to execute on the server. See the individual overloads for\n * details on the return type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n */\n delete(url, options = {}) {\n return this.request('DELETE', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `GET` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n get(url, options = {}) {\n return this.request('GET', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `HEAD` request to execute on the server. The `HEAD` method returns\n * meta information about the resource without transferring the\n * resource itself. See the individual overloads for\n * details on the return type.\n */\n head(url, options = {}) {\n return this.request('HEAD', url, options);\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes a request with the special method\n * `JSONP` to be dispatched via the interceptor pipeline.\n * The [JSONP pattern](https://en.wikipedia.org/wiki/JSONP) works around limitations of certain\n * API endpoints that don't support newer,\n * and preferable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) protocol.\n * JSONP treats the endpoint API as a JavaScript file and tricks the browser to process the\n * requests even if the API endpoint is not located on the same domain (origin) as the client-side\n * application making the request.\n * The endpoint API must support JSONP callback for JSONP requests to work.\n * The resource API returns the JSON response wrapped in a callback function.\n * You can pass the callback function name as one of the query parameters.\n * Note that JSONP requests can only be used with `GET` requests.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n */\n jsonp(url, callbackParam) {\n return this.request('JSONP', url, {\n params: new HttpParams().append(callbackParam, 'JSONP_CALLBACK'),\n observe: 'body',\n responseType: 'json',\n });\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes the configured\n * `OPTIONS` request to execute on the server. This method allows the client\n * to determine the supported HTTP methods and other capabilities of an endpoint,\n * without implying a resource action. See the individual overloads for\n * details on the return type.\n */\n options(url, options = {}) {\n return this.request('OPTIONS', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PATCH` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n patch(url, body, options = {}) {\n return this.request('PATCH', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `POST` request to execute on the server. The server responds with the location of\n * the replaced resource. See the individual overloads for\n * details on the return type.\n */\n post(url, body, options = {}) {\n return this.request('POST', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PUT` request to execute on the server. The `PUT` method replaces an existing resource\n * with a new set of values.\n * See the individual overloads for details on the return type.\n */\n put(url, body, options = {}) {\n return this.request('PUT', url, addBody(options, body));\n }\n}\nHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: HttpClient, deps: [{ token: HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });\nHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: HttpClient });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: HttpClient, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: HttpHandler }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * `HttpHandler` which applies an `HttpInterceptor` to an `HttpRequest`.\n *\n *\n */\nclass HttpInterceptorHandler {\n constructor(next, interceptor) {\n this.next = next;\n this.interceptor = interceptor;\n }\n handle(req) {\n return this.interceptor.intercept(req, this.next);\n }\n}\n/**\n * A multi-provider token that represents the array of registered\n * `HttpInterceptor` objects.\n *\n * @publicApi\n */\nconst HTTP_INTERCEPTORS = new InjectionToken('HTTP_INTERCEPTORS');\nclass NoopInterceptor {\n intercept(req, next) {\n return next.handle(req);\n }\n}\nNoopInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NoopInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NoopInterceptor });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.12\", ngImport: i0, type: NoopInterceptor, decorators: [{\n type: Injectable\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Every request made through JSONP needs a callback name that's unique across the\n// whole page. Each request is assigned an id and the callback name is constructed\n// from that. The next id to be assigned is tracked in a global variable here that\n// is shared among all applications on the page.\nlet nextRequestId = 0;\n/**\n * When a pending